🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

专注板 863683348/dsh-plugin-focus

DeepSeek Harnessv1.1.1
86368334854 天前有提交已提供中文文档扫描:未发现敏感能力

钉住目标与硬约束,跨压缩跨会话自动带回上下文

30/100
综合分
1
GitHub 星标
205
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-plugin-focus
npm 源 · dsh-plugin-focus 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 54 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-plugin-focus @ 1.1.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 06:34:35

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-fs@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-session-projection@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 钉住目标与约束
  • 跨压缩会话带回上下文
  • 自动注入上下文

DeepSeek Harness 智能体的聚焦看板:会话工作区里持久、由模型维护的笔记——跨压缩和会话钉住目标、约束与决策;自动注入上下文,清空时归档,会话投影,实验性 Web 面板

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-focus — DeepSeek Harness Agent 专注板 一个真实可安装的 DSH 插件(DeepSeek Harness / Cordis profile bundle):给 agent 一个 focus 工具和一块持久化专注板(默认 .dsh/focus.md,位于会话工作区),钉住目标、硬约束、已做的决定——跨上下文压缩、跨同工作区的新会话都能存活。todo 列表管"下一步做什么";专注板管"为什么做、不能违背什么"。 功能 | 功能 | 状态 | | focus 工具 —— set / get / append / clear | ✅ 稳定 | | 提示词指引段落(focus:instructions) | ✅ 稳定 | | 自动注入 —— 每轮开始及板子变化时自动把专注板放回模型上下文 | ✅ 稳定 | | clear 归档 —— 清空时旧板子归档到 .dsh/focus.md.bak(可累积) | ✅ 稳定 | | focusBoard 会话投影(供 UI 读取) | ✅ 稳定 | | 只读 Web 面板(输入框上方 dock) | 🧪 实验性(手写 loader 格式 client bundle,未在运行中的 web 实例上验证) | 工作原理
展开完整文档(README 剩余 1 节)
dsh-plugin-focus — DeepSeek Harness Agent 专注板

一个真实可安装的 DSH 插件(DeepSeek Harness / Cordis profile bundle):给 agent 一个 focus 工具和一块持久化专注板(默认 .dsh/focus.md,位于会话工作区),钉住目标、硬约束、已做的决定——跨上下文压缩、跨同工作区的新会话都能存活。todo 列表管"下一步做什么";专注板管"为什么做、不能违背什么"。

功能

| 功能 | 状态 |
| focus 工具 —— set / get / append / clear | ✅ 稳定 |
| 提示词指引段落(focus:instructions) | ✅ 稳定 |
| 自动注入 —— 每轮开始及板子变化时自动把专注板放回模型上下文 | ✅ 稳定 |
| clear 归档 —— 清空时旧板子归档到 .dsh/focus.md.bak(可累积) | ✅ 稳定 |
| focusBoard 会话投影(供 UI 读取) | ✅ 稳定 |
| 只读 Web 面板(输入框上方 dock) | 🧪 实验性(手写 loader 格式 client bundle,未在运行中的 web 实例上验证) |

工作原理

- 板子是纯文本、追加友好的文件;条目带时间戳按序排列;get 最新在前、按字符上限截断(渲染永不删文件)。
- 单个 Cordis 插件、两面一体:宿主面(lib/index.js)注册工具/投影/自动注入,浏览器面(lib/client.js)渲染面板;同一组合行通过包的 dsh.bundle + dsh.client manifest 同时覆盖两面。
- 所有文件访问走宿主 ctx.fs 服务,且每个解析出的路径都做会话工作区 containment 校验——板子永远逃不出工作区。
- 自动注入复刻内置 dsh-time-context 机制:agent/pre-step waterfall 监听器追加一条携带板子文本的 plugin snapshot 消息(每轮 step 1,以及中途板子文本变化时)。会话恢复后第一步就会把板子带回来。

安装

包声明了 "dsh": { "bundle": { "patch": "./cordis.patch.yml" } },走 DSH 官方插件管理:

从本地目录安装(等价于 pnpm add + 自动 reconcile bundles 列表)
dsh plugin --profile add /path/to/dsh-plugin-focus

