前言¶
DeepSeek 官方的 dsh-superagent 原型主要在 POSIX 环境下验证:路径校验、sh -c 启动 worker、tmux 等假设在 Windows 上并不成立。若你希望在 DeepSeek Harness Desktop(Electron 托管 profile)里使用同一套 Superagent 能力,并可选接入 飞书 Source,通常需要 WSL 或自行打补丁。社区仓库 deepsleepzzz0211/dsh-superagent-windows 在上游 v0.1.0、讨论区 windows-compat 补丁 与本仓库 worker TLS 修复之上,提供面向 Windows 10/11 x64 的适配发行版:安装后无需 POSIX 环境(无 WSL/tmux 依赖)。下文介绍其定位、相对上游的改动、安装与配置要点。
这是什么¶
dsh-superagent-windows(包名 dsh-superagent,当前资料中版本 0.2.0)是 DeepSeek 官方 Superagent 原型的 Windows 适配发行版,由维护者 deepsleepzzz0211 发布,在 SkillHub 分类为 客户端。与上游一致,这是 研究原型,非官方产品;完整免责声明见仓库内 docs/UPSTREAM-README.md。
定位可以概括为:开箱支持 DSH Desktop 与飞书 Source,把 stateDir、worker 启动、shell 工具挂载、prepare 命令以及 worker 内 git 的 TLS 行为改到能在 win32 上稳定运行。
相对上游做了哪些 Windows 修复¶
资料中列出的主要修复如下(其中 1–4、6 来自社区 windows-compat;第 5 条为本仓库补充):
| # | 问题 | 修复 |
|---|---|---|
| 1 | stateDir 校验只接受 / 开头路径 |
接受盘符/UNC 绝对路径 |
| 2 | worker probe 以 env/sh 前缀 spawn |
win32 直接传 argv |
| 3 | orchestrator preset 限制 shell 工具名,Windows 下静默丢失挂载 | 按平台/实际暴露取名 |
| 4 | prepare 命令写死 sh -c |
win32 直接传 argv |
| 5 | worker git 在 GIT_CONFIG_NOSYSTEM=1 下丢 http.sslBackend=schannel,TLS 报 CRYPT_E_NO_REVOCATION_CHECK |
worker-gitconfig 在 win32 追加 sslBackend = schannel 与 schannelCheckRevoke = false |
| 6 | 测试套件无 Windows 覆盖 | Windows CI 维度 + 平台分支断言 |
上游 README 写明:win32 上测试 1172 passed / 36 skipped。
核心能力(已核实)¶
结合 README 与 package.json,可确认的能力包括:
- DSH Web 客户端注入:通过
dsh.client配置注入 locale、settings、renderer、layout、sidebar、workspace 等 UI 模块(platform: web)。 - Cordis 补丁包:随插件提供
cordis.patch.yml,用于在 profile 中挂载dsh-superagent及可选的dsh-superagent-feishu。 - GitHub / 飞书观察入口:
exports中包含./github-watch、./feishu-watch等子路径(具体面板配置在启动后按提示完成)。 - 飞书 Source(可选):Windows 上通过本仓库
wrappers/lark-bot/提供可 spawn 的 exe wrapper(含预编译 Release,无需 MinGW 即可使用预编译件)。
依赖环境(资料原文):Node.js ^22.19.0 或 >=24.0.0,DSH ^0.2.1-alpha.2;安装前置还要求 git 2.32+、GitHub CLI 2.48+、已安装 DeepSeek Harness(Desktop 或 CLI)。
安装与启用¶
安装分两步。README 强调:必须先用 web 模板创建 profile;直接 dsh plugin add 会得到最小 profile(无 web 应用/webserver),Superagent 会一直等待服务不激活。
第 1 步:从 web 模板创建 profile
dsh superagent --from-default-profile web --dump-config > /dev/null
第 2 步:安装插件(二选一)
dsh plugin --profile superagent add "github:https://github.com/deepsleepzzz0211/dsh-superagent-windows"
或从 Releases 下载 dsh-superagent-windows.tgz 后:
dsh plugin --profile superagent add <path-to>\dsh-superagent-windows.tgz
在 profile 的 cordis.patch.yml 中追加配置(stateDir 必须是盘符绝对路径):
- id: dsh-superagent
config:
stateDir: C:/Users/<you>/.dsh/state/superagent
# 飞书 Source 可选:
- id: dsh-superagent-feishu
disabled: false
启动 DSH 后,按面板提示完成 Source、Policy、Executor 配置。agent 专用 GitHub 账号、GH_CONFIG_DIR 隔离、飞书应用创建与 lark-bot wrapper、排障速查等完整步骤见仓库 docs/WINDOWS-SETUP.md。
飞书 Source 环境变量(可选)¶
在 dsh-superagent 进程启动前设置(可写入 profile 的 .env):
LARK_BOT_CLI=C:/path/to/lark-cli.exe # 必填
LARK_BOT_CONFIG_DIR=C:/Users/<you>/.lark-cli-dsh-superagent # 默认即此
LARK_MSYS_ROOT=D:/Git/ # 可选;DSH 经 Git Bash 启动命令时必填
lark-bot wrapper 用于隔离 bot 身份、修 MSYS 路径转换、自持 stdin 管道与命令行引号;亦可从源码 larkbot.c 用 gcc 一行编译。
典型用法与实测参考¶
README 给出在 Windows 11 / DSH Desktop 0.2.2-rc.1 下的端到端结果(仅供参考,非保证):
| 通道 | 触发 → 确认 | Ticket → 交付 |
|---|---|---|
| GitHub(issue 评论 @bot) | < 1 min | ~1 min |
| 飞书(群内 @bot) | 首条轮询即命中(~12 s) | ~3 min |
更详细的踩坑与讨论见 deepseek-harness #11769 与 #12524。
适用场景与注意¶
适合谁:在 Windows 10/11 x64 上使用 DSH Desktop 或 CLI,希望试用 Superagent 原型(GitHub issue 互动、可选飞书群 @bot),且不愿依赖 WSL/tmux 的开发者。
务必注意:
- 插件以 当前 dsh 进程权限 运行;安装前应阅读源码与 MIT 许可证(与上游一致),并理解这是研究原型而非官方产品。
stateDir必须使用 Windows 盘符绝对路径(如C:/Users/...),否则无法通过校验。- 社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系;插件信息以 GitHub README 与 Release 为准。
结尾¶
经过上面的步骤,你可以在原生 Windows 环境中把 Superagent 挂进 DSH profile,并按需打开飞书 Source。进一步配置与排障请以仓库文档为准。