需求对齐护栏 jiezeng2004-design/dsh-requirements-alignment
DeepSeek Harnessv0.4.2阻止长时间运行的 Agent 悄悄改变你的需求。
37.5/100
综合分
8
GitHub 星标
265
npm 周下载
—/5
用户评分
数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-requirements-alignmentnpm 源 · dsh-requirements-alignment 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-requirements-alignment @ 0.4.2
✓Node 引擎要求 >=22.18.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 12:55:35
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 19 条)
- 写入本地文件lib/align-driver.js:63
mkdirSync(dirname(recordPath), { recursive: true }); - 写入本地文件lib/align-driver.js:64
appendFileSync(recordPath, JSON.stringify(line) + '\n', 'utf8'); - 写入本地文件lib/scripted-provider.js:33
mkdirSync(dirname(recordPath), { recursive: true }); - 写入本地文件lib/scripted-provider.js:34
appendFileSync(recordPath, JSON.stringify(line) + '\n', 'utf8'); - 发起网络请求lib/client.js:198
const response = await fetch(API + path, { cache: 'no-store' }); - 发起网络请求lib/client.js:204
const response = await fetch(API + path, { - 写入本地文件lib/migration.js:339
await mkdir(dirname(target), { recursive: true }); - 写入本地文件lib/migration.js:340
await writeFile(target, artifactBytes); - 删除本地文件递归lib/migration.js:369
await rm(root, { recursive: true, force: true }).catch(() => { }); - 写入本地文件lib/migration.js:375
await rename(tempPath, targetPath); - 删除本地文件lib/migration.js:381
await rm(targetPath, { force: true }); - 写入本地文件lib/migration.js:382
await rename(tempPath, targetPath); - 读取本地文件lib/migration.js:385
await readFile(backupPath).then((bytes) => writeFile(targetPath, bytes)).catch(() => { }); - 写入本地文件lib/migration.js:385
await readFile(backupPath).then((bytes) => writeFile(targetPath, bytes)).catch(() => { }); - 读取本地文件lib/migration.js:425
bytes = await readFile(artifactPath); - 读取本地文件lib/migration.js:429
bytes = await readFile(staged); - 写入本地文件lib/migration.js:491
await mkdir(dirname(tempPath), { recursive: true }); - 删除本地文件lib/migration.js:531
await rm(tempPath, { force: true }).catch(() => { }); - 删除本地文件lib/migration.js:541
await rm(tempPath, { force: true }).catch(() => { });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-session@deepseek-ai/dsh-commands@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-session-persistence-jsonl@deepseek-ai/dsh-settings@deepseek-ai/dsh-storage@deepseek-ai/dsh-storage-domain给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 执行前对齐关键决策
- 阻止需求被悄悄改变
为 DeepSeek Harness 做轻量需求对齐——执行前先对齐关键决策,无需完整规格工作流。
最近更新
在 GitHub 查看全部 →v0.5.0-rc.12026-09-29预发布
· dsh-requirements-alignment 0.5.0-rc.1
DeepSeek Harness 0.1.7-rc.2 的候选发布版(发布准备时 npm latest 版本)。此版本与旧版 DSH 宿主 API 不兼容。
· 变更内容
· 智能体初始化适配 DSH 的 awaited agent/created 生命周期,并声明插件自己的手动消息源。
· 共享模式持久化迁移到当前的 SettingsForms / ConfigEditor 契约。runtimeMode: null 会重置为配置档默认值,同时保留其他设置。
· 更新 Web 客户端依赖图,新增当前宿主回归检查和服务集成检查。
· 从不支持的旧存储格式迁移时,保持 fail-closed。
· 安装
dsh plugin --profile web add dsh-requirements-alignment@0.5.0-rc.1
· 验证与限制
本地 typecheck、lint、build、233 项适用测试、打包后的 CLI/Web HTTP 验收均通过。发布前必须跑通确切发布提交的 Windows/Ubuntu × Node 22.18/24 CI 矩阵。此 RC 未验证真实浏览器胶囊交互和外部模型补全。15 个历史存储夹具使用已退役的宿主 API,不计入当前测试数;现代持久化和迁移拒绝已单独检查。
发现 bug 或有想法?开 Issue。欢迎 Pull Request。
v0.4.22026-08-28
· 亮点
本次发布包含 v0.4.1 的 Web 浮动胶囊和会话级对齐模式改动(此前已打标签但未发布到 npm),以及 v0.4.2 对 DSH 0.1.1-rc.2 的兼容和客户端图修正。
· 新增 Web 浮动胶囊,用于控制会话/共享对齐模式,并给出紧凑的状态反馈。
· 保留浏览器服务槽位和语言界面,同时移除无效的包级 ui-slots 客户端注入。
· 修复 IPv6 回环地址的 Origin 和 Host 处理,并补上回归测试。
· 让包和内部试用环境对齐 DSH 0.1.1-rc.2 与 Node.js 22.18 或更高版本。
· 加强清单、迁移、管理 API 和渲染客户端的回归测试覆盖。
· 验证
· 本地类型检查、lint、构建和测试:236/236 通过。
· GitHub Actions:Windows 和 Ubuntu 在 Node.js 22.18.0 和 24 上均通过。
· 打包后的 DSH 生命周期冒烟测试:64/64 通过,覆盖确定性安装、组合、模式切换、基线、移除和清理路径。
· 浏览器交互证据记录在发布验收文档中;发布期间未重新跑一遍。
· 未跑外部模型 E2E,因为这次的一次性发布环境刻意没有放模型凭据。
· 安装
npm install dsh-requirements-alignment@0.4.2
详细的兼容与验证说明见 CHANGELOG.md 和 ACCEPTANCE.md。
v0.3.02026-08-20内容较长已截断
· 0.3.0 - 2026-08-20
· 新增(持久化运行时模式与热切换)
· ModeStore(src/mode-store.ts)—— 运行时对齐模式的唯一权威。三层模型:有效的持久化覆盖 -> 有效的配置档默认值 -> auto。提供 getSnapshot()(默认值 / 覆盖值 / 生效值 / 来源)、setOverride、resetOverride 和 subscribe;存储的覆盖值无效时回退到配置档默认值并修复(启动绝不失败;后续出现的无效值同样修复)。
· 基于设置的覆盖持久化(src/settings-mode-store.ts)—— 运行时覆盖通过官方 @deepseek-ai/dsh-settings 服务持久化(新增依赖,rc.6;不改动 DSH Core)。DSH 重启后恢复上次覆盖;宽松的存储 schema 加上 ModeStore 校验,保证无效的持久化值(例如 mode: banana)保持惰性,外部 settings.yaml 热编辑会实时生效。没有设置服务的部署降级为仅入口端口。
· AlignmentRuntime(src/runtime-mode-controller.ts)—— 真正的 register/dispose 热切换。Auto 注册策略段、两个工具、/align 和 /align-migrate;Manual 注册工具加两个命令;Off 注销这些。 /align-mode 始终注册,因此实时切到 Off 可逆。切换幂等,构造上恰好一个,且失败安全(部分注册被释放,恢复上一模式)。
· /align-mode —— 面向用户的模式切换,不需要 DSH Core 设置卡片。不带参数打印三层快照;auto / manual / off 持久化运行时覆盖;reset 回到配置档默认值。 /align 现在会说明生效模式是配置档默认值还是运行时覆盖。
· 控制器集成(src/index.ts)—— RequirementsAlignmentController 现在持有 AlignmentStateStore(sidecar 不变)、ModeStore 和 RuntimeModeController。新增 setMode(mode)(校验 → 切换 → 持久化,持久化失败则回滚)和 resetMode();启动时的覆盖立即生效。
· 模式持久化独立于对齐状态持久化。切换模式绝不删除基线、sidecar 或会话事件。
· 修复(外部切换失败补偿)
· 热编辑的设置文档在运行时切换失败时(例如 Auto 策略注册出错),不再留下 ModeStore/Runtime 脑裂({ effective: auto, runtime: manual })。控制器串行化热切换协调,切换失败时把持久化的用户层恢复到上一快照的来源——来源为配置档的上一快照通过重置覆盖恢复(不写入 mode: 键),来源为覆盖的上一快照则精确重写其 mode——使 ModeStore、Settings 和 Runtime 重新收敛。不吞掉任何信息:记录失败,补偿有界(无递归、无重复注册、无监听器增长),路径保持可恢复,供后续外部编辑使用。
· 修复(补偿写入二次故障)
· 切换失败且补偿写入也失败时,不再静默地以永久脑裂({ runtime: manual, settings: auto })收场。控制器现在保留待处理补偿(必须恢复其持久化来源的上一快照),并把运行时回滚视为第一步:待处理期间,运行时对目标保持权威,下一次协调(任何设置/文档更新)先处理它——恢复持久化来源,确认实时快照确实收敛,然后清除——之后才执行更新的目标切换。
· 恢复有界且保留意图。每次触发最多执行一次补偿写入(写入失败不通知,因此持久化层持续损坏时待处理状态会停到下一次外部触发:无忙循环、无递归)。如果待处理恢复覆盖了更新的用户改动,恢复落定后重新持久化最新目标快照,因此 manual -> auto(失败)-> off 序列会先经过事务性的上一状态(manual),最终收敛到最新意图(off)。
· 配置档与覆盖的恢复语义不变:来源为配置档的上一快照清除覆盖(不写入 mode: 键),来源为覆盖的上一快照精确重写其 mode。
· 可观测性:切换失败和补偿写入失败记录为不同事件(... failed; restoring previous ... 与 ... failed to restore the persisted mode source ...; compensation remains pending),公开的 pendingCompensation 探针暴露待处理回滚目标。
· 恢复的测试
· test/
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-requirements-alignment
阻止长时间运行的 Agent 悄悄改变你的需求。
让 DSH Agent 自己做工程决策,但别让它在长任务里悄悄改需求、扩范围、换架构。
dsh-requirements-alignment 是 DeepSeek Harness (DSH) 的轻量级运行时漂移防护工具。它把用户意图转化为持久的需求基线,在 Agent 工作时保持不干扰,只有当下一步会实质性改变方向时才介入。
你决定方向。Agent 决定工程实现。
当前候选版本:v0.5.0-rc.1,面向 DeepSeek Harness 0.1.7-rc.2。需要 Node.js >=22.18.0。已验证的行为和限制请参阅兼容性报告。
问题所在
长时间运行的编码 Agent 很擅长保持推进势头。这也正是它们可能发生漂移的原因。
一个任务可能一开始是这样的:
修复结果页面的筛选功能。
不要重构后端逻辑。
后来 Agent 发现更干净的方案需要改动后端。如果没有明确的护栏,它可能就直接扩大范围并继续下去。
Requirements Alignment 改变了这种行为:
用户意图 ↓ 持久的需求基线 ↓ Agent 正常工作 ↓ 检测到改变方向的步骤?
展开完整文档(README 剩余 1 节)
dsh-requirements-alignment 阻止长时间运行的 Agent 悄悄改变你的需求。 让 DSH Agent 自己做工程决策,但别让它在长任务里悄悄改需求、扩范围、换架构。 dsh-requirements-alignment 是 DeepSeek Harness (DSH) 的轻量级运行时漂移防护工具。它把用户意图转化为持久的需求基线,在 Agent 工作时保持不干扰,只有当下一步会实质性改变方向时才介入。 你决定方向。Agent 决定工程实现。 当前候选版本:v0.5.0-rc.1,面向 DeepSeek Harness 0.1.7-rc.2。需要 Node.js >=22.18.0。已验证的行为和限制请参阅兼容性报告。 问题所在 长时间运行的编码 Agent 很擅长保持推进势头。这也正是它们可能发生漂移的原因。 一个任务可能一开始是这样的: 修复结果页面的筛选功能。 不要重构后端逻辑。 后来 Agent 发现更干净的方案需要改动后端。如果没有明确的护栏,它可能就直接扩大范围并继续下去。 Requirements Alignment 改变了这种行为: 用户意图 ↓ 持久的需求基线 ↓ Agent 正常工作 ↓ 检测到改变方向的步骤? ├─ 否 → 继续静默工作 └─ 是 → 询问一次 → 记录决策 → 继续 什么算作漂移 该插件关注的是方向层面的变更,而非实现细节。 典型的漂移候选包括: - 扩大或缩小已批准的范围; - 违反明确的约束; - 改变用户可见的行为; - 切换架构或产品形态; - 使已确定的假设失效; - 改变此前已批准的用户决策; - 采取会改变预期结果的破坏性路径。 它不应为了询问变量命名、辅助函数位置、已批准范围内的普通重构,或其他常规工程选择而中断 Agent。 Requirements Alignment 与 Plan Mode 的对比 Plan Mode 问的是: “这是正确的实现计划吗?” Requirements Alignment 问的是: “我们还在解决正确的问题吗?” Plan Mode 在实现开始前提供帮助。Requirements Alignment 在执行过程中保护意图。 二者互补: 计划 → 批准 → 执行 → 检测方向漂移 → 仅在需要时重新对齐 快速开始 将此候选版本安装到你的 DSH Web 配置中: dsh plugin --profile web add dsh-requirements-alignment@0.5.0-rc.1 然后正常使用 DSH 即可。 自动模式是推荐的默认设置。 清晰的任务会零中断地继续。当出现真正的方向变更时,插件会呈现一个决策并记录结果。 随时使用 /align 进行显式状态检查。 三种模式 | 模式 | 行为 | | 自动 | 监视方向层面的漂移,仅在必要时询问 | | 手动 | 无自动漂移策略;需要检查时使用 /align | | 关闭 | 该会话的对齐功能被禁用;/align-mode 仍然可用,因此你可以切换回来 | 常用命令: /align /align-mode /align-mode auto /align-mode manual /align-mode off /align-mode reset 按会话控制: /align-mode session /align-mode session auto /align-mode session manual /align-mode session off /align-mode session reset 会话覆盖只更改该会话。共享运行时设置保持独立。在 DSH 0.1.7 上,共享模式使用配置文件的 runtimeMode 字段;将其重置为 null 会遵循实时的 mode 默认值,而不会清除其他设置。 示例 保持在原始范围内 用户:改进结果页筛选器。不要重构后端逻辑。 Agent: [正常工作] Agent 发现:完整的修复需要更改后端。 Requirements Alignment: [报告一个漂移候选并询问] 用户:保持在当前范围内。 Agent: [保持后端不变,并在已批准的方向内继续] 批准一次真正的方向变更 用户:该应用是单用户且仅本地。 之后:让它能跨设备工作。 Requirements Alignment: [检测到账户/云同步可能会改变架构] 用户:批准方向变更:多用户,带账户和云同步。 Agent: [记录新的基线修订并继续] 工作原理 该插件提供一小组对齐原语: - establish_baseline 记录当前目标、明确约束、必须保留的行为、允许的范围以及已确定的用户决策; - report_drift 呈现一次实质性的方向变更,通过 DSH 的原生用户提问路径进行询问,并记录确切的决策; - /align 报告当前对齐状态并请求一次新的检查; - /align-mode 更改自动 / 手动 / 关闭行为,而无需你卸载插件。 规范的对齐状态保存在持久的 sidecar 存储中,而不是混入普通的 DSH 会话事件。这样可以保持恢复/分叉/压缩行为稳定,并避免将会话日志变成插件特定的状态数据库。 运行时模式模型 有效模式遵循以下顺序: 有效的会话覆盖 ↓ 有效的持久化运行时覆盖 ↓ 有效的配置文件默认值 ↓ auto 这意味着两个活动会话可以使用不同的对齐模式,而不会相互泄漏状态。 切换模式会改变哪些对齐功能处于活动状态。它不会删除需求基线或漂移历史。 Web UI 在受支持的 DSH Web 构建中,该插件包含一个小型浮动对齐控件,可显示当前会话模式和共享模式,而无需手动编辑配置文件。 该 UI 和 /align-mode 作用于相同的底层状态,因此它们旨在保持一致。此候选版本未验证实时浏览器交互;已验证打包的 CLI/Web HTTP 路径。 长时间运行的任务可以等待并继续 当智能体确实需要你的决策时,预期行为是等待,而不是猜测。 等待浏览器授权,然后授权完成并恢复发布 同样的设计原则也适用于需求漂移:在高影响的选择上暂停,记录下来,然后从新的基线继续。 本插件不做什么 - 它不替代 DSH Plan Mode。 - 它不把每一个工程选择都变成用户问题。 - 它不要求在工作开始前提供完整的 PRD 或规格说明。 - 它不重写 DSH 核心包。 - 它不持续打断清晰的任务。 - 它不在模式变更时删除对齐状态。 卸载 dsh plugin --profile web rm dsh-requirements-alignment Off 与卸载并不相同:Off 会保留插件安装,以便会话可以在运行时切换回 Auto 或 Manual。 设计目标 本项目有意避免成为一个完整的需求管理系统。 它的职责更窄: 保护少数决定“正在构建什么”的人类决策,然后让智能体开始工作。 开发重点 该实现围绕以下方面设计: - 持久化的基线与漂移状态; - 会话作用域的模式隔离; - 恢复 / 分叉 / 压缩的连续性; - 热模式切换,且不产生重复注册或监听器泄漏; - 与常规 DSH 会话语义兼容; - 当所请求的方向已经明确时,将打断降到最低。 贡献 发现了 bug 或有想法?请提交 Issue。欢迎提交 Pull Request。 许可证 MIT。参见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jiezeng2004-design/dsh-requirements-alignment
阻止长时间运行的 Agent 悄悄改变你的需求。
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份人设,统一管理多个 coding agent。
★ 991已汉化DSH
73.9
人物画像蒸馏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