dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
English | 中文
DSH 编码竞技场:在隔离 Git worktree 中比较 2–4 个已配置模型,用确定性命令验证改动,审阅每份 diff,并由用户显式应用一名获胜者。
使用 GPT Image 根据已实现的 Client 布局和功能生成;实际外观会随 DSH 主题和视口变化。
ctx.agents.create、SessionId、createUserMessage 和 Agent.followup API 启动选手。ctx.subprocess.spawn 执行;绝不经过 shell,并拒绝 shell 操作符。storageDomain 保存比赛报告;Host 重启后,未结束的比赛会标记为失败。agentArena Remote 轮询状态,提供 Start、Cancel、diff 审阅和 Apply winner,不依赖浏览器全局变量。每条验证命令有正权重。选手得分等于成功退出的验证权重占总权重的百分比;同分时按选手 id 稳定排序。不会使用 LLM 评委。表单不再预填通用验证,因为 git status --porcelain=v1 即使打印出改动通常也会成功退出;开始前必须添加该项目自己的测试、类型检查或构建命令。
创建 worktree 前要求 git status --porcelain=v1 干净。获胜者 worktree 会保留到用户显式应用。应用时再次检查仓库干净、确认 HEAD 仍等于比赛开始时记录的 revision,先运行 git apply --check,再运行 git apply --index --whitespace=error。Arena 不会自动应用、提交、推送或改写历史。
Settings 通过生成的 agentArena Remote 轮询比赛状态;客户端不会把 API 放在浏览器全局变量中。
Settings 字段接受保守的空格分隔 argv,例如 corepack pnpm test 或 corepack pnpm typecheck。引号、shell 变量、管道、重定向、命令分隔符、反引号和换行都会被拒绝。请选择参数本身不含空格的命令。
dsh plugin --profile web add github:LeemanCheung/dsh-agent-arena
安装后重启原有 DSH Web 进程并刷新页面。profile 必须提供 agents、subprocess、storageDomain、Typert Remotes、Settings,以及至少两条可用 provider/model 路由。完整说明见套件安装指南。
每个选手都在独立会话和 worktree 中接收一条包含 Arena 任务目标的用户消息,因此 token 和 KV cache 使用量会按 2–4 个独立选手会话增长。验证、评分、比较、取消、持久化与应用不会再调用其他模型。
验证 argv 使用刻意保守的分词规则,无法表达本身包含空格的参数。取消依赖所选 provider 正确响应 abort signal。Host 使用支持二进制的 git diff HEAD,确保已暂存、未暂存和 intent-to-add 文件在审阅与应用时一致。超过 1 MB 审阅/应用上限的补丁会在修改原仓库前明确拒绝,而不是被截断。
在仓库根目录运行 corepack pnpm typecheck、corepack pnpm test、corepack pnpm build 和 corepack pnpm pack:check。
1.0.1 已标记兼容 DSH 0.1.2-rc.1 的 web Profile。Windows 实测已在 3081 隔离 QA 实例和 3080 现有本地 Profile 中加载 Host 服务、浏览器 Client、生成的 Remote 命名空间和 Settings 面板;表单没有误导性的预填验证,必要字段未填写时“开始”保持禁用。自动化覆盖共 15 项测试。本次 QA 没有启动真实模型比赛,因此兼容结论不包含 Provider 执行和取消行为。
CI 已配置为在 Windows 和 Linux 上重新构建已提交的 lib 产物;任何已跟踪或未跟踪差异都会使检查失败。
MIT,见 LICENSE。