前言¶
在 DeepSeek Harness(dsh)里做长对话开发时,常见问题是:原始意图被后续消息冲淡,同一会话里多条需求缠在一起,半途达成的结论又被后面的改码悄悄覆盖。记忆类插件能检索文本,但通常不维护一份权威的「还有什么没做完、下一步是什么」清单。
dsh-focus-board 由维护者 YYJ-python 发布,在 DSH 社区目录中归类为「记忆」。它把这份清单落在磁盘上的 JSON 账本里,通过 focus 工具由智能体写入,并在输入框上方以条带供人阅读——人机看同一组行记录。下面按定位、能力、安装与数据路径说明用法与注意点。
这是什么¶
一句话:dsh-focus-board 是面向 DeepSeek Harness 的跨会话任务账本(Cross-session task ledger)。
- 仓库:YYJ-python/dsh-focus-board
- 目录页:SkillHub 插件页
- 当前
package.json中版本号为0.158.0,许可证为 MIT,要求dsh >= 0.2.0-0。
它不替代通用记忆检索,而是专门持有「开放项 / 步骤链 / 结论 / 授权与调度」的可执行台账。
核心功能¶
以下均来自项目 README 与 package.json 描述,按使用链路归纳。
每条请求一条焦点项¶
新需求用 focus open,进行中 focus update,收尾时 focus close。项里可带步骤链(plan)、备注、链接、停滞负责人与产物,条带可展示流程而不只是一句话。
输入框上方条带¶
默认折叠为标题,一次只展开一项,宽度跟随输入区。仅显示当前会话相关项;插件工作时窗口顶部有简短提示带。全局侧栏入口名为 焦点台 / Focus Board。
每步注入未完成上下文¶
未收尾项会注入到每一步,新开一轮仍能知道什么还开着。若存在 docs/项目大纲.md 或 AI_GUARD.md,会一并注入,遇到选择时优先依据大纲而非猜测。
过期复核(Staleness review)¶
代码与文档会变,旧结论可能已失效。每项带复核时钟与产物指纹,面板可显示如 ⟳ stale Nd、⚠ basis changed、⚠ basis missing,提示需要重查的内容。
可学习的 choice¶
kind: 'choice' 且带选项时,界面渲染为可点候选;账本记住已选项,focus auto 在安全重复场景可自行决定。涉及 push、deploy、delete、tag、spend 等危险动作不会自动代决。
授权台账(grant)¶
本地能力问题(能否 push、deploy、写生产等)由表回答,避免重复发问。每条目四种模式:always / timed / ask / never,可有 scope,并记录凭证存放位置(不含 secret 值)。被授权阻塞的项在卡片内展示同一套四模式控件;无条目时会先创建,保证面板与账本一致。
盲操作回填¶
仅人能完成且智能体看不到结果的步骤(控制台开关、撤销 token 等),项会要求 3–5 点自检,而不是简单标记「完成」。
按新回答重新判断的调度器¶
调度不随「会话变了」空转烧 token,而是读取新的助手回答,用关键词(id、产物文件名、中文 4–6 字短语等,并去掉账本表尾噪声)匹配各项,只对回答真正提到的项重新判断;插件自身发出的提示会被忽略。
大方向、机机车道与主机执行¶
- 大方向:归档一行目标并可设日程(每日 / 每周 / 每 N 分钟);到点向会话发送组合提示(先查文档与代码、DSH 记忆、Web,再派计划)。碰撞时一次只跑一个方向,间隔至少 10 分钟,按时间排队。
- 主机侧执行:到点由主机通过
sessionController打开会话并提交提示,浏览器标签可不打开;每方向首次独立会话,之后复用。config中hostExec:false可退回面板执行。 - 机机(
lane:'auto'):大方向派发的工单独占标签,不进你的待办计数;机器多轮驱动,有轮次与日上限,两轮无进展可停;不向人要授权,也不把决策交回给人。
经验、工具与四套自维护账本¶
关闭项的结论可沉淀为经验(经验页供机器用);主机按日探测 PATH 维护工具注册表;每小时(及安装、重扫机器时)维护工具表、经验草稿、grant 缺失项、凭据页变量名(不读值)。多块子面板包括:items、machine、directions、lessons、tools、pending ideas、deploy、human-only、Gitee、scheduler、grants、credentials、habits、outline 等。
工具接口¶
| 工具 | 用途 |
|---|---|
focus |
open / update / close / drop / list / review / decide / auto / brief |
grant |
list / check / upsert / remove — 回答「这类动作是否允许」 |
grant 中位置类型示例:env:NAME、file:/path#KEY、conv:SESSION、mem:ID、keychain:NAME;账本内容会注入到提示中,仍不存储 secret 值。
安装与启用¶
在已安装 DeepSeek Harness 且使用 Web profile 的前提下,安装命令以 README 原文为准:
dsh plugin --profile web add github:YYJ-python/dsh-focus-board
安装后重启 dsh web(若仅客户端变更,刷新页面即可)。侧栏应出现 焦点台 / Focus Board。
DSH 生态里扩展以插件形式挂载;社区目录(如 SkillHub)是独立站点,与 DeepSeek / 幻方无官方从属关系,本文不以「官方应用商店」表述。
典型用法¶
- 用户提出新需求时,让智能体调用
focus open建项,并在plan里写清步骤链。 - 实施过程中用
focus update更新备注、链接与产物路径;遇分支用kind: 'choice'或focus decide。 - 需要 push、部署等前,用
grant check/grant upsert固定策略;阻塞项在条带卡片里直接改四模式。 - 收尾时
focus close写结论;若产物可能已变,用focus review触发或响应过期标记。 - 可选:在
~/.dsh/focus-board/config.json配置owner、arrayRoot、giteeEngine、deployRegistry等,以启用 Gitee / 部署子面板(未配置时核心账本、条带、调度与 grant 仍可用)。
本地数据默认位于 ~/.dsh(或 $DSH_HOME):
~/.dsh/focus-board/board.json # 账本
~/.dsh/focus-board/grants.json # 授权表
~/.dsh/focus-board/config.json # 可选本地配置
~/.dsh/secrets/focus-board.env # 可选凭据(Git、SSH)— 勿提交版本库
配置片段示例(与 README 一致,字段须按需填写真实路径):
{
"owner": "your name",
"arrayRoot": "/path/to/your/repos",
"giteeEngine": "/path/to/engine",
"python": "python3",
"deployRegistry": "/path/to/projects.yaml"
}
也可用环境变量:DSH_FOCUS_OWNER 等(README 中与 config 等价项并列说明)。
适用场景与注意¶
适合谁: 长期在 dsh web 里做需求迭代、需要「人机同看一份开放任务表」、且希望未完成项与项目大纲每步进入上下文的开发者与智能体协作者。
注意:
- 插件随当前
dsh进程权限运行,安装前宜阅读 GitHub 源码 与 MIT 许可证,自行评估 SSH、部署等可选集成带来的本机访问范围。 - 机机车道与主机调度会主动开会话;使用大方向与
hostExec前应理解并发、间隔与轮次上限(README 中 6 轮/项、12 轮/日等)。 - Gitee、deploy 子面板默认关闭,依赖
config.json或环境变量;勿在文档未说明处臆造配置项。 - 凭据仅记录位置与变量名,值应放在
~/.dsh/secrets/focus-board.env等本地文件,且不纳入版本控制。
结尾¶
dsh-focus-board 把「还有什么要做」从聊天历史里抽成可写的 JSON 账本和输入框上的焦点台,并用注入、过期复核、grant 与调度器减少长会话中的意图漂移。欲查看简介与安装入口,可打开 SkillHub 目录页;实现细节与完整工具说明见 GitHub 仓库 README。