在对话中定时注入提示,让智能体始终盯住目标
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ADkun/dsh-convergence-notice该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 28 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 取源不可用(Error: github tarball HTTP 404 @ https:
- · api.github.com
- · repos
- · ADkun
- · dsh-convergence-notice
- · tarball)
扫描于 2026/10/31(1 天前)
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 追加收敛提示
- 每N步注入一次
- 设置页可开关
README
由 DeepSeek 最新模型翻译生成dsh-convergence-notice
一个 DeepSeek Harness(DSH)插件,让智能体始终盯住自己的目标。它有两种独立行为,都能在 DSH 的设置页里开关:
1. 追加到每条用户消息 —— 提示会落在你发出的每条消息末尾。
2. 每 N 步注入一次 —— 在第 N、2N、3N…… 步额外插入一条上下文消息(默认 N = 5)。
默认添加的那句话:
【规划用最少的轮次达成目标。】
这句话是内置默认值,同时也是一个可配置字段(text),能在设置页里编辑,也能在 cordis.patch.yml 里逐行覆盖。
工作原理
插件监听宿主事件 agent/pre-step。它等待下游做出决定,当这一步被接纳时,改写这一步将要携带的消息:
- 凡是 source.kind === 'user' 的消息(通过 Web UI、命令行、ACP 或 SDK 提交的提示词),末尾都会多出一个 text 块 —— 用户自己的文本从不改动,提示自成一段;
- 当某个智能体的步数计数器到达 every 的整数倍时,会追加一条独立的 user 消息 —— 除非同一步已经把提示追加到了某条用户消息上,这种情况下整批消息已经以那句话结尾,就不再重复添加一份。
展开完整文档(README 剩余 1 节)
dsh-convergence-notice
一个 DeepSeek Harness(DSH)插件,让智能体始终盯住自己的目标。它有两种独立行为,都能在 DSH 的设置页里开关:
1. 追加到每条用户消息 —— 提示会落在你发出的每条消息末尾。
2. 每 N 步注入一次 —— 在第 N、2N、3N…… 步额外插入一条上下文消息(默认 N = 5)。
默认添加的那句话:
【规划用最少的轮次达成目标。】
这句话是内置默认值,同时也是一个可配置字段(text),能在设置页里编辑,也能在 cordis.patch.yml 里逐行覆盖。
工作原理
插件监听宿主事件 agent/pre-step。它等待下游做出决定,当这一步被接纳时,改写这一步将要携带的消息:
- 凡是 source.kind === 'user' 的消息(通过 Web UI、命令行、ACP 或 SDK 提交的提示词),末尾都会多出一个 text 块 —— 用户自己的文本从不改动,提示自成一段;
- 当某个智能体的步数计数器到达 every 的整数倍时,会追加一条独立的 user 消息 —— 除非同一步已经把提示追加到了某条用户消息上,这种情况下整批消息已经以那句话结尾,就不再重复添加一份。
智能体循环会把 decision.messages 作为 user/message 事件(surfaceOp: "append")记入会话日志,所以这两种方式都是持久的:它们属于已提交的上下文,重放后依然存在,也正是模型在那一步读到的内容。
计数器按智能体分别维护(以智能体 id 为键),在 agent/disposed 时丢弃。
配置
- insert:
- id: convergence-notice
name: dsh-convergence-notice
config:
every: 5 # inject on every Nth executed step (default 5)
stepNotice: true # behaviour 2: the every-N-steps injection (default true)
userAppend: true # behaviour 1: append to every user message (default true)
text: '【规划用最少的轮次达成目标。】'
| 字段 | 类型 | 默认值 | 含义 |
| every | 整数 1–1000 | 5 | 每执行 N 步注入一次提示 |
| stepNotice | 布尔值 | true | 开关行为 2 |
| userAppend | 布尔值 | true | 开关行为 1 |
| text | 非空字符串,≤ 1000 字符 | 上面那句话 | 注入的那行文字 |
每个字段都能在运行时从设置页覆盖,不必改这份补丁。
设置页
插件带一个浏览器端部分(client.js),它往 DSH 的设置导航里加一节 —— 标题是 收敛提示 / Convergence notice,就排在 Our Free Model 后面。里面每种行为一个开关、步数间隔(1–1000)、一个可编辑的提示句字段、一个 Restore plugin defaults 按钮,还会显示当前生效的那句话:
Settings → 收敛提示 Behaviours [x] Append to every user message 你每次发消息,提示会作为该消息的最后一段进入上下文 [x] 每 N 步注入一次 步数间隔 [ 5 ]
该行 [ 【规划用最少的轮次达成目标。】 ]
( 保存 ) ( 恢复插件默认值 ) 当前生效的行: 【规划用最少的轮次达成目标。】
持久化:保存的选择写入插件自己的一个小 JSON 文件 —— $DSH_PROFILE_DIR/convergence-notice.json(回退到 $DSH_HOME,再回退到 ~/.dsh),以 0600 模式写入,先写临时文件再重命名。宿主侧只在插件行挂载时读取该文件一次;从设置页保存的值从下一步起就在内存中生效 —— 无需重启,也不用改 cordis.patch.yml ——但手动编辑 JSON 只有重新挂载才会被读取(重启 DSH,或改动某个插件文件让宿主热重载它)。
恢复插件默认值 会删除该文件(路由 DELETE)。
| 优先级(按字段) | 来源 |
| 1 | 从设置页保存的值(convergence-notice.json) |
| 2 | cordis.patch.yml 中该行的 config |
| 3 | 内置默认值:every: 5、stepNotice: true、userAppend: true,以及 text 用上面那句话 |
设置页与插件自己的宿主路由通信(该路由注册在 webServer 服务上,在没有 HTTP 载体的组合中会静默跳过):
| 路由 | 方法 | 请求体 | 响应 |
| /api/convergence-notice/settings | GET | — | 状态(见下) |
| /api/convergence-notice/settings | POST | { "text": "…" } | 新状态 |
| /api/convergence-notice/settings | DELETE | — | 删除已保存的文件,回到 Config 默认值 |
{
"ok": true,
"every": 10, "stepNotice": false, "userAppend": true, // live values
"min": 1, "max": 1000,
"configured": { "every": 5, "stepNotice": true, "userAppend": true, "text": "【规划用最少的轮次达成目标。】" }, // from the patch
"stored": { "every": 10, "stepNotice": false }, // what the page saved, {} when none
"text": "【规划用最少的轮次达成目标。】", "file": "C:\\Users\\you\\.dsh\\profiles\\web\\convergence-notice.json" }
POST 接受 every / stepNotice / userAppend / text 的任意子集。被拒绝的请求返回 400,并附带类似 every must be an integer between 1 and 1000、no settings provided、 stepNotice must be true or false 或 text must be a non-empty string of at most 1000 characters 的消息;请求未通过信任围栏时返回 401/403(回环 Host、无跨站 fetch、Origin/Referer 的 authority 与 Host 的 authority 相同,另外在连接服务挂载时还要通过它自己的准入检查)。
安装
dsh plugin add D:\dsh\dsh-convergence-notice
或在插件管理器里以该包目录为目标安装。bundle 补丁 cordis.patch.yml 会自动应用,该行会实时重新挂载。
磁盘上的文件发生变化时,运行中的宿主会热重载插件模块(已验证:新的 text 生效,新的 HTTP 路由在会话中途出现),所以改代码通常不用重启 ——刷新页面(F5)即可加载 client.js,只有当某项改动没有
验证
- 行为 2:通知会在智能体执行到第 5、10、15……步时,以 user 角色的上下文消息出现(从插件为该智能体激活的那一刻开始计数)。
- 行为 1:这句话是你发送的每条消息的最后一段,在 transcript 和请求里都是如此。
- GET /api/convergence-notice/settings 返回 JSON,带 content-type: application/json —— 未认证的探测也能证明路由已注册(未知路径只返回裸的 401 unauthorized,没有 JSON content type)。
- 句子本身:编辑 The line 字段并点 Save —— 之后 GET 返回新句子,下一次注入的通知也带上它;Restore plugin defaults 会恢复配置里的那句。
从 checkout 开始,npm test 运行 test/behaviour.mjs:它把真实的 index.js 挂到假的 harness 上下文上(没有 DSH 进程、没有网络、没有依赖),覆盖两种行为及其开关、按智能体计数的步数计数器、重复抑制规则、默认句子及其 code units、text 优先级链、每个路由状态(200/400/403/404/405)以及磁盘上的 store 文件 —— 共 60 项检查。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ADkun/dsh-convergence-notice
在对话中定时注入提示,让智能体始终盯住目标
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7