dsh-aloof:接入 Aloof 團隊資料庫與審批

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)受到兩道獨立閘門的控制。

  1. 本機閘門:在請求發送前,調用 ctx.approval.request(),將操作內容寫入 reason,由用戶確認。只有獲得 allowed-once 才繼續。如果拒絕或會話取消,請求不會發送到 Aloof 後端。
  2. 服務端閘門: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。
  • 無文件傳輸:不支持上傳附件。
羽毛球分组比赛记分
小程序二维码

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

小夜