dsh-note-keeper:在 DSH 侧栏里跑一套 Obsidian 兼容的本地笔记库

前言

在 DeepSeek Harness(DSH)里做智能体或长对话时,上下文往往散在聊天记录里,难以沉淀、检索,也很难让模型在明确边界内读写你的长期知识。单独开一个 Obsidian 可以记笔记,但和 DSH 界面、对话里的工具链是两套系统。Note Keeper(dsh-note-keeper)把 Obsidian 兼容的 Markdown 库嵌进 DSH Web 侧栏,并提供 notes_* 工具,让同一进程里的模型在护栏内搜索、读写笔记,同时笔记仍以磁盘上的普通 .md 文件存在,便于与 Obsidian 或其它同步方式对齐。

这是什么

Note Keeper 是 DSH Web GUI 的插件:在左侧栏增加「Notes」入口,打开后为全屏面板中的本地优先笔记应用。默认把笔记存放在可配置的目录(默认 ~/NoteKeeper),格式与 Obsidian vault 一致。维护者为 Loukas “Luca” Tzekos(GitHub:lucagiftzek),许可证 MIT。npm 包版本为 0.3.0,要求 Node >=22.5,DSH 引擎 >=0.1.1-rc.1。

社区目录页:https://www.skillhub.cn/plugins/lucagiftzek/dsh-note-keeper
源码与文档:https://github.com/lucagiftzek/dsh-note-keeper

SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」的思路,安装来源以 README 与目录页为准。

核心功能

下面按 README 已说明的能力归纳,不展开未在资料中出现的配置默认值以外的细节。

侧栏与 vault 布局

  • 注册在 sidebar.panellist 槽位,在主栏 keyed 槽位以全页面板打开。
  • Wikilink([[Note]])、嵌入(![[Note]])、#tags(含嵌套如 project/alpha)、YAML frontmatter、callout(> [!warning])、.trash 可回收删除,布局与 Obsidian 一致。
  • 重命名或移动笔记时,会改写其它笔记中指向它的 wikilink / embed,行为与 Obsidian 类似。

索引、搜索与视图

  • fsnotify 监听目录变更(本应用写入、本机 Obsidian、同步客户端等),通过 Server-Sent Events 刷新各浏览器标签;另有约 5 分钟一次的全量扫描兜底。
  • 全文搜索:希腊文与拉丁字母可无重音匹配,输入时支持末词前缀,"引号短语" 精确匹配;可按标签(含嵌套)或文件夹过滤。
  • 标签浏览(含计数)、反向链接、标题大纲、本地关系图(含未解析链接的 ghost 节点)。

.capture 与模板

  • 快捷方式:向 Inbox.md 追加带时间戳的列表项或 - [ ] 任务;或打开/创建 Daily/YYYY-MM-DD.md,若存在 Templates/Daily.md 则展开模板。
  • Templates/ 下任意笔记可作新建模板,支持 {{title}}、{{date}}、{{time}} 占位符。

编辑、附件与冲突

  • CodeMirror 6 实时预览(链接、wikilink、标签可点击),支持源码、分栏、阅读模式。
  • 自动保存:末次按键约 1.2 s 后写入;标签隐藏或关闭时立即 flush。
  • 保存携带读取时的 mtime;并发编辑会显示冲突条,可选加载磁盘版、保留双方或覆盖本地编辑。
  • 附件支持上传、粘贴、拖拽(图、音、视频、PDF 等),大图 inline 预览;HTML、SVG、JS 等风险类型强制下载。超过 64 MiB 的分片上传(begin / chunk / finish),组装上限 maxAttachBytes 为 1 GiB。

语音、绘图、OCR

  • 语音笔记:MediaRecorder 录音,调用 dsh-voice 插件的 /api/voice/stt(希腊语、英语为一等公民,另有多种语言与 auto),可选润色后存为带 nk-type: audio frontmatter 的 Markdown,并嵌入音频。
  • 复古画板:铅笔、笔刷、橡皮、喷枪等,栅格 + 矢量层;保存为 PNG、矢量 JSON,可选 OCR 文本写入一条 drawing 笔记。
  • OCR:默认 Tesseract eng+ell,用于粘贴/附件图片及画板内容(手写为尽力而为)。

