深思预设集 Greenhand-monster/dsh-deliberation-presets
DeepSeek Harness让模型在工具全程可用时保持深度思考
31.7/100
综合分
7
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Greenhand-monster/dsh-deliberation-presets该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-deliberation-presets(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 15:48:25
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
- 发起网络请求shared/toolchoice-adapter.mjs:482
response = await fetch(`${connection.baseURL}/chat/completions`, { - 读取本地文件verify/run-verify.mjs:54
if (!existsSync(LAUNCHER)) { - 写入本地文件verify/run-verify.mjs:68
copyFileSync(`${HERE}/verify-runner.mjs`, runnerFile) - 写入本地文件verify/run-verify.mjs:100
writeFileSync(patchFile, patch) - 执行外部命令来自配置/变量verify/run-verify.mjs:102
const result = spawnSync( - 删除本地文件verify/run-verify.mjs:107
rmSync(patchFile, { force: true }) - 删除本地文件verify/run-verify.mjs:108
rmSync(runnerFile, { force: true }) - 发起网络请求wire-think-standard/toolchoice-adapter.mjs:482
response = await fetch(`${connection.baseURL}/chat/completions`, {
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 深度思考与工具并行
- 双工具常驻网关
让 DeepSeek V4 Pro 一边深度思考一边继续用工具干活——三套 DSH 配置档:think/execute 分离接线、双工具常驻网关,外加一个组合包。
README
由 DeepSeek 最新模型翻译生成dsh-deliberation-presets
让 DeepSeek V4 Pro 在工具全程可用的同时保持深度思考。
三个实验性的 DeepSeek Harness (DSH)agent 预设。设计前提来自我们自己的 V4 Pro 会话观察:它最强的思考——"We …" 思维链——高度依赖请求表面的形态,下面三个模式在不收回工具的前提下,在会话的不同时刻把它找回来:
| 模式 | 目录 | 一句话 |
| Wire Think-Execute Standard | wire-think-standard/ | 每轮以这样的思考步开场:工具目录保持可见、wire 层禁止调用(tool_choice: "none"),随后在官方路由上执行 |
| Eternal Minimal | eternal-minimal/ | 可见目录永远是 Minimal 双工具;重型 Standard 工具经 dshx bash 网关真实执行 |
| Combo Anchored | combo-anchored/ | 组合包——思考/执行分离 + 深度闸门 + 深思滴灌,三行独立拼装 |
非 DeepSeek 官方产品。与 dsh-anchored-standard (首请求锚定模式族)是兄弟仓库;本仓库承载"整个会话"的深思维持机制。
展开完整文档(README 剩余 1 节)
dsh-deliberation-presets
让 DeepSeek V4 Pro 在工具全程可用的同时保持深度思考。
三个实验性的 DeepSeek Harness (DSH)agent 预设。设计前提来自我们自己的 V4 Pro 会话观察:它最强的思考——"We …" 思维链——高度依赖请求表面的形态,下面三个模式在不收回工具的前提下,在会话的不同时刻把它找回来:
| 模式 | 目录 | 一句话 |
| Wire Think-Execute Standard | wire-think-standard/ | 每轮以这样的思考步开场:工具目录保持可见、wire 层禁止调用(tool_choice: "none"),随后在官方路由上执行 |
| Eternal Minimal | eternal-minimal/ | 可见目录永远是 Minimal 双工具;重型 Standard 工具经 dshx bash 网关真实执行 |
| Combo Anchored | combo-anchored/ | 组合包——思考/执行分离 + 深度闸门 + 深思滴灌,三行独立拼装 |
非 DeepSeek 官方产品。与 dsh-anchored-standard (首请求锚定模式族)是兄弟仓库;本仓库承载"整个会话"的深思维持机制。
背景
来自我们自己 V4 Pro 会话的观察(评测方法论见兄弟仓库):
1. "We …" 思维链在请求没有可调用工具目录时存活,目录一出现就塌缩成薄弱的"立即行动"回路——工具前深思缩到无工具深度的一小部分。
2. 工具定义保持可见、wire 层禁止调用(tool_choice: "none")时,深思保留完整规划上下文——模型仍然看得到之后将被允许使用的一切——且工具只差一个参数就能恢复工作。
3. 工具保持可用时的指令推回,是既引导更深思考又不打断工具调用的干预形态。
三个模式分别落地这三条:wire-think-standard 的思考步建立在 (2) 上; eternal-minimal 全程维持 (1) 偏好的表面,并把真实工具执行路由到网关后面;combo-anchored 组合零工具思考开场、(3) 形态的首动作深度闸门、以及工具回路漫长中段的维持滴灌。
模式总览
| 模式 | 目录 | 首次模型请求 | 锚定机制 | 晋升信号 | 代价 |
| Wire Think-Execute Standard | wire-think-standard/ | 工具在场 + wire 层 tool_choice: "none" | 思考步路由到兄弟 provider | 按轮:steer 本身 | 每轮 +1 调用、tools 前缀切换 |
| Eternal Minimal | eternal-minimal/ | 永远只有 2 个工具 | 可见目录永不增长;重型工具经 dshx bash 网关真实执行 | 无(无阶段概念) | 无 |
| Combo Anchored | combo-anchored/ | 每轮用户消息先 0 工具深思 | 思考/执行分离 + 深度闸门 + 深思滴灌三行独立拼装 | 按机制各自生效 | 每轮 +1 调用 |
每个模式目录都自包含,可单独复制安装到任意 id(见安装)。
术语
- 轨迹(trajectory)——模型首条思维链的风格;Minimal 系条件产生 "We need…" 首行,Standard 条件产生 "Let me…"。
- 思考步 / 执行步——用户轮的 step 0(深思,工具被扣留或 wire 层禁止)与同轮后续所有步骤。
- resident 目录——收窄后的晋升工具集:shell + str_replace_editor
+ 发现工具(dev_tool_search、skill_search、skill_load)+ 模型显式解锁的工具。
- 兄弟路由(sibling route)——指向同一后端/同一密钥的第二个 DeepSeek provider id,由 preset 本地 adapter 注册并持有自己的 wire 序列化。
- steer——agent/turn-stopping 检查点上的 agent.steer(...);在纯文本思考回复即将结束轮次时强制续一步。
- 物化副本(materialized copy)——shared/ 插件在模式目录内的已提交副本,由 npm run sync 生成。
Wire Think-Execute Standard(实验)
wire 层模式:每轮用户消息先跑一个建立在条件 (2) 上的思考步——请求中工具定义在场、wire 层 tool_choice: "none"——然后一条 steering 通知在官方 provider 上打开执行阶段,带着 resident 目录。
tool_choice 不在 harness GenerateOptions 词汇内(官方 deepseek adapter 明确标注为 MVP cut),因此需要走受支持的 wire 接缝:
1. 兄弟路由:toolchoice-adapter.mjs(第 1 行)注册一个零依赖的 DeepSeek chat-completions adapter,挂在自己的 provider id (deepseek-wire-think)下,在工具定义在场时向 wire 放 tool_choice: "none"。官方 DeepSeekAdapter 无法被包装(wire body 在私有 generator 里构建),因此该文件 vendor 了官方 serialize/SSE/translate 管线的最小协议忠实子集——相同的 assistant 消息细节(content: "" 永不为 null、reasoning_content 只在 tool-call 轮回放、工具结果转 role: "tool" 并带 (no output) 兜底)和相同的 usage/finish 翻译。连接事实的解析顺序是行配置 > llm-deepseek settings 段 > 环境变量,与官方行完全一致,同一个 DEEPSEEK_API_KEY 同时服务两条路由。
2. 按步路由:wire-think.mjs 保持思考步的组装目录原样不动(这正是被复现的条件),只在 agent/request 瀑布里换 provider——冻结的 loop 内建请求与日志可重建性不变。执行步(以及所有子 agent)被路由回捕获的原始 provider,即使折叠的会话 header 把思考路由播种进了下一步的种子配置。
3. Steer + resident:agent/turn-stopping 每轮恰好 steer 一次(从持久 steering/message 事件重建,resume 安全),执行步看到晋升的 RESIDENT 集。
降级阶梯:兄弟路由未注册(行被删、或另一个 preset 已挂载同一 id—— DUPLICATE_ADAPTER 被捕获并告警)时,思考步退回零工具条件——组合错误绝不会弄坏会话。mode: first-turn 把路由(及其代价)限制在会话的首个用户轮。
采用前需要知道的代价:思考/执行交替每轮两次切换请求前缀中的 tools 块,DeepSeek 前缀缓存从首个变化 token 起失效(provider id 本身对后端缓存不可见;发散的是 tools 块)。每次切换追加一条 request/header 变更事件。adapter 行设 logprobs: true 可开启 opt-in 研究钩子—— adapter 请求 token logprobs 并记录每请求均值摘要(harness StreamChunk 词汇没有 logprob 数据的表面,插件今天能做的只有记日志;这个日志流正是离线轨迹分析要消费的东西)。
Eternal Minimal(实验)
"让模型以为从未离开极简模式":模型可见目录整个会话恒等于 Minimal 对(bash + str_replace_editor)——没有锚定轮、没有晋升、没有发现工具、目录永不增长——同时完整 Standard 工具集保持注册,并通过 dshx bash 网关真实执行:
dshx list # 列出所有网关工具 dshx web_search '{"query": "..."}' # 真实执行 web_search dshx read_image '{"path": "..."}' # 真实执行 read_image
1. 永恒对:system-prompt/assemble 在每个请求上只保留 shell + str_replace_editor(思考步、compaction 后、子 agent——一切请求),自动注入上下文全程剥离(没有按晋升边界抑制的概念)。
2. 网关:tools/pre-execute 监听器拦截以 dshx 开头的 bash 命令,经 ctx.tools.execute()(完整注册表管线——策略、guard、执行、渲染)分发,并把渲染输出作为命令结果返回。deny 通道是派发前替换结果的唯一受支持手段,因此网关负载带错误标记——每条负载都明确说明工具已执行、输出在后,模型将其读作输出。真实工具确实跑了:用户看到真实效果(文件、搜索、子 agent),与按名调用无异。
3. 指南:系统提示追加简短 dshx 能力指南(guide: false 可得字节纯净的 Minimal persona),让模型在不增加第三个可见工具的前提下知道网关存在。
网关拒绝分发 shell/str_replace_editor 本身("请直接调用"),这也使递归不可能发生。未知工具、JSON 格式错误、工具失败都以可读负载返回。
gateway: false 可得到无拦截的纯双工具会话。
Combo Anchored(实验)——插件组合包
"一切皆插件"的展示位:三个正交锚定机制以独立行拼装,各自带开关,改 agent.cordis.yml 里的一行即可删除或重调。它们在轮次的不同时刻攻击工具前的深思塌缩:
| 行 | 机制 | 负责的时刻 |
| think-phase | 零工具思考步 + steering 通知 | 轮次开场 |
| deliberation-gate | 深度闸门拦截浅轮次的首工具调用 | 首个动作 |
| cot-drip | 每第 N 个工具结果后一条 "We …" 节拍(tools/post-execute additionalContexts——不拦截、不报错) | 漫长的中段 |
mode: every-turn 下思考步每轮开场,闸门兜住绕过它的路径(steering 续步、恢复的会话、直奔工具的跟进),滴灌在长工具回路中维持深思。默认值刻意温和(minChars: 400、every: 4、每轮一拍),按负载调整。把 think-phase 行换成 wire-think + toolchoice-adapter 可把开场升级为 wire 层条件(见上),代价是兄弟路由及其前缀缓存代价。
探索过并否决的方向:纯 Code Mode 呈现(presentAs('code') 把目录折叠为单个 run_code 工具)——单工具表面在兄弟项目的评测中明显劣于双工具条件;文本诡称有工具与幽灵 tool_call 历史——实践中都不是可靠锚。
配置参考
所有开关都是各模式 agent.cordis.yml 中的行。未知键在 preset 挂载时报错。
toolchoice-adapter(位于 wire-think-standard/;该行必须保持首个本地行):
| 键 | 默认值 | 含义 |
| provider | deepseek-wire-think | 兄弟路由 id;重复注册触发 DUPLICATE_ADAPTER(被捕获并降级)。 |
| toolChoice | none | 工具定义在场时发送的 wire tool_choice。 |
| baseURL / apiKeyEnv | settings/env | 行配置优先,其次 llm-deepseek settings 段,最后 DEEPSEEK_BASE_URL / DEEPSEEK_API_KEY。 |
| logprobs | false | opt-in 研究钩子:请求 token logprobs 并记录每请求均值摘要。 |
wire-think(位于 wire-think-standard/):
| 键 | 默认值 | 含义 |
| mode | every-turn | 每轮用户消息都以 wire 禁用思考步开场;first-turn 限制在会话首个用户轮。 |
| provider | deepseek-wire-think | 须与 toolchoice-adapter 行一致。 |
| defaultProvider | deepseek-official | 执行步还原的路由。 |
| suppressedContextSources | [agent-instructions, skill-catalog] | 思考步期间剥离的 source.kind;[] 关闭。 |
| includeSubagents | false | 子 agent 是否也先思考。 |
| steerText | 内置通知 | 开启执行阶段的 steering 消息文本。 |
eternal-minimal(位于 eternal-minimal/;该行必须保持 FIRST):
| 键 | 默认值 | 含义 |
| guide | true | 在系统提示追加简短 dshx 能力指南;false 保持 persona 字节纯净。 |
| gateway | true | 拦截 dshx shell 命令并真实执行对应工具;false 只留裸 Minimal 对。 |
| gatewayCommand | dshx | 拦截命令词。 |
| maxGatewayChars | 12000 | 单次网关结果负载上限。 |
| suppressedContextSources | [agent-instructions, skill-catalog] | 每个请求都剥离(没有晋升边界)。 |
think-phase / deliberation-gate / cot-drip(均位于 combo-anchored/):见模式目录头注释——分离的 mode / suppressedContextSources / includeSubagents / steerText;闸门的 minChars(默认 400,0 关闭)/ maxGatesPerTurn(默认 1)/ gateText / includeSubagents;滴灌的 every(默认 4,0 关闭)/ maxPerTurn(默认 1)/ text / includeSubagents。
仓库布局
wire-think-standard/ wire 层思考/执行分离 eternal-minimal/ Minimal 对永恒 + dshx bash 网关 combo-anchored/ 组合包:思考分离 + 闸门 + 滴灌 shared/ 多模式共用插件的唯一源 scripts/sync-modes.mjs 把 shared/ 插件物化到每个模式目录 test/ 零依赖测试套件(npm test) verify/ 一次性 headless 验证 runner
不变量,由 npm run check 强制:
- 每个模式目录自包含:单独复制即可安装;agent.cordis.yml 的行只能引用 ./本地.mjs,绝不允许 ../。
- 多模式共用插件只在 shared/ 存一份;模式目录里的副本是生成的。编辑 shared/、运行 npm run sync、两者一起提交——绝不直接改物化副本。
兼容范围
开发和验证版本:
- DeepSeek Harness 0.1.0-rc.5
- 仓库提交 47f9438
- Windows / Node.js 24
DeepSeek Harness 目前仍是开发者预览版,官方明确说明未来会有破坏性变更。
每个模式都是 Standard 组装的完整快照;升级 Harness 后,应先对照上游改动再继续使用。
wire 模式额外假设 DeepSeek 后端接受 OpenAI 风格的 tool_choice 参数(官方 adapter 只是从不发送它)。如果后端拒绝,思考步会走常规的请求失败路径——遇到这种情况请降级到其他模式或 mode: first-turn。
安装
克隆本仓库,把模式目录复制到用户 preset 根目录。每个模式都可单独安装; order 字段(11/9/12)保证与 dsh-anchored-standard 家族同时安装时不冲突。
Linux/macOS:
dsh_home="${DSH_HOME:-$HOME/.dsh}"
mkdir -p "$dsh_home/.agent-presets"
for m in wire-think-standard eternal-minimal combo-anchored; do
test ! -e "$dsh_home/.agent-presets/$m" && cp -R "$m" "$dsh_home/.agent-presets/$m"
done
PowerShell(一次一个模式):
$target = Join-Path $env:USERPROFILE '.dsh\.agent-presets\wire-think-standard'
if (Test-Path -LiteralPath $target) { throw "Preset already exists: $target" }
New-Item -ItemType Directory -Force -Path (Split-Path -Parent $target) | Out-Null
Copy-Item -Recurse -LiteralPath '.\wire-think-standard' -Destination $target
完全重启 DeepSeek Harness,新建空白会话,按名称选择模式。不要在活跃会话上从其他预设切换。wire 模式需要进程可见的 DEEPSEEK_API_KEY(与官方路由同一把钥匙)。
验证加载
导出会话 JSONL 并检查 request/header 事件:
- Wire 模式:思考步 header 显示 provider: "deepseek-wire-think" 且工具目录在场;执行步 header 显示官方 provider 和 resident 目录; turn/end 原因显示被 steer 的续步。
- Eternal Minimal:每个 header 的 tools 数组恒为 ["bash", "str_replace_editor"];tool/call 事件显示 dshx …
命令,其结果携带真实工具输出。
- Combo:思考步显示零工具,被闸门的调用显示一条带指令文本的 deny 结果,滴灌节拍以短小的插件来源用户消息出现在工具结果之后。
运行本地零依赖测试:
npm test
针对真实 harness 检出的一次性 headless 验证,见 verify/run-verify.mjs --help。
官方生态要求
DeepSeek 当前建议社区作者把插件放在自己的 GitHub 项目中,并为仓库添加 dsh-plugin topic 方便发现。官方仓库目前不接受外部 PR。原文见官方 CONTRIBUTING.zh.md。
许可证
MIT。各模式组装派生自 DeepSeek Harness Standard preset, shared/toolchoice-adapter.mjs 改编自官方 llm-deepseek adapter 管线的子集;原始 DeepSeek 版权和 MIT 许可声明保留在 NOTICE 中。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Greenhand-monster/dsh-deliberation-presets
让模型在工具全程可用时保持深度思考
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份人设,统一管理多个 coding agent。
★ 1,141已汉化DSH
74.1
人物画像蒸馏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
这是你的仓库?认领条目