前言¶
DSH agent 的上下文会经历压缩,跨会话时也可能丢失早期确定的信息。已有做法中,todo list 通常关注“接下来做什么”;但还有一些信息需要稳定保留:当前目标是什么、哪些约束不能偏离、哪些决策已经发生。
dsh-plugin-focus 是一个 DSH 插件,它给 agent 提供一个 focus 工具和一份持久 focus board。focus board 位于 session workspace 中,用于记录目标、约束和决策,并在每轮开始或内容变化时重新注入模型上下文。
这是什么¶
一句话定位:dsh-plugin-focus 是面向 DeepSeek Harness agents 的 focus board 插件,用一份模型可维护的笔记把目标、约束和决策固定下来。
已核实信息:
- 名称:
dsh-plugin-focus - 许可证:
MIT - GitHub 仓库:
https://github.com/863683348/dsh-plugin-focus
它解决的核心问题是:agent 在执行长任务时,需要把“为什么做、不能偏离什么、已经决定了什么”保存在上下文压缩和会话切换之后仍然可读的位置。
核心功能¶
下面介绍已核实的能力。
focus 工具¶
插件提供 focus 工具,支持四个动作:
setgetappendclear
这些动作用于写入、读取、追加和清空 focus board。
提示引导章节¶
插件提供 focus:instructions 提示引导章节,用于给模型补充使用 focus board 的引导信息。
自动上下文注入¶
focus board 会在以下时机重新注入到模型上下文:
1、每轮开始;
2、focus 内容发生变化时。
空 board 时不会注入,注入内容受 maxChars 限制。
clear 时归档¶
执行 clear 时,旧 focus board 会归档到:
.dsh/focus.md.bak
这意味着清空当前 board 后,旧内容仍会保留在归档文件中。
focusBoard 会话投影¶
插件提供 focusBoard 会话投影,供 UI 使用。
只读 Web 面板¶
插件提供实验性只读 Web 面板。已核实资料说明:该面板尚未针对运行中的 web 实例验证。
安装与启用¶
使用 DSH 插件管理命令安装:
dsh plugin --profile <profile> add dsh-plugin-focus
安装后需要重启 DSH。
典型用法¶
focus 是模型侧工具,常见用法如下。
focus set¶
用于追加一条固定当前焦点或约束的条目。
适用内容:
- 当前目标;
- 硬约束;
- 必须保持不变的上下文。
focus append¶
用于追加日志条目。
适用内容:
- 决定;
- 发现;
- 反转;
- 执行过程中新增的重要上下文。
focus get¶
用于读取整个 board。
读取时按最新优先展示,并受 maxChars 渲染上限约束。
focus clear¶
用于清空 board。
执行后,旧 board 会被归档。
配置¶
插件的配置项可写在 composition row 的 config 中。已核实配置项包括:
file
archiveFile
archive
maxEntries
maxChars
autoInject
personaSection
sectionOrder
其中几个关键点如下:
file:board 路径,需要位于 session workspace 内;archiveFile:clear时的归档路径;archive:控制clear是否先归档;maxChars:限制渲染或注入长度;autoInject:控制是否自动注入 focus board;personaSection:控制是否注册focus:instructions提示引导章节;sectionOrder:用于提示章节顺序。
文件路径不能逃逸 session workspace。配置路径如果落在 session workspace 外,会失败。
适用场景与注意¶
适合以下使用方式:
1、同一个 session workspace 内长期运行 DSH agent;
2、agent 任务需要保留目标、约束和关键决策;
3、希望 focus board 在上下文压缩后仍然可被模型读取;
4、需要在同一 workspace 的新会话中继续读取已有 focus 条目。
需要注意:
1、focus board 按工作区而不是按会话管理;
2、已有 .dsh/focus.md 时,新会话会读取现有条目;
3、自动注入在空 board 时不注入,并受 maxChars 限制;
4、只读 Web 面板仍是实验性,尚未针对运行中的 web 实例验证;
5、所有文件访问通过 host ctx.fs 服务,并且路径需要 containment-check 到 agent 的 session workspace,不能逃逸;
6、插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
结尾¶
dsh-plugin-focus 提供的是 DSH agent 的一块小型持久记忆板:用 focus set 固定目标与约束,用 focus append 记录决定、发现和反转,用 focus get 读取当前 board,用 focus clear 清空并归档。它的核心价值在于把“为什么做、不能偏离什么、已经决定了什么”放在 session workspace 中,并自动带回模型上下文。
GitHub 仓库:
https://github.com/863683348/dsh-plugin-focus
目录页地址未提供。