afgo-dsh:把 AsterFire Go 科學計算平臺接進 DSH 的工作流插件

前言

做 DSH(DeepSeek Harness)二次開發的人,常遇到一種尷尬:雲端算力平臺有自己的命令行工具,但那個工具要麼是十幾 MB 的 Go 二進制、要登錄才能下載,要麼跟 Agent 的技能約定完全沒關係。你想在 DSH 裏讓 Agent 提交一個蛋白質設計任務、查一下分子動力學跑完沒有、把結果從雲盤拉下來,就得自己再去包一層。

afgo-dsh 是 YueSunhao 維護的一個 DSH 插件,落地的正是這層麻煩。它底層是一份純 Python 標準庫客戶端,直接對着星使智算平臺(AsterFire Go,sidereus-ai.com)的 REST 契約說話,同時以「DSH 插件」和「通用 Agent 技能」兩種形態發佈。下面按它的定位、能力、安裝、用法和注意事項介紹一遍。

這是什麼

一句話:afgo-dsh 把 AsterFire Go 的科學計算能力(蛋白質設計、分子動力學、生物信息學、DFT/量子化學等)包裝成 DSH 可調用的工具集合,底層不依賴官方 CLI,也不需要 pip install 任何依賴。

倉庫地址 https://github.com/YueSunhao/afgo-dsh,主語言是 Python,許可證 MIT,GitHub 星標爲 0。README 中對自己的定位寫得很清楚:一個倉庫,兩種用法,底層是同一份客戶端。

它和官方 asterfire CLI 的關係需要先講清。官方 CLI 本身就是這套 REST API 的包裝層,其發佈說明稱全部 71 個業務操作統一通過 /open/v1 和 Asterfire-Token 調用;而 CLI 二進制掛在飛書文檔附件裏,需要登錄才能下載。afg 直接對同一套契約說話,因此安裝方式從「下載 9–10 MB 二進制、配 PATH」變成「git clone 即可」,依賴只有 Python 3.8+ 標準庫。兩者可以共存:afg 不會碰 ~/.asterfire/ 下的官方配置。

核心功能

插件暴露的能力分模塊,README 給出的能力表如下。

賬號:info(當前賬號 / 檔位 / 團隊)、models(可用模型)。

工具箱:agents(71 個 Agent)、kits list(393 個 Kit)、kits schema(輸入要求)。

雲盤:cloud list / upload / download。

Agent 任務:tasks create / send / list / get / status / files / stop / rename / delete。

Kit 計算:kits submit(新任務)、kits run(掛在已有任務裏)。

工作流:wf 全套,覆蓋創建、校驗、執行、狀態、執行記錄、譜系、節點輸出/日誌/重試/停止/輸入、導入導出 YAML、模板市場。

開發者:dev 鏡像與工具包,需要賬號具備開發者權限。

兜底:raw <METHOD> <PATH> 直接打任意端點。

完整的 74 個操作、參數和請求體字段見倉庫 reference/api.md,原始契約見 reference/openapi.json。

安裝爲 DSH 插件後,工具列表會多出五個原生工具:

工具 作用 主要 action
afg_platform 賬號、模型、Agent / Kit 目錄與輸入 schema、健康檢查 info models agents kits kit_schema health
afg_files 雲盤上傳 / 下載 / 列舉 upload download list
afg_tasks Agent 任務與 Kit 提交、跟蹤、取產物 create send get status files kit_submit kit_run …
afg_workflows 多步工作流定義、校驗、執行、節點輸出 create validate execute status node_outputs …
afg_raw 任意端點兜底 任意 METHOD + path

調用路徑固定爲三跳,沒有中間服務:Agent 讀 SKILL.md 決定調用 → 執行 scripts/run.sh 或 scripts/run.ps1,落到 scripts/afg.py → 以 Asterfire-Token 請求頭 HTTPS 請求 sidereus-ai.com/api/open/v1/<path>。Base URL 默認 https://sidereus-ai.com/api,可用 --base-url 或 AFG_BASE_URL 改。認證只需一個請求頭,沒有 OAuth、cookie 或瀏覽器登錄。響應信封恆爲 {success, data},錯誤響應附帶 status_code。

安裝與啓用

裝成 DSH 插件有三條命令,按 README 原文照列:

# 從 GitHub 直裝(現在就能用,已實測)
dsh plugin --profile desktop add github:YueSunhao/afgo-dsh

# 本地倉庫(開發時)
dsh plugin --profile desktop add /path/to/afgo-dsh

# npm(發佈後可用)
dsh plugin --profile desktop add afgo-dsh

裝完必須重啓 DSH,插件在進程內加載,不重啓不會出現。

插件配置寫在 cordis.patch.yml 的 insert 行裏,~/.dsh/profiles/desktop/cordis.patch.yml 可覆蓋:

