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。
  • 无文件传输:不支持上传附件。
羽毛球分组比赛记分
小程序二维码

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

小夜