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。
- 无文件传输:不支持上传附件。