JIAChenyu525/dsh-explore--packages-plugin ↗★ 0
dsh-explore
**Trajectory-level parallel exploration for DeepSeek Harness agents.**
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JIAChenyu525/dsh-explore#eefc3992efc4ce6fde25767baf50b5352ce14907&path:packages/plugin说明文档
阅读完整 README ↗English | 中文
dsh-explore
面向 DeepSeek Harness 智能体的轨迹级并行探索。
当你需要不止一个答案时,dsh-explore 会把你的智能体分叉成 N 个并行分支——每个分支都继承你的对话上下文,独立探索不同的思路——然后返回所有答案(当有验证器时,选出一个赢家)。
一个智能体,一个任务
│
├─ fork #1 ──→ 答案 A
├─ fork #2 ──→ 答案 B ──→(可选)验证 → 选赢家
└─ fork #3 ──→ 答案 C
现在能做什么(v0)
explore工具 —— 用{ branches: N }调用,并行 fork N 个子智能体,得到 N 个真正不同的答案。- 基于 dsh 的
fork子智能体 provider:每个分支用父会话的「已完成轮次前缀」做种子,因此共享你的完整上下文。 - 现在就能跑,已针对 preview 版本实测。
已实现但待上线(v1)
verify参数 —— 对每个分支跑一条 shell 命令,选通过的那个(以执行为真值,不信 LLM 自述)。- 赢家 diff ——
diffTrajectories解释「赢家为什么赢」(共享前缀 → 分歧的工具调用 → 错误计数)。 - 两者都已实现并通过单测;端到端路径被工作区隔离卡住:dsh 的 fork 子智能体共享父会话的工作目录,并行分支会互相覆盖文件改动。计划的方案是「输出 diff → 应用到 git worktree → 验证」(即 ParallelEnv 的树分叉模式)。
为什么可靠
- 确定性回退 —— dsh 的
fork用父会话的精确前缀做种子,分支之间不共享可变状态。 - 执行为真值 ——
verify路径跑真实命令、读退出码,绝不轻信智能体的自述。 - 有预算上限 —— 分叉数有上限,每个分支有硬超时。
理论基础
受 LATS(语言智能体轨迹上的 MCTS)、Agent Q(环境奖励;LLM 自我批判仅作引导)、带执行验证器的 best-of-N(EvoScale / μ Code / SWE-bench)、以及 ParallelEnv(隔离环境上的树分叉)启发。
包结构
packages/core—— 纯算法库、零依赖:bestOfN、mcts、UCT、verdictFromRun、diffTrajectories、selectBest。隔离单测(14 个测试)。