前言¶
DeepSeek Harness (dsh) 的插件化架构允许用户在不修改核心代码的情况下扩展行为。TrustedRouter 是一个提供隐私保护和智能路由的服务,它要求将策略配置放入请求体中,例如 {"provider": {"min_privacy": "confidential"}}。dsh 的模型提供者通常只能通过 Header 传递信息,无法写入 Body 字段。在没有此插件的情况下,无法直接将 TrustedRouter 的策略注入到请求中。
dsh-trustedrouter 插件解决了这个问题。它通过包装 dsh 服务器的 fetch 方法,在发送到 TrustedRouter 网关的请求体中注入 provider 对象,从而允许在 dsh 中配置 per-model 的隐私和路由策略。
插件简介¶
- 功能:为 DeepSeek Harness 的每个模型添加 TrustedRouter provider 对象。
- 维护者:AmmarByFar
- 许可证:MIT
- 依赖:需要
pnpm在 PATH 中,并依赖@deepseek-ai/schemastery。
安装¶
安装此插件需要先确保 pnpm 已安装并可在终端调用。安装后需要重启 dsh web。
命令行安装(针对 web profile):
dsh plugin --profile web add github:AmmarByFar/dsh-trustedrouter#v0.1.0
安装后重启 dsh web 即可生效。该插件没有构建步骤。
配置与使用¶
1. 在 Web 界面配置(Per Model)¶
安装后,进入 dsh 的 Settings → Models 页面。在已配置的 TrustedRouter 提供者卡片中,点击 Privacy & routing。
对于该提供者下的每个模型,你可以配置以下策略:
- Privacy floor (min_privacy):设置为
no_store、zdr或confidential。TrustedRouter 会拒绝低于该级别的请求。 - Prefer (sort):选择优化目标,如
price、latency或throughput。 - Only these providers (only):限制仅允许哪些提供商。
- Never these providers (ignore):排除某些提供商。
- Billing (usage):设置为
credits或byok(Bring Your Own Key)。 - US-headquartered providers only (jurisdiction: “us”):仅使用美国总部的提供商。
配置生效:点击 Apply 保存。下一次请求会自动应用该策略。
2. 全局与高级设置¶
在侧边栏 Plugins 中,进入 TrustedRouter privacy(在 Installed 下)。
这里可以配置全局默认值和高级选项:
- Gateways:配置应用策略的网关基础 URL(默认为
https://api.trustedrouter.com/v1)。 - Defaults:适用于所有模型的默认设置。
- Advanced defaults:
order:首选提供商顺序。allow_fallbacks:是否允许回退到其他提供商。max_price:最大提示词和补全价格(USD/百万 tokens)。
- Per-model overrides (JSON):JSON 格式的模型覆盖配置。
- Raw body rules (JSON):深度合并到所有 POST 请求体的字段(除了
provider)。
3. 配置文件¶
插件会将配置写入 web profile 的 cordis.patch.yml 文件中(路径通常为 ~/.dsh/profiles/web/cordis.patch.yml)。
你可以直接编辑该文件:
- id: trustedrouter
config:
gateways: [https://api.trustedrouter.com/v1] # 网关地址
defaults: { min_privacy: zdr } # 默认隐私等级
models: # 模型特定配置
z-ai/glm-5.3: { min_privacy: confidential, only: [tinfoil, privatemode] }
rules: [] # 可选的原始规则
log: false # 是否在终端记录变更
限制与注意事项¶
- 桌面应用不支持:该插件仅支持 dsh web,不支持桌面客户端。
- 自动更新:dsh 目前不会自动更新已安装的插件。升级插件需要手动卸载后重新安装,设置保存在 profile 中,不会丢失。
- 配置权限:设置只能在运行 dsh web 的同一台机器上的浏览器中修改。
- 初始状态:安装后若未设置策略,请求不会发生改变。
- 安全机制:如果请求需要策略但无法读取 Body,插件会拒绝请求(fail closed)并打印到终端,而不是发送不完整的请求。
- 依赖检查:pnpm 会报出
@deepseek-ai/schemastery的 peer dependency 警告,这是正常的,因为该包由 dsh 本身提供。
验证¶
在 Plugins 页面开启 Log changes to the terminal,然后发送一条包含 TrustedRouter 模型的聊天。终端会输出类似日志:
[trustedrouter] added provider to POST https://api.trustedrouter.com/v1/chat/completions for z-ai/glm-5.3: {"min_privacy":"confidential"}