@agentvalet/dsh:DeepSeek Harness 平台访问管控插件

前言

DeepSeek Harness(DSH)的智能体在运行时往往需要调用外部 SaaS 平台(如 Slack、GitHub、Gmail 或 Stripe)。管理这些平台的 API 密钥,或者在没有统一审批流程的情况下放行调用,是开发者常遇到的问题。

下面介绍 @agentvalet/dsh 插件。它作为代理(Broker)运行,在智能体与平台之间建立连接,强制执行所有者的授权与审批流程,且不将任何 API 密钥存储在运行智能体的机器上。

是什么

插件名称: @agentvalet/dsh

维护方: AgentValet

核心定位: 一个管控平台访问权限的插件。智能体通过它调用 AgentValet 代理连接的 SaaS 平台,由代理负责校验所有者的授权和审批状态。

核心功能

  1. 代理访问控制:由 AgentValet 代理统一评估授权和审批决策,而非在本地运行策略引擎。
  2. 零本地凭证:平台凭证(如 Slack、GitHub 的密钥)仅存储在代理端,智能体所在机器上无任何密钥残留。
  3. 全操作工具集:提供列表、读取、写入和删除四种操作的工具。
  4. 路由指令写入:自动在 $DSH_HOME/AGENTS.md 中写入路由指令,指示平台调用必须经过 AgentValet 代理,而非绕过。

安装与启用

使用 DSH 的包管理器安装该插件:

dsh plugin --profile web add @agentvalet/dsh

安装完成后,需要重启或重新加载对应的 profile(配置文件),插件才会生效。该插件包含 av-identity(agentvalet 服务)和 av-tools(四种工具)。

连接与配置

安装但未连接的 profile 无法调用任何平台,通常会返回“未连接”的错误。连接过程需要管理员在 AgentValet 控制台生成一次性的 Bootstrap Token。

  1. 在 AgentValet 仪表盘中为新的智能体生成一个单次使用的 bootstrap token。
  2. 在终端运行连接命令:
AGENTVALET_BOOTSTRAP_TOKEN=<token> npx agentvalet-dsh-connect --profile web

上述命令会生成一对 RS256 密钥对,并将公钥发送至 AgentValet 的 /v1/agents/bind 接口。私钥保留在本地,写入 $DSH_HOME/agentvalet/<profile>.json(默认为 ~/.dsh/agentvalet/...),权限为 0600。

连接成功后,该智能体在仪表盘中默认为“拒绝访问”模式,必须由所有者授予特定平台和作用域后才能调用。

路由指令:
连接操作同时会在 $DSH_HOME/AGENTS.md 中写入一段路由指令,位于 <!-- agentvalet:start --> 和 <!-- agentvalet:end --> 之间。当 DSH 读取该文件时,会根据此指令将平台调用路由至 AgentValet 代理。该文件中的其他内容不会被修改。

工具

插件提供了四个工具,用于智能体与平台交互:

工具名称 HTTP 方法 说明
agentvalet_list_platforms — 列出当前已授权给该智能体的平台和作用域。在发起任何平台调用前应先调用此工具检查权限。
agentvalet_read_platform GET 从已授权平台读取数据。
agentvalet_write_platform POST (默认) / PUT / PATCH 创建或更新数据。写入操作通常需要所有者审批。
agentvalet_delete_platform DELETE 删除数据。此类操作通常需要所有者审批。

所有工具返回格式统一:成功返回 { ok: true, data },失败返回 { ok: false, error }。这意味着无论是权限拒绝、待审批还是智能体被暂停,结果都是可读的明文,便于智能体解释和处理。

注意事项

  1. 无沙箱:该插件仅负责管控哪些平台调用会成功,它不是沙箱的替代品,应与沙箱方案配合使用。
  2. 无子代理委托与作用域衰减:插件不支持智能体之间互相委托,也不支持将主代理的作用域衰减后重新签发给子代理。
  3. 无本地策略引擎:所有的授权、作用域和审批决策均由 AgentValet 代理评估,插件运行所在机器不进行策略计算。
  4. 单次使用 Token:Bootstrap Token 是单次使用的。如果尝试对已连接的 profile 重复运行连接命令,将会被拒绝,以防止审计历史被混淆。
  5. 兼容性:插件兼容 >=0.1.0-rc.5 <0.2.0 范围内的 Harness 版本。已验证兼容 0.1.0-rc.7 版本。

结语

@agentvalet/dsh 解决了 DSH 智能体访问外部 SaaS 平台时的凭证管理与审批痛点。它通过代理模式将控制权交还给所有者,并确保智能体机器上不留存任何敏感凭证。

羽毛球分组比赛记分
小程序二维码

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

小夜