dsh-trustedrouter: DeepSeek Harness 的 TrustedRouter 插件

前言

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"}
羽毛球分组比赛记分
小程序二维码

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

小夜