dsh-superagent-windows:在 Windows 上跑通 Superagent 與飛書 Source

前言

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,可確認的能力包括:

  1. DSH Web 客戶端注入:通過 dsh.client 配置注入 locale、settings、renderer、layout、sidebar、workspace 等 UI 模塊(platform: web)。
  2. Cordis 補丁包:隨插件提供 cordis.patch.yml,用於在 profile 中掛載 dsh-superagent 及可選的 dsh-superagent-feishu。
  3. GitHub / 飛書觀察入口:exports 中包含 ./github-watch、./feishu-watch 等子路徑(具體面板配置在啓動後按提示完成)。
  4. 飛書 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 的開發者。

務必注意:

  1. 插件以 當前 dsh 進程權限 運行;安裝前應閱讀源碼與 MIT 許可證(與上游一致),並理解這是研究原型而非官方產品。
  2. stateDir 必須使用 Windows 盤符絕對路徑(如 C:/Users/...),否則無法通過校驗。
  3. 社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;插件信息以 GitHub README 與 Release 爲準。

結尾

經過上面的步驟,你可以在原生 Windows 環境中把 Superagent 掛進 DSH profile,並按需打開飛書 Source。進一步配置與排障請以倉庫文檔爲準。

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

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

小夜