DeepSeek Harness (DSH) 的插件機制讓本地智能體可以對接各種服務。對於企業用戶,直接訪問 Aloof 的團隊資料庫和審批流是剛需。dsh-aloof 插件提供了這層通路,把 Aloof 的數據權限、審批鏈和審計留痕能力,變成 DSH 原生的工具集。
插件由 gaochonggeng 維護,類別爲聯網工具,許可證爲 MIT。
安裝¶
在 DSH 的 web profile 下安裝:
dsh plugin --profile web add dsh-aloof
安裝後,通過環境變量傳入票據即可使用。
票據使用¶
使用 Aloof 的 dsh 接入令牌,格式爲 alf_xxx@https://aloof.你的公司.com。
- 地址綁定:票據將密鑰與 Aloof 的地址綁定在一起,避免地址填錯導致票發到錯誤服務器。
- 權限範圍:接入令牌的查數據權限與登錄票一致,但沒有同意/駁回審批的權限。在接入令牌下調用
oa_decide會導致後端直接返回 403。 - 吊銷能力:接入令牌支持單獨吊銷,而登錄票無法單獨作廢。
設置票據:
export ALOOF_TOKEN='alf_xxxx@https://aloof.你的公司.com'
dsh web
核心功能¶
插件提供了兩組工具:團隊資料庫(6個)和辦公審批(5個)。
團隊資料庫¶
這組工具用於讀取和修改 Aloof 上的共享文檔。
| 工具 | 功能 | 說明 |
|---|---|---|
kb_spaces |
列出我能訪問的空間 | 返回 spaceId 和角色 |
kb_search |
全文搜索 | 按名稱、用途說明、正文搜索 |
kb_list |
列出目錄層級 | 用於查找 parentId |
kb_read |
讀取文檔全文 | 遇到 Word/PPT/圖片等二進制文件會明確返回“讀不了” |
kb_write |
新建或追加文檔 | 默認爲追加模式,覆蓋需顯式指定 mode: replace |
kb_delete |
刪除文檔或目錄 | 不可恢復,確認文案由服務端提供 |
- 版本控制:
kb_write會自動處理版本號 (rev),採用樂觀鎖機制。如果文檔在寫入時已被他人修改,請求會被後端拒絕,需重讀後再寫。 - 文件類型:
kb_write僅支持文本文檔(md/csv/html/txt/json),不支持上傳二進制文件。
辦公審批¶
這組工具用於處理審批流程,分爲四個步驟:查模板 -> 讀字段 -> 填單 -> 提交。
| 工具 | 功能 | 說明 |
|---|---|---|
oa_todo |
查詢待辦 | 返回 taskId |
oa_templates |
查詢可用模板 | 返回 templateId |
oa_form |
查詢表單字段 | 返回字段的 key、類型、必填項等 |
oa_submit |
發起審批單 | 需過閘門 |
oa_decide |
同意或駁回 | 接入令牌下必然 403 |
寫操作的兩道閘¶
所有寫操作(kb_write, kb_delete, oa_submit, oa_decide)受到兩道獨立閘門的控制。
- 本機閘門:在請求發送前,調用
ctx.approval.request(),將操作內容寫入reason,由用戶確認。只有獲得allowed-once才繼續。如果拒絕或會話取消,請求不會發送到 Aloof 後端。 - 服務端閘門:Aloof 後端有一張 (方法, 路由) 白名單,攔截寫請求。不在白名單內的寫請求(如
oa_decide)會被後端直接 403 拒絕。
本機閘門可以關閉(通過配置),但服務端閘門無法繞過。
配置¶
默認配置在插件自帶的 cordis.patch.yml 中。不要修改該文件,升級會覆蓋。如需覆蓋,在 profile 的 cordis.patch.yml 中按 id 整塊替換 config:
- id: aloof
name: 'dsh-aloof'
config:
tokenEnv: ALOOF_TOKEN
timeoutMs: 20000
requireApproval: true
tokenEnv: 指定環境變量名(如ALOOF_TOKEN)。timeoutMs: 單次請求超時時間(毫秒)。requireApproval: 是否強制寫操作過閘門(true爲 fail closed)。baseUrl: 通常不需要配置。僅在網頁地址與 dsh 可達地址不一致(如內外網雙入口)時才需要填寫。
侷限¶
- 無設置頁:配置目前只能通過 YAML 或環境變量修改。
- 無專用 UI 卡片:輸出僅爲文本,無法在對話中渲染審批按鈕或文檔 Diff。
- 無文件傳輸:不支持上傳附件。