前言¶
在 DeepSeek Harness(DSH)里跑智能体,会话结束后上下文往往就丢了。把任务、人物、项目笔记写进外部文档再手动粘贴,能续上一点,但读写都靠人,Agent 无法自主检索和更新。
dsh-client-ui-obsidian-memory 走另一条路:把记忆落在本机 Obsidian(或纯 Markdown)库目录里,由插件注册文件系统工具,让 AI 直接读、搜、写、追加。数据留在本地,不依赖额外记忆服务。
这是什么¶
dsh-client-ui-obsidian-memory 是 DSH 的客户端 UI 插件,维护者为 detongz,分类为「记忆」。它通过 DSH 宿主运行时直接访问本地文件系统,在配置了 vaultPath 后向 Agent 暴露 5 个 obsidian_memory_* 工具,并在 DSH 左侧栏 sidebar.obsidian-memory 插槽渲染状态与工具说明面板。
插件当前版本为 v0.3.2,许可证 MIT。社区目录页见 SkillHub,源码见 GitHub。
核心功能¶
下面介绍插件已文档化的能力,均来自 README 与 package.json。
五个记忆工具¶
| 工具 | 作用 |
|---|---|
obsidian_memory_read |
读取 Markdown 或文本文件 |
obsidian_memory_list |
列出目录与文件 |
obsidian_memory_search |
在 .md、.txt 中全文检索 |
obsidian_memory_write |
写入或覆盖文件 |
obsidian_memory_append |
在文件末尾追加内容 |
所有路径限制在 vaultPath 内;越界访问会报 “Path traversal detected”。
侧栏面板¶
浏览器端在 DSH 左栏显示 Obsidian Memory 面板,展示库状态、工具参考与推荐目录结构。需要 DSH 提供 sidebar.obsidian-memory 插槽(README 建议 DSH ≥ 0.1.0-rc.5)。
无外部服务、兼容 Codex 目录¶
插件不连远程记忆服务,读写经 DSH Host(Node.js)完成。目录结构可与社区推荐的 Codex/ 布局对齐,便于与现有 Obsidian 工作流共用。
安装与启用¶
1. 准备库目录¶
在任意位置创建 Codex/ 文件夹,例如放在 Obsidian 库内:
~/Documents/Obsidian Vault/
└── Codex/
├── AGENTS.md
├── TODO.md
├── people/
├── projects/
├── notes/
└── daily/
AGENTS.md 可放 AI 操作说明,TODO.md 可放待办与未闭环事项;子目录按项目自行组织。
2. 安装插件¶
在任意目录执行:
dsh plugin add dsh-client-ui-obsidian-memory
也可从 GitHub 源安装:
dsh plugin add detongz/dsh-client-ui-obsidian-memory
插件自带 dsh.bundle 清单,dsh plugin add 会安装包并通过捆绑的 cordis.patch.yml 激活 ui-obsidian-memory 层,一般无需手改 profile 以加载插件。
若 Settings → Plugins 中看不到插件,README 建议重装最新版:
dsh plugin add dsh-client-ui-obsidian-memory@latest
(旧版 pre-0.3.2 可能只作为普通依赖安装。)
3. 配置 vaultPath¶
在 profile 的 cordis.patch.yml 中指向 Codex/ 的绝对路径:
- id: ui-obsidian-memory
config:
vaultPath: /Users/YOURNAME/Documents/Obsidian Vault/Codex
也可设置环境变量:
export OBSIDIAN_VAULT_PATH=/Users/YOURNAME/Documents/Obsidian Vault/Codex
若两者均未设置,插件会打警告并跳过工具注册。
4. 重启 DSH¶
dsh web
重启后,侧栏应出现 Obsidian Memory 面板;vaultPath 配置正确时,5 个工具对 Agent 可用。
典型用法¶
经过上面的步骤,Agent 可在对话中调用工具维护本地记忆,例如:
- 用
obsidian_memory_list查看projects/下有哪些笔记; - 用
obsidian_memory_search在库内检索关键词; - 用
obsidian_memory_read读取AGENTS.md或某篇项目笔记; - 用
obsidian_memory_write更新TODO.md,或用obsidian_memory_append在daily/下追加当日记录。
具体调用由 DSH 会话中的 Agent 发起;你只需保证目录结构与 vaultPath 一致,并在 AGENTS.md 里写明 Agent 应如何使用这些文件。
架构简述¶
DSH Web(浏览器)
└─ sidebar.obsidian-memory:侧栏面板(工具说明、库结构)
│
DSH Host(Node.js)
└─ 注册 obsidian_memory_* 工具,读写本地文件
│
本地文件系统
└─ vaultPath 指向的 Codex/ 目录
Host 入口为 lib/index.js,客户端为 lib/client.js;数据源即本地 Markdown 文件。
适用场景与注意¶
适合谁: 已用 Obsidian 或纯 Markdown 管理笔记、希望 DSH Agent 能跨会话读写同一份本地库的开发者。
权限与安全: 插件以当前 DSH 进程权限访问文件系统,能读写的范围即 vaultPath 及其子目录。安装前建议查看 源码仓库 与 MIT 许可证,确认符合你的环境策略。
版本依赖: 侧栏需要 DSH 客户端运行时提供 sidebar 插槽(peer 依赖 @deepseek-ai/dsh-client-runtime 等 ≥ 0.1.0-rc.5)。工具不可用或侧栏不显示时,先核对 vaultPath 与 DSH 版本。
结尾¶
dsh-client-ui-obsidian-memory 把 DSH 智能体的持久记忆落到本机 Markdown 库:5 个文件工具加侧栏参考,无需自建记忆服务,可与 Codex 目录习惯衔接。插件列于社区目录 SkillHub,实现与更新见 GitHub。