加密、同步与导入

  • 客户端零知识加密:加密后的笔记/附件/文件夹对服务端、同步工具与 AI 工具 opaque,仅知道密码的浏览器可读(详见仓库 Security model)。
  • Connect:Obsidian 专用 Sync 插件(一次性配对码、签名请求)、WebDAV、经 rclone 的双向云镜像(Google Drive、OneDrive、Dropbox、iCloud Drive、S3 等),协议见 docs/SYNC-PROTOCOL.md。
  • 导入:Obsidian / Bear / Logseq / Joplin Markdown、HTML、Evernote .enex、Google Keep Takeout、Notion 导出 zip 等。

AI 侧能力

  • AI Enhance:用 DSH 默认或设置中选定的模型做校对、排版与内链,以 diff 预览后再应用。
  • 12 个 notes_* 工具:供同一会话中的模型在明确护栏下读取、搜索、写入用户笔记(具体名称与参数见 README 的 AI tools 表)。

安装与启用

Linux x64 上,npm 包内带预编译的 bin/notekeeperd,一条命令即可(安装后需重启 dsh web):

dsh plugin --profile web add @lucagiftzek/dsh-note-keeper

资料明确说明:单独执行 dsh plugin add github:lucagiftzek/dsh-note-keeper 不会构建 daemon,不能替代完整安装流程。

非 Linux x64,或需要从源码安装时,在本机构建 Go daemon 与浏览器 bundle(Go ≥ 1.22,Node ≥ 22.5),再 link 到 web profile:

git clone https://github.com/lucagiftzek/dsh-note-keeper.git
cd dsh-note-keeper
npm ci
npm run build
dsh plugin --profile web add link:$PWD

OCR 可选依赖(Debian/Ubuntu 示例):

sudo apt install tesseract-ocr tesseract-ocr-ell

也可在 ~/.dsh/profiles/web/package.json 的 dependencies 中手动添加 "@lucagiftzek/dsh-note-keeper": "link:/path/to/dsh-note-keeper" 后重启 dsh web(与 README Install 节一致)。

典型用法

  1. 安装并重启 dsh web 后,在侧栏打开 Notes,确认 vault 路径(默认可改为配置项 vault 指向的目录)。
  2. 用 Inbox 快捷捕获或 Daily 模板建立日常流;在笔记里用 [[wikilink]] 与 #tag 组织知识,在图视图或全文搜索中导航。
  3. 若已安装 dsh-voice,可录语音笔记走 STT 落盘;需要手绘时打开画板,保存后可选 OCR 进正文。
  4. 在 DSH 对话中,由模型调用 notes_* 工具检索或追加笔记前,应理解加密笔记对服务端与工具不可见;非加密内容仍受冲突检测与权限约束。
  5. 要与手机或其它桌面 Obsidian 对齐,按 README 配置 Connect / WebDAV / rclone 之一,并阅读 docs/SYNC-PROTOCOL.md。

适用场景与注意

适合:已在用或打算用 Obsidian 式 Markdown 库、又希望笔记与 DSH Web 侧栏、语音 STT、AI Enhance 及 notes_* 工具同一套界面协作的开发者与用户。

注意:

  • 插件以当前 DSH 进程权限 运行,可读写 vault 目录及插件实现的 API;安装前应审阅源码与 MIT 许可证,并自行评估 vault 路径与备份策略。
  • 零知识加密一旦启用,丢失密码无法由服务端恢复;AI 工具无法读取加密内容,这是设计行为而非缺陷。
  • 大附件与分片上传受 maxAttachBytes(1 GiB)与边缘网关限制(单请求 64 MiB 分片策略)约束,部署在 Cloudflare 等环境时需心里有数。
  • 语音转写依赖 dsh-voice 插件提供的 /api/voice/stt,未安装时相关流程无法完成。

结尾

Note Keeper 把 Obsidian 兼容的本地 Markdown vault 搬进 DSH 侧栏,补齐搜索、图谱、语音、画板、OCR、冲突处理与可选端到端加密,并通过 notes_* 把笔记纳入智能体工具链。若要在 Linux x64 上快速试用,从 npm 安装即可;其它平台或需改 daemon 时按仓库构建说明 link 安装。

  • 目录页:https://www.skillhub.cn/plugins/lucagiftzek/dsh-note-keeper
  • GitHub:https://github.com/lucagiftzek/dsh-note-keeper
羽毛球分组比赛记分
小程序二维码

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

小夜