前言¶
做 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 裏的五個工具和一個可移植技能,代價是限制明確、生態尚早。要不要用,取決於你能不能接受這兩條前提。