dsh-plugin-obsidian-push:将 DSH 会话转录推送到 Obsidian

前言

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。

  1. 安装插件
   dsh plugin --profile web add github:121212165/dsh-plugin-obsidian-push
  1. 更新 cordis.patch.yml
    将本仓库根目录的 cordis.patch.yml 内容合并到 $DSH_HOME/profiles/web/cordis.patch.yml 中。默认情况下该文件为 [],需注意不要直接追加(会导致 YAML 解析错误),应整份替换或合并到同一个数组。

  2. 重启 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 插件家族。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