命令列工具
DingTalk-Real-AI/dingtalk-workspace-cli avatar
DingTalk-Real-AI/dingtalk-workspace-cli

dws:面向人類使用者和 AI 代理的釘釘跨平台命令列工具

專案速覽:釘釘工作區是釘釘官方開源的跨平台CLI工具。它將釘釘的全套產品功能統一到一個包中,專為人類用戶和人工智慧代理場景而設計。

3,129 個 Star242 個 ForkGoApache-2.0
GitHub

秒懂

它是什麼?
一個採用 Apache-2.0 授權的 Go 工具,將釘釘產品套件統一在單一命令列下,內建代理技能與企業認證。
適合誰用?
README 將 dws 描述為處於共創階段、需要企業管理員授權的工具,其安全聲明是專案自身的描述而非獨立驗證結果。Apache-2.0 授權授予複製與散布等權利,但不涉及支援或擔保。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月17日)與我們的分析,不構成法律意見。

開源專案深度解析

dws 命令列

DingTalk Workspace CLI,以 dws 命令呼叫,是一個以 Go 編寫的程式,將釘釘的產品套件封裝在同一個命令列介面之後。倉庫中繼資料將其描述為釘釘官方開源、跨平台的工具,同時面向人類使用者和 AI 代理情境。README 列出三類受眾:人類使用者獲得說明文字、dry-run 預覽以及 table、JSON 或 raw 輸出格式;AI 代理獲得結構化 JSON 回應與內建代理技能;企業管理員獲得 OAuth 裝置流程認證、網域白名單與最小權限範圍控制。根據倉庫中繼資料,該專案以 Go 編寫,並採用 Apache-2.0 授權。

安裝管道與中國大陸鏡像

README 記錄了多種安裝方式:macOS 與 Linux 的 shell 腳本、Windows 的 PowerShell 安裝程式、名為 dingtalk-workspace-cli 的 npm 套件、Homebrew tap、GitHub Releases 的預編譯二進位檔,以及使用 Go 1.25 或更高版本從原始碼建置。一行安裝腳本預設使用 mono 技能佈局,即一個 dws 技能涵蓋所有產品;實驗性的 multi 佈局則按產品安裝各自技能。針對中國大陸使用者,可設定 DWS_GITEE_REPO 使用 Gitee 鏡像,npm 則使用 npmmirror 來源。靜態端點資料已提交在倉庫的 internal/syncdata 目錄下,因此原始碼建置不需要額外的資料檢出。

升級與發布驗證

dws 內建了自我升級命令。README 說明升級從 GitHub Releases 拉取,附 SHA256 校驗與自動備份,升級分兩個階段:prepare 階段在暫存目錄下載並驗證檔案,apply 階段僅在準備成功後替換二進位檔並安裝技能套件。旗標涵蓋檢查、列出、beta 軌道、指定版本、回滾與跳過技能更新。倉庫還附帶 verify/ 目錄下的驗證腳本,對 curl、PowerShell、npm 穩定版、npm beta、Homebrew 以及 dws upgrade 本身執行發布品質冒煙檢查,按平台報告 PASS、FAIL 或 SKIP。

認證與企業存取

入門需要執行 dws auth login,它會自動開啟瀏覽器;在 Docker、SSH 或 CI 等無頭環境中使用 dws auth login --device。專案目前處於共創階段:README 提醒它存取釘釘企業資料,需要企業管理員授權。若組織未啟用 CLI 存取,使用者會傳送存取請求,由管理員審核。針對 CI/CD 與 ISV 整合,存在自訂應用程式模式,使用用戶端 ID 與密鑰登入,憑證持久化在系統鑰匙圈中。多組織與多帳號透過以 corpId:userId 為鍵的 profile 支援,另有匯出與匯入流程可在 Linux 沙箱之間遷移認證。Windows 的匯出與匯入被有意拒絕,因為 Windows 將憑證儲存為 DPAPI 保護的登錄值。

命令涵蓋範圍

關鍵服務表列出了聯絡人、聊天與 IM、行事曆、待辦、審批、考勤、DING、日報、AI 表格(aitable)、文件、雲端硬碟、會議紀要、郵件、試算表(sheet)、知識庫、DevDoc、AI 搜尋、直播與原始 API 存取。快速入門範例涵蓋聯絡人搜尋、行事曆事件列表、文件搜尋、會議紀要、雲端硬碟列表與待辦建立,並支援 --dry-run 旗標預覽而不執行。README 將完整命令列表指向 docs/command-index.md,並說明機器人能力已合併到 chat 子樹中,而非獨立的頂層產品。文件未提供日期 部分提到視訊會議尚不可用。

面向代理的設計

代理相關功能分為幾個部分。dws schema 匯出命令契約,代理可據此選擇命令與映射參數,而 dws <path> --help 被描述為判斷命令是否存在以及接受哪些旗標的事實來源。代理技能安裝到 ~/.agents、~/.claude、~/.cursor 等工具主目錄。mono 佈局包含一個 SKILL.md 與按產品劃分的參考檔案,以及 13 個用於批次工作流程的 Python 腳本;multi 佈局仍為實驗性。個人事件訂閱功能透過串流消費釘釘訊息,並以 NDJSON 寫入標準輸出;dws dev connect 將釘釘機器人橋接到本機 AI CLI。README 也記錄了輸入修正(旗標名稱正規化、黏合參數拆分、拼寫匹配)與 jq 過濾以減少 token 消耗。

安全聲明與授權

README 的 Security by Design 一節描述了使用 PBKDF2 加 AES-256-GCM 並以裝置 MAC 位址為金鑰的加密令牌儲存、路徑遍歷保護、預設的 *.dingtalk.com 網域白名單、強制 HTTPS、dry-run 預覽,以及憑證從不寫入設定檔或日誌的聲明。它也表示每個 API 呼叫都經過釘釘開放平台的身分驗證與稽核。來源材料未提供第三方安全認證、獨立稽核或生產事件資料;這些需要倉庫之外的驗證。專案採用 Apache-2.0 授權。授權摘錄授予永久的、全球的、非排他的版權授權,允許複製、準備衍生作品、公開展示、公開表演、再授權與散布作品,並附有類似的專利授權。它沒有提及支援、擔保或安全保證。

dingtalk-real-ai-dingtalk-workspace-cli 的 README 所列內容應視為這個版本的操作邊界。實際閱讀時,先對照專案名稱、命令列入口、設定檔路徑與輸出格式,再檢查環境需求是否吻合。若文件沒有說明某項能力,本文不把它推定為已提供。這個判讀方式特別適合將 dingtalk-real-ai-dingtalk-workspace-cli 放進既有工具鏈前的初步篩選:可以從最小輸入開始,觀察終端輸出、產生的檔案與錯誤訊息,再決定是否擴大使用範圍。

編輯結論

README 將 dws 描述為處於共創階段、需要企業管理員授權的工具,其安全聲明是專案自身的描述而非獨立驗證結果。Apache-2.0 授權授予複製與散布等權利,但不涉及支援或擔保。關於第三方安全認證或生產基準的驗證,倉庫文件未提供這些細節。 針對 dingtalk-real-ai-dingtalk-workspace-cli,先依 README 指定的安裝命令、設定檔與輸出逐項核對,再決定是否納入現有流程;這篇文章適合需要理解其實作邊界的工程師,不適合把個人設定或實驗性功能直接當成正式保證的人。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記