前言¶
智能体开发者在使用 DeepSeek Harness(DSH)时,常需要对接第三方模型中转站。如果只是新建一个 profile,会话、存储和凭据文件仍会共享同一 DSH_HOME,导致中转站流量与主 Harness 的会话和密钥混在一起,隐私与隔离都难以保证。
插件定位¶
dsh-relay-isolation 是一个 DeepSeek Harness bundle,为第三方模型中转站(如 AgentRouter)或任何 OpenAI 兼容端点单独 provision 一个 DSH_HOME,让中转站流量不再进入主 Harness profile。插件由 AlannerFranklin 维护,分类为 admin-security。
核心功能¶
- 独立 home:在主 DSH_HOME 旁创建兄弟目录(如 ~/.dsh-relay),只包含中转站所需的 AGENTROUTER_API_KEY,不复制其他凭据。
- 隔离工具:注册一个 agent 工具 relay_isolation,支持三个 action:
- status:报告隔离环境是否存在、profile 是否配置、路由是否安装、是否有密钥。
- setup:创建或刷新隔离环境(幂等)。
- remove:删除隔离环境及其会话,需 force: true。
- 启动器:首次启动时在隔离 home 下安装 dsh-llm-agentrouter,并用 –port 0 起一个独立 UI。Windows 写到桌面,其他平台写到 ~/.dsh-relay/launch.sh 并加可执行位。
- 网络工具:注册 relay_fetch,在宿主进程发起受控出网请求(白名单主机:npm registry、GitHub、插件目录),GET only、HTTPS only、默认 60 KB、20 秒超时。
- 权限边界:工作目录读写、沙箱内命令执行、出网 npm/GitHub 可用,凭据仅限 AGENTROUTER_API_KEY。但 workspace-write 只限制写,不限制读,隔离环境仍可读取工作区之外的路径。
- 中转站限制:Responses API 有状态,若中转站将请求分散到多个上游,会返回“item created under a different Azure OpenAI resource”错误,需固定对话到同一上游。
安装与启用¶
安装命令(需指定目标 profile):
dsh plugin --profile <your-profile> add dsh-relay-isolation
安装完成后,在当前 profile 中即可使用 relay_isolation 工具。
典型用法¶
对 agent 发出自然语言指令:
create an isolated relay environment
agent 会调用 relay_isolation,action 为 setup。首次运行会在 ~/.dsh-relay 下生成 launch.sh(或 Windows 的 launch.cmd),执行该启动器即可进入隔离环境。如需检查状态或清理环境,可使用 status 或 remove(必须带 force: true)。
适用场景与注意¶
- 适合需要对接第三方中转站或 OpenAI 兼容端点,同时希望与主 Harness 会话和凭据隔离的场景。
- 插件以当前 dsh 进程的权限运行,安装前应查看源码与许可证(MIT)。
- 它无法隔离已经启动的宿主进程:DSH_HOME 在进程启动时固定,隔离只对新建环境生效。
- 若需更强的安全边界,建议以独立操作系统账户或虚拟机运行隔离启动器。
小结¶
dsh-relay-isolation 通过单独 provision DSH_HOME 与最小化凭据集合,为第三方模型中转站提供了一个隔离且可控的运行环境。它既保证了中转站流量的独立性,又通过沙箱与受控网络工具,将风险限制在隔离空间内。
相关链接¶
- 插件目录页:https://www.skillhub.cn/plugins/AlannerFranklin/dsh-relay-isolation
- GitHub 仓库:https://github.com/AlannerFranklin/dsh-relay-isolation