前言¶
DeepSeek Harness (DSH) 的会话记录通常以 JSONL 格式存储。为了将对话内容沉淀为可检索、可管理的长期记忆,Obsidian 是常用的本地知识库方案。dsh-plugin-obsidian-push 插件的作用,就是将 DSH 的归档会话转录渲染为 Markdown 文件,并带上 YAML frontmatter,推送到指定的 Obsidian vault 中。
这是什么¶
这是一个 DSH 插件,用于将归档的会话转录推送到 Obsidian vault。它由用户 121212165 维护,采用 MIT 许可证。插件基于内容哈希实现幂等去重,确保反复运行不会产生重复文件,同时支持 YAML frontmatter 属性读取。
核心功能¶
/obsidian-push [sessionId|all]:将一个或全部会话渲染为 Markdown 文件。文件名格式为YYYY-MM-DD-<short session id>.md,路径为vaultDir/subfolder/。/archive:执行整条链的一步走操作,包含三步:归档检查(比对 transcript 与 markdown)、Obsidian 推送(带状态报告)、检索面报告(检查可检索性)。- 幂等:基于内容哈希去重,仅更新已变更的会话。未变更的会话会被跳过。
- YAML frontmatter:支持 title、date、session、tags 等字段,便于 Obsidian 属性面板直接读取。
- 短 ID 修复:支持完整 ID、任意前缀、8 位或 12 位短 ID 过滤。
- 只读边车:不写入 transcript 的 JSONL,只往库里写 Markdown。
安装与配置¶
安装过程需要 pnpm 在 PATH 上,并配置 vaultDir。
- 安装插件
dsh plugin --profile web add github:121212165/dsh-plugin-obsidian-push
-
更新 cordis.patch.yml
将本仓库根目录的cordis.patch.yml内容合并到$DSH_HOME/profiles/web/cordis.patch.yml中。默认情况下该文件为[],需注意不要直接追加(会导致 YAML 解析错误),应整份替换或合并到同一个数组。 -
重启 DSH
配置层和客户端都需要重启才能生效。
典型用法¶
安装完成后,可以使用以下命令:
# 安装
dsh plugin --profile web add github:121212165/dsh-plugin-obsidian-push
# 推送指定会话
/obsidian-push [sessionId]
# 推送全部会话
/obsidian-push all
# 执行完整归档链(归档检查 → 推送 → 检索面)
/archive
注意事项¶
- 必须配置
vaultDir。 - 需要更新
cordis.patch.yml并重启 dsh。 - 需要
pnpm在 PATH 上。 - 依赖
dsh-plugin-transcript作为数据源边车。 - 加载路径共享,不 live-mounted。
生态背景¶
DSH 理念是「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。该插件属于 DSH 插件家族。