dsh-superagent-win:在 Windows 上把 Superagent 装进 DSH,且身份按命令隔离

前言

DeepSeek Harness(DSH)侧栏可以挂 bundle 插件,把监听 GitHub、派活、在独立会话里执行再交付一类工作流收进同一套界面。上游研究原型 dsh-superagent 面向 POSIX,且会通过 applyEnvironment() 改写整个 DSH 进程的 PATH 与 GIT_CONFIG_GLOBAL,文档要求使用专用 profile,与日常开发 profile 分开。若在 Windows 上同样跑 Superagent,又希望插件与日常 profile 共存,就需要兼容层与更窄的环境作用域。下面介绍社区维护的 buyou-claw/dsh-superagent-win:非官方 Windows 移植参考实现,以 DSH bundle 形式加载,并把智能体身份从「整个 DSH 进程」缩小到「每一次 worker 命令」。

这是什么

dsh-superagent 是主动式编码智能体:监听 GitHub(可选飞书),在策略(Policy)下把授权请求变成工单(Ticket),在独立 DSH 会话中执行,完成后通过评论、分支或 PR 等方式交付,并带 Superagent 面板。

本仓库由维护者 buyou-claw 发布,归类为 工作流 插件;GitHub 上为 buyou-claw/dsh-superagent-win,目录页见 skillhub.cn。README 标明 非官方(Unofficial):基于 deepseek-ai/dsh-superagent-prototype 的 Windows 移植,不是 DeepSeek 官方发布物。相对上游的两类改动是:Windows 兼容补丁;按命令下发身份(不再改写整个进程环境)。逐条差异见仓库内 UPSTREAM.md。

核心功能

下面只列资料中已写明的行为。

Bundle 与界面。 以 DSH bundle 工作:加载后 DSH 侧栏出现 Superagent 入口;package.json 中 dsh.bundle 指向 cordis.patch.yml,并注入侧栏、工作区等 web client 模块。

监听与派活。 针对单个 GitHub 仓库(README 描述),可选飞书;在 Policy 下评估请求,授权后生成 Ticket,每条 Ticket 在独立 DSH Session 中执行。

按命令隔离环境(本移植重点)。 上游在 worker 侧等价地设置 agent 的 PATH 与 git 配置,但会污染同 profile 下你自己打开的会话。本移植通过 DSH 的 ShellExecSpec.env → SubprocessSpawnSpec.env 随每次命令下发;同 profile 里个人会话不受影响。插件配置项 isolateEnvironment:true(默认)为按命令下发;false 为完全不下发,worker 使用宿主账号。

Windows 差异。 不生成 gh / lark-cli 的无扩展名 PATH shim,worker 直接使用 PATH 上的 gh;prepare 使用 PowerShell 语法;隔离开启时 worker 的 git 使用 useConfigOnly = true,提交需显式作者信息。面板端口需与其它 profile 区分(示例配置使用 3082)。

已知限制。 上游仍为研究原型;本移植不改变其设计取舍。仓库单元测试为 POSIX 形态,在 Windows 上会失败;交叉验证请在 WSL/Linux 中运行 pnpm vitest run。移动端、多用户、远程部署未验证。

安装与启用

插件以当前 dsh 进程权限运行;安装前应阅读源码与 MIT LICENSE,并理解非官方性质。

前置。 DeepSeek Harness(dsh 0.2.1-rc 系列)、Node.js 22.19+ 或 24+、pnpm、Git for Windows、GitHub CLI(gh,已 auth login)。package.json 的 engines 还要求 dsh ^0.2.1-alpha.2。

步骤 1:取源码并构建。 README 给出的 Windows 流程如下。

git clone https://github.com/buyou-claw/dsh-superagent-win.git
cd dsh-superagent-win
pnpm install
pnpm build

步骤 2:装入 profile。 示例为新建 superagent profile:

dsh superagent --from-default-profile web --dump-config > $null
dsh plugin --profile superagent add "link:$PWD"

也可并入日常 profile:dsh plugin --profile <你的profile> add "link:$PWD",并在该 profile 的 patch 里增加下文 dsh-superagent 配置;isolateEnvironment: true 时不影响其它会话。

步骤 3:编写 patch。 在 $DSH_HOME\profiles\superagent\cordis.patch.yml 中增加 webserver 与插件配置(路径按本机修改):

- id: webserver
  config:
    host: 127.0.0.1
    port: 3082
- id: dsh-superagent
  config:
    stateDir: C:\Users\<you>\.dsh\state\superagent   # 必填,绝对路径
    isolateEnvironment: true                        # 默认值;false = 不下发 agent 身份

步骤 4:启动与面板设置。

dsh --profile superagent

启动后打开日志中带 token 的 URL,侧栏进入 Superagent:在「设置 → 来源」填写仓库(owner/name)与 gh 路径;在「设置 → 策略」添加允许派活的账号。

典型用法

资料中的可复现路径是「配置来源与策略 → 等待授权请求 → worker 在独立会话执行并交付」,而非单独 CLI 子命令列表。

  1. 完成安装与 cordis.patch.yml 中的 stateDir、端口配置。
  2. 在 Superagent 面板绑定目标 GitHub 仓库与 gh,并配置 Policy 允许的账号。
  3. 当 GitHub(或已配置的飞书来源)出现符合策略的请求时,系统生成 Ticket;worker 在隔离环境(默认)下于独立 DSH Session 中处理,交付方式见上游 docs/ 与提示词中的 Delivery 段落(隔离开启时会涉及 DSH_SUPERAGENT_GITHUB_COMMIT_EMAIL 等环境变量)。

上游设计文档仍在仓库 docs/;SETUP.md 描述上游流程,Windows 实际步骤以 README「安装(Windows)」为准。

适用场景与注意

适合谁。 在 Windows 上使用 DSH,需要 Superagent 式「监听仓库 → 工单 → 独立会话 → 回写 GitHub」工作流,且希望不必为 Superagent 单独维护一套被进程级环境改写的 profile 的开发者。

与上游 profile 策略的对比。 上游仍建议专用 profile;本移植在 isolateEnvironment: true 时允许并入日常 profile,worker 侧 git/ PATH 行为与上游 worker 等价,个人会话不被接管。

生态说明。 DSH 理念是「一切皆插件」;skillhub.cn 为社区插件目录,与 DeepSeek / 幻方无官方从属关系。本仓库为社区移植,星标与 fork 数以目录页与 GitHub 为准(抓取时 GitHub 星标为 0)。

同步上游。 需要跟进 deepseek-ai/dsh-superagent-prototype 更新时,可依据 UPSTREAM.md 逐条 rebase 或考虑向上游提交补丁。

结尾

dsh-superagent-win 把 DeepSeek Harness 的 Superagent 研究原型搬到 Windows,并用按命令下发环境的方式减轻与日常 DSH profile 的冲突。若要查看分类与简介,可打开目录页 https://www.skillhub.cn/plugins/buyou-claw/dsh-superagent-win;安装与配置细节以 GitHub 仓库 README 为准:https://github.com/buyou-claw/dsh-superagent-win。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