- insert:
    - id: afgo
      name: afgo-dsh
      config:
        python: ""                                  # 留空自動探測;也可寫絕對路徑
        baseUrl: "https://sidereus-ai.com/api"
        token: ""                                   # 建議留空,用 ~/.afg/config.json
        timeoutMs: 120000

需要留意一點:令牌不要寫進 token 字段,那會隨 profile 的 package.json 落盤。正確的做法是放在 ~/.afg/config.json,或者用 AFG_TOKEN 環境變量。

如果你走的是按 Agent Skills 約定加載技能這條路,還有另一種裝法,把倉庫整個 clone 到技能目錄。以 DSH 爲例:

git clone https://github.com/YueSunhao/afgo-dsh ~/.dsh/skills/afg

DSH 會話內熱加載;WorkBuddy 則需重啓後在技能列表裏生效。目錄名建議就叫 afg,與 frontmatter 的 name 一致。

裝好後用下面三步驗證。第一步拿 API 令牌:登錄 https://sidereus-ai.com,點用戶頭像 → API令牌 → 創建 → 複製完整令牌。第二步寫配置文件 ~/.afg/config.json,Windows 上是 C:\Users\<你>\.afg\config.json,內容爲 base_url 與 token。第三步運行驗證命令:

python3 scripts/afg.py info

能返回 username、tier、workspaces 就說明通了。

典型用法

下面這組命令來自 README 的「跑第一個任務」示例,以 DSSP 這個 Kit 爲例。

先看有什麼 Kit,再看它需要什麼輸入:

python3 scripts/afg.py kits list --query dssp
python3 scripts/afg.py kits schema DSSP

提交任務,輸入寫成文件(README 給出的是 examples/kit-input-dssp.json):

python3 scripts/afg.py kits submit --kit DSSP --input @examples/kit-input-dssp.json

最後查產物、下載:

python3 scripts/afg.py tasks files <task_id>
python3 scripts/afg.py cloud download <文件id> -o report.md

工作流部分,afg_workflows 工具提供 create、validate、execute、status、node_outputs 等 action,把多步計算串成一條可校驗、可重複執行的工作流,這正是插件分類落在「工作流」上的直接體現。

Windows 上有兩個啓動器會自動挑一個真能跑的 Python 3,因爲 Windows 上 python3 常是應用商店的假殼子:

bash scripts/run.sh info                                        # macOS / Linux / Git Bash
powershell -ExecutionPolicy Bypass -File scripts\run.ps1 info   # Windows

適用場景與注意事項

適合這羣人:要在 DSH 裏驅動雲端科學計算、希望技能可移植到 WorkBuddy / Claude Code 等 Agent 的開發者;以及不想裝 Go 二進制、不想維護額外 Python 依賴的人。

有幾個坑需要先看清楚。

分片上傳暫不支持。 README 的對比表寫明,官方 CLI 支持大文件分片上傳,本項目暫不支持,歸屬到「已知限制」。如果你的輸入結構文件很大,這條路走不通。

本地開發裝目錄會踩 peer 解析的坑。 dsh plugin add <目錄> 會被 pnpm 裝成 junction 或符號鏈接,而 Node 按真實路徑解析 @deepseek-ai/dsh-tools,從 E:\... 往上找不到 profile 的 peer,會報 ERR_MODULE_NOT_FOUND。解決辦法是用 tarball 裝(npm pack 後 dsh plugin add ./afgo-dsh-1.2.0.tgz),或者走 github: / npm 這兩條裝實體目錄的路。

插件以當前 DSH 進程的權限運行。 它能讀寫你的雲盤、提交任務、管理文件,等同於你賬號的權限範圍。安裝前應當通讀倉庫源碼,尤其是 scripts/afg.py 與 cordis.patch.yml 注入的配置,並確認許可證(MIT)與你的分發方式兼容。這是社區插件,不是 DeepSeek / 幻方官方分發物。

插件仍在早期。 星標爲 0,倉庫創建於 2026-11-04,package.json 版本號是 1.2.0。能力表和端點數量(README 稱 74 個端點全掛在 /openapi.json 上)仍在變化,使用前以倉庫當前 reference/api.md 爲準。

相關鏈接

插件目錄頁:https://www.skillhub.cn/plugins/YueSunhao/afgo-dsh

GitHub 倉庫:https://github.com/YueSunhao/afgo-dsh

許可證:倉庫根目錄 LICENSE,MIT。

一句話收尾:afgo-dsh 的價值不在於它實現了什麼新算法,而在於它把雲端的科學計算調用收成了 DSH 裏的五個工具和一個可移植技能,代價是限制明確、生態尚早。要不要用,取決於你能不能接受這兩條前提。

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

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

小夜