Перейти к основному содержимому
D

deepseek-harness-mindboard

dvlinzh/deepseek-harness-mindboard

Установка

dsh plugin --profile web add github:dvlinzh/deepseek-harness-mindboard

README

dsh-mind-board · 思维助手

🌐 Language: 中文 | English

把对话里跳跃、零碎的思考,持续整理成一套清晰的骨架,实时呈现在 DSH 右侧面板——把"聊天记录"变成"想清楚的样子"。

一个 DeepSeek Harness(DSH)Web 客户端插件。移植自 Anthropic 黑客松项目 Maieutic,重定位为思维助手

哲学:不脑补——没想清的一律进"缺口",用提问引导你自己补全;先理清 → 给方案 → 再开干。


用之前要准备什么(先决条件)

  • 一个 DeepSeek Harness(DSH)Web 客户端。这是个前端(浏览器端)插件,得跑在 DSH 的 web 界面里,不是单独的程序。
  • 一台能跑 Node.js 的开发电脑(DSH 本身要 Node 环境)。改源码用 Windows 更方便(下面的讲解以 PowerShell 为例),但换到 Mac/Linux 思路一样。
  • 能新建"目录软链接"(junction)的权限。安装要挂到 DSH 的 profile 目录,Windows 下这几条命令需要你有写 ~/.dsh/ 的权限(一般本机用户就行)。
  • 能用脑图标开关:安装完成后,在 DSH 输入框右侧点脑图标把思维助手打开。

不需要单独装什么依赖包——插件运行时直接读取源码,不经过构建步骤。装好了就能用。


特性

  • 四层骨架:目标 / 想法 / 要点 / 方案 / 缺口(每个目标一套)
  • 多目标:一个项目(工作单元;内部字段名 task)下可有多个目标,每个目标一套骨架,标签卡切换(当前目标大字、其余小字)
  • 持续整理:对话内容不断沉淀到右侧面板(由主 agent 执行)
  • 不脑补:没说清的一律进缺口,用提问引导补全
  • 拖动交互:拖到下方红区=删除,灰区=归档/切换;全插件一致
  • 中英双语:面板文案跟随 DSH 全局语言(zh/en 自动互换)
  • 数据安全:项目导出/导入(换机、备份不丢骨架)
  • 优雅:衬线 Georgia + 琥珀签名色 + DSH 明暗主题自适应

安装

1. 把插件放到源码工作区

把本仓库放在你的开发目录(如 C:\你的路径\dsh-mind-board,路径随意)。

2. 用 junction 链挂到 DSH profile

DSH 从 ~/.dsh/profiles/web/node_modules/ 加载插件。建两级 junction 指向你的源码工作区(改源码即生效,不需重装):

# 源码工作区 → web profile
New-Item -ItemType Junction -Force -Path "$env:USERPROFILE\.dsh\profiles\web\dsh-mind-board" -Target "C:\你的路径\dsh-mind-board"
# web profile → node_modules
New-Item -ItemType Junction -Force -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-mind-board" -Target "$env:USERPROFILE\.dsh\profiles\web\dsh-mind-board"

3. 在 cordis.patch.yml 注册插件

编辑 ~/.dsh/profiles/web/cordis.patch.yml,在 insert 列表加:

- insert:
    - id: dsh-mind-board
      name: 'dsh-mind-board'

4. 完全重启 DSH

必须完全退出 DSH 进程重启(host 启动时把 client 代码读进内存,刷新页面无效)。

5. 开启

点输入框右侧的脑图标 → 思维助手开启。之后随便说话(想法/问题/方案),右侧面板持续整理。


用起来是什么感觉

打开之后,你正常聊天,右侧会多出一个面板,它会把你说的东西不断归好类,越理越清楚。大致是这样的体验:

  • 你说,它归。你随口说"我觉得这方面可以先用 X"、"这个方案有个隐患"、"还差个说明书"……它分别丢进"想法"、"要点"、"缺口"里,不打断你。
  • 面板是活的。每说一轮,右侧骨架就更新一轮,你能一眼看到这篇对话到底往哪个方向在推进、还有哪些没落下。
  • 一个项目可以同时理好几件事(多目标)。你在某个目标下聊,聊着聊着发现这其实是个新事情,就切一个新目标,各归各,不混在一起。
  • 不确定的,它不瞎猜。你说得模棱两可的,它不会被硬塞进某一栏,而是标成"缺口",回头再问你一句——所以骨架不会出现"脑补出来"的假结论。
  • 想删想留靠拖。某条想法不要了,拖到红色区域删掉;想归档某条,拖到灰色区域。不用打字。

一句话:它不替你思考,只是把你已经说的、还没说的,摆放得明明白白。


使用示例

场景:你想理清"要不要做一个新插件"。

你打开思维助手,然后随便聊:

  • 你:"我最近想做个工具折叠的插件。" → 进"想法"。
  • 你:"主要是每次工具调用树太占地方。" → 还是"想法"(和上一条属于同一件事,会自动归并到一起)。
  • 你:"其实核心就是收成一行,点开展开。" → 提炼成"要点":结论是"把它收成一行再展开"。
  • 你:"我打算先用 DOM 注入折叠条,不碰 DSH 渲染层。" → 进"方案"(标为当前采用?还是只算候选?——你说清楚它才标)。
  • 你:"但还不太确定会不会和 DSH 版本冲突。" → 进"缺口"(这是还没想清、没验证的点)。

聊完这几句,右侧骨架就大概长这样:

目标:做一个工具折叠插件

  • 想法:想做折叠插件(group:需求);工具树太占地方(group:需求,已合并)
  • 要点:核心是收成一行、点开展开
  • 方案:DOM 注入折叠条(步骤:插入标题条 → 用 CSS 收起 → MutationObserver 自愈);候选方案:完整复刻 Tree(已否决,会丢内置工具卡片)
  • 缺口:还不确定和 DSH 版本是否会冲突

然后主 agent 会针对上面的"缺口"问你一句,你补上,骨架就更完整了。

导出 / 备份:想换电脑或备份,直接在面板点"导出",或复制整个 ~/.dsh/.mind-board/ 目录。


数据位置

所有数据存在 ~/.dsh/.mind-board/

tasks/<id>.json        项目状态(内部字段名 task;标题/状态/会话等)
skeletons/<id>.json    骨架(多目标结构:goals[] + currentGoalId)
journal.jsonl          全局事件时间线(追加)
settings.json          模式开关(mode: on/off)

备份:直接复制整个 ~/.dsh/.mind-board/ 目录,或在面板用"导出"按钮导出项目 JSON。

旧版 dsh-maieutic 的数据在 ~/.dsh/.maieutic/(保留作备份)。本插件迁移时会把 tasks/skeletons/settings 复制到 .mind-board


从源码构建 / 冒烟测试

插件本身无需构建(DSH 运行时直接加载 lib/)。冒烟测试验证 host API 全链路:

node scripts/smoke-test.mjs

已知限制

  • 整理由主 agent 执行(host 端无 LLM 适配器,架构限制)。host 用协议 + 提醒引导,但主 agent 可能不完全遵守(软约束)。
  • 骨架为 4 层(想法 / 要点 / 方案 / 缺口)。旧"七层"数据在读取时会自动迁移到新结构(废弃的 process / relations / questions 不再保留)。
  • 不包含蓝图/审查/执行体系(已清理——那是给写代码的,与"整理思维"无关)。状态机只保留 draft(构思中) / clarifying(整理中) / reflected(已归档)。

文档


许可证

MIT

Похожие плагины