或发布到 npm 后
dsh plugin --profile add dsh-plugin-focus

重启 DSH。focus 工具宿主级注册;web profile 的界面上会出现只读面板。

备选:只挂到某个 agent preset

1. 复制内置 preset 到 $DSH_HOME/.agent-presets//(不要改部署自带的 preset——升级会被覆盖)。
2. 在 agent.cordis.yml 追加:

- id: focus
name: 'dsh-plugin-focus'
config:
file: '.dsh/focus.md'

3. 确保 dsh-plugin-focus 可解析(装在 profile 的 node_modules 或模块回退目录)。

模型侧用法

| action | 参数 | 行为 |
| set | note(必填) | 追加一条"当前焦点/约束" |
| append | note(必填) | 追加日志条目(决定、发现、反转) |
| get | — | 读整块板(最新在前,截断并注明省略数) |
| clear | — | 清空板子;旧板子归档到归档文件 |

插件还会注入 focus:instructions 提示词段落(可用 personaSection: false 关闭),并自动把板子放回上下文(可用 autoInject: false 关闭)。

配置

组合行 config 全部可选:

| 键 | 默认 | 说明 |
| file | .dsh/focus.md | 板文件路径,相对会话工作区;禁止逃逸工作区(运行时强制) |
| archiveFile | .dsh/focus.md.bak | clear 的归档路径 |
| archive | true | clear 是否先归档 |
| maxEntries | 60 | 磁盘最多保留条目数(最旧丢弃) |
| maxChars | 8000 | get / 自动注入的渲染上限(仅视图截断) |
| autoInject | true | 每轮开始/板子变化时自动注入上下文 |
| personaSection | true | 注册提示词指引段落 |
| sectionOrder | 5 | 提示词段落顺序(persona 为 0,升序) |

文件格式

Focus Board

[2026-08-14T23:12:00.000Z] set

[2026-08-14T23:13:00.000Z] append

清空时向归档文件追加一段带清空时间的归档块,历史得以累积。

设计

- 纯逻辑与运行时分离:lib/board.js 零 DSH/Cordis 依赖(解析/渲染/变更/归档),可独立单测;lib/index.js 才是 Cordis 插件。
- 安全:路径经 ctx.fs 解析,并用 ctx.fs.contains 对会话工作区做 containment 校验。
- 生命周期:工具、投影、注入监听、提示词段落全部由 Cordis scope 管理,插件停止/移除自动清理。
- 两面一行:宿主加载 .,浏览器加载 ./client(经 dsh.client manifest);focusBoard 会话投影(事件 focus/write)是未来任何 UI 的数据接缝,可用 useProjection('focusBoard') 读取。

测试

node --test test/

卸载

dsh plugin --profile remove dsh-plugin-focus

Roadmap

- 在运行中的 web 实例上验证面板并迭代 slot UI。
- 面板直接提供编辑/清空操作。
- 可选:把板子挂到 turn/start 事件上获得显式快照语义。

License

MIT

常见问题

- 新会话里板子是空的——之前的板子去哪了? 板子按工作区(workspace)存储,不按会话:如果该会话工作区已有 .dsh/focus.md,focus set 会接着读已有条目。每个 agent 会话按自己的 session.header.cwd 解析板子路径。
- 自动注入费 token 吗? 板子每轮开始注入一次(中途仅在文本变化时再次注入),并以 maxChars 截断;空板不注入任何内容。
- 板子能逃出我的工作区吗? 不能。所有路径都经 ctx.fs 解析,并强制做会话工作区 containment 校验;配置了工作区外的路径会直接报错。
- Web 面板为什么标记为实验性? client bundle 是无打包器的手写 loader 格式,尚未在运行中的 web 实例上验证。
- 如何发布到 npm? 执行 npm publish(已内置 prepublishOnly 测试)。之后 dsh plugin add dsh-plugin-focus 即可免构建安装。
预览分享卡片长什么样 ↓863683348/dsh-plugin-focus
分享 · DeepSeek Harness Hub
863683348/dsh-plugin-focus

钉住目标与硬约束,跨压缩跨会话自动带回上下文

这是你的仓库?认领条目

回到顶部