把本地会话整理成可回链的周报与成长复盘
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Hagen121212/dsh-journal该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/19) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
- 发起网络请求plugin/dsh-journal-panel/lib/client.js:222
return fetch(SUMMARY, { cache: "no-store", signal: signal }) - 发起网络请求plugin/dsh-journal-panel/lib/client.js:229
return fetch(API + "/api/summary", { cache: "no-store", signal: signal }) - 发起网络请求plugin/dsh-journal-panel/lib/index.js:51
const upstream = await fetch(JOURNAL_API, { cache: "no-store" });
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
把 DeepSeek Harness 的本地会话变成可回看的思维年轮:会话卡、周报、双周成长复盘,所有判断都能回链原话。
README
由 DeepSeek 最新模型翻译生成思维年轮 · DeepSeek Journal
把 DeepSeek Harness 的本地会话,变成一份能回看的「思维年轮」:按主题串线、每周周报、双周成长复盘,每一条判断都能点回你当时说的那句原话。
English summary — DSH Journal turns your local DeepSeek Harness chat history into a reviewable journal: session cards, weekly digests, and a bi-weekly five-dimension growth review, where every claim must cite a verbatim quote from the original conversation. It runs entirely on your machine (Python 3.11+ standard library, plus Node for zstd decompression), calls only the DeepSeek API, and redacts secrets and local paths before anything leaves the process. Self-knowledge entries ("L4") are dra
展开完整文档(README 剩余 1 节)
思维年轮 · DeepSeek Journal
把 DeepSeek Harness 的本地会话,变成一份能回看的「思维年轮」:按主题串线、每周周报、双周成长复盘,每一条判断都能点回你当时说的那句原话。
English summary — DSH Journal turns your local DeepSeek Harness chat history into a reviewable journal: session cards, weekly digests, and a bi-weekly five-dimension growth review, where every claim must cite a verbatim quote from the original conversation. It runs entirely on your machine (Python 3.11+ standard library, plus Node for zstd decompression), calls only the DeepSeek API, and redacts secrets and local paths before anything leaves the process. Self-knowledge entries ("L4") are drafted by the model but accepted or rejected by you in the local web UI. MIT licensed, unofficial.
概览
30 秒导览
导览用的是合成演示库(tools/build_demo.py),不含任何真实聊天记录;生成方式见 tools/make_demo_gif.py。
它解决什么问题
大多数「聊天总结」工具给你一段摘要,看完就没了。真正难的是:
- 三个月前你为什么会做那个决定?当时的问法和现在有什么不同?
- 哪些判断反复出现、哪些只是当时的情绪?
- 你说要做的实验,后来做了吗?
思维年轮把每个会话拆成会话卡(目标、关键转折、信号、自我描述、修正、承诺),再把卡片按周、按双周向上聚合,形成一条有时间纵深的证据链。它不评价你「优秀/差」,只记录可回链的行为。
三块界面
| 界面 | 用途 |
| 本地网页 http://127.0.0.1:8765/ | 主界面:概览、时间线、主题、成长、洞察、报告、搜索、证据回链 |
| DSH /journal 技能 | 薄入口:一句话 + 五维状态 + 待确认洞察 + 网页链接 |
| DSH 右上角「年」面板 | 轻量:会话数与洞察数、本周一句话、五维状态、打开完整网页 |
双周成长复盘
成长
五个维度:技术判断力、决策质量、研究方法、逻辑语言能力、思维认知方式。分数只是索引:证据不足就显示「观察中」,不硬打分;有反例就必须写 counter_evidence。满 3 个点(6 周)才谈「趋势」。
洞察(L4):AI 起草,你确认
洞察
模型只能提出候选自我认知。你在网页上接受、改写或驳回;确认后进入 L4 档案,并会在下一次成长报告里被逐条复核(仍成立 / 减弱 / 出现反例 / 证据不足)。被驳回的判断不会原样重提。来源修正(例如「这句话其实是我朋友说的」)只用于纠正归属,不会被当成你的特质。
DSH 面板
面板
它是怎么工作的
~/.dsh/sessions//session.v4.jsonl.zstd
│ tools/decompress_session.mjs(多帧 zstd,Node) ▼ JSONL 事件流 ──► 解析 / 过滤注入上下文 / 脱敏 ──► SQLite + FTS5 │ │ │ 会话卡(LLM,引用逐条校验) │ │ └──────────────► 周报 / 基线 / 双周成长 ◄───────┘ │ L4 候选洞察 ──► 你在网页确认 ──► L4 档案
关键约束:
1. 证据优先:引用必须在原消息里逐字找到,找不到就自动剔除,不会出现在报告里。
2. 区分谁在说话:用户行才是关于你的证据;模型的话只用于理解上下文。
3. 注入内容不算你说的话:DSH 会把 runtime-context、技能目录、时间等写入 user message,解析时按 source.kind 过滤。
4. 基线不打分:第一次全量回看只建立起点,避免伪造成长曲线。
快速开始
依赖
- Python 3.11+(tomllib、sqlite3、zoneinfo;无第三方包)
- Node ≥ 22.15(解压多帧 zstd 用;DSH 自带的 Node 通常已满足)
- 一份 DeepSeek API key(只在你主动运行分析命令时才会用到)
运行
git clone https://github.com/Hagen121212/dsh-journal.git
cd dsh-journal
cp config.example.toml config.toml # 可选,默认值已够用
python -m journal.cli status # 看能否找到 ~/.dsh/sessions
不安装也能跑:直接在仓库根目录执行 python -m journal.cli ...。static/ 在仓库根目录,所以请从仓库根目录启动,不要只装包。
第一次全量回填
export DEEPSEEK_API_KEY=sk-... # Windows: set DEEPSEEK_API_KEY=...
python -m journal.cli backfill --force
这一步会:同步历史会话 → 生成会话卡 → 生成基线画像 → 为已完成的历史周各生成一份周报。会产生 API 费用。想先看效果,可以只跑前两步的少量样本:
python -m journal.cli sync --limit 3
python -m journal.cli cards --limit 3
打开网页
python -m journal.cli serve --port 8765
然后访问 <http://127.0.0.1:8765/>。Windows 也可以双击 start_web.cmd(后台启动并打开浏览器)。
日常命令
python -m journal.cli status # 数据概览
python -m journal.cli sync # 只同步新会话
python -m journal.cli cards # 为待处理会话生成卡片
python -m journal.cli weekly # 跑一次周任务(周日 20:00)
python -m journal.cli growth # 到期时生成双周成长报告
python -m journal.cli baseline # 基线画像
python -m journal.cli l4 # 导出 L4 档案
定时任务
Windows:把 run_weekly.cmd 挂到任务计划程序,每周日 20:00。
schtasks /Create /TN "DSH Journal Weekly" /SC WEEKLY /D SUN /ST 20:00 /TR "C:\path\to\dsh-journal\run_weekly.cmd" /F
任务默认是“仅交互式运行”,需要你处于登录状态;错过时间且当时已登录时会在可用时补跑。
macOS / Linux:一行 cron。
0 20 0 cd /path/to/dsh-journal && ./journal.sh weekly >> "$JOURNAL_HOME/logs/weekly.log" 2>&1
成长报告不是每周都出:判定用 13 天而不是 14 天,避免“每两个周日”漂移到第三个周日。
装进 DSH
/journal 技能
把 skills/journal/ 复制到 DSH 的技能目录:
cp -r skills/journal ~/.dsh/skills/journal
之后在 DSH 里输入 /journal。
右上角面板插件
dsh plugin --profile desktop add ./plugin/dsh-journal-panel
装完要完整重启 DSH(桌面端的注入表在启动时收集,热加载只补 API 不补按钮)。插件只读本机 127.0.0.1:8765,不写数据库。细节与回滚见 plugin/dsh-journal-panel/README.md。
插件也有独立仓库:Hagen121212/dsh-journal-panel(与这里的目录内容一致,适合单独安装和提 issue)。
配置
config.toml(从 config.example.toml 复制,已被 .gitignore 忽略):
- model.model:默认 deepseek-flash
- budget.max_total_tokens_per_run:单次运行 token 上限(默认 300 万)
- schedule.weekly_time:默认 20:00
- privacy.redact_paths:入库前替换本机用户路径
也可以只用环境变量:
| 变量 | 作用 |
| JOURNAL_HOME | 数据/报告/日志根目录,默认 ~/DeepSeekJournal |
| DSH_HOME | DSH 数据目录,默认 ~/.dsh |
| DSH_NODE | 指定 node 可执行文件(找不到 Node 时) |
| JOURNAL_TZ | 计算周与日期用的时区,默认 Asia/Shanghai |
| DEEPSEEK_API_KEY | API key;也可放 ~/.dsh/.credentials.yaml 或 $JOURNAL_HOME/api_key.txt |
隐私与数据边界
- Web 只绑定 127.0.0.1,没有登录,不要暴露到局域网或公网。
- 出网的只有发往 DeepSeek API 的请求。发送前会脱敏:sk- 类密钥、Bearer token、私钥块、邮箱、手机号、40 位以上 hex、长 base64、本机用户目录。
- 数据库、报告、日志、备份都在 $JOURNAL_HOME 下,不属于仓库,.gitignore 已排除。
- 报告里的引用是 /sessions/... 相对链接,只有在本地网页里才能打开。
更多说明见 PRIVACY.md。
设计取舍
- 基线不打分:第一份画像只建立起点。
- 双周取点:周报每周,成长每两周;满 3 个点才标“趋势”。
- 分数是索引,不是结论:null 表示证据不足,不等于 0 分。
- L4 由用户确认:AI 只起草候选。
- 修正 ≠ 特质:来源修正只用于纠正归属。
- 本地优先:默认只绑回环,凭据不写库、不写报告。
目录结构
dsh-journal/
journal/ # 引擎:解析、DB、脱敏、卡片、报告、Web、CLI static/ # 网页样式 tools/ # zstd 解压、演示库生成、面板预览页 skills/journal/ # DSH 技能 plugin/ # DSH 浮动面板插件 docs/ # 架构、五维 rubric、截图 examples/ # 全合成的演示数据集 tests/ # unittest config.example.toml pyproject.toml
开发与测试
bash
python -m unittest discover -s tests -v
演示库(不需要 API key,也不读真实聊天): bash
python tools/build_demo.py --home demo-home --clean
JOURNAL_HOME=demo-home python -m journal.cli serve --port 8766
docs/screenshots/ 里的截图就是这样生成的:合成数据 + 真实前端 + 无头 Edge。
已知限制
- 只解析 DSH 的 session.v4.jsonl.zstd 会话格式;DSH 改格式时需要跟进。
- 报告质量取决于模型;引用校验能拦住「编造原话」,但拦不住「引用真实、解读过度」。所以 L4 必须由你确认。
- 首次全量回填的 token 消耗与历史长度成正比,建议先 sync --limit 3 + cards --limit 3 试跑。
- 没有多用户、同步、移动端;它是一个本地单人工具。
- 面板插件依赖 DSH 内部注入点,属于非官方集成。
许可证与声明
MIT,见 LICENSE。本项目与 DeepSeek 官方无关;DSH 是 DeepSeek 的产品,本项目只是读取其本地数据的外部工具。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Hagen121212/dsh-journal
把本地会话整理成可回链的周报与成长复盘
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目