dsh-ark-plans:在 DeepSeek Harness 里接入火山方舟 Agent Plan 与 Coding Plan

前言

在 DeepSeek Harness(DSH)里接第三方模型,常见做法是改 llm-pi-ai 的 provider 配置:填 base URL、环境变量里的 API Key、再维护一份模型清单。火山方舟的 Agent Plan 与 Coding Plan 走 OpenAI 兼容端点,但 Agent Plan 侧没有可用的模型发现接口,清单只能靠实测维护;套餐额度又不在数据面 API 上,和对话用的 API Key 是两套鉴权。自己拼配置容易漏字段,也和 harness 自带的凭据、选择器机制对不齐。

dsh-ark-plans(维护者 DPH-1121,分类:模型推理)把两条套餐车道做成组合配置里的 provider profile,并补上会话标题栏的额度 pill 与 设置 → 模型管理 的启用/停用界面。下面介绍它解决什么问题、怎么装、以及使用时需要知道的边界。

这是什么

一句话:把火山方舟 Agent Plan 与 Coding Plan 接到 DSH 的 llm-pi-ai 适配器上,对话与 agent 可直接在模型选择器里选对应模型;会话标题栏右侧显示各车道额度用量与下次刷新时间;在模型管理页可以逐条隐藏用不到的模型,无需重启 harness。

插件形态是 组合配置 + host 半(凭据诊断、额度查询、模型开关)+ client 半(额度 pill、模型管理页)。适配 dsh 运行时 0.2.1-rc.2 起(README 写明保留自 0.1.6 的范围);当前包版本 0.3.1,许可 MIT。仓库:github.com/HaydenSmith1121/dsh-ark-plans。

核心功能

两条 provider 车道

harness 自带 @deepseek-ai/dsh-llm-pi-ai,本插件不写协议转换,只在 cordis.patch.yml 里为 llm-pi-ai 声明两条 profile:

车道 OpenAI 兼容 base 凭据环境变量名
Agent Plan https://ark.cn-beijing.volces.com/api/plan/v3 ARK_AGENT_PLAN_API_KEY
Coding Plan https://ark.cn-beijing.volces.com/api/coding/v3 ARK_CODING_PLAN_API_KEY

由此沿用官方适配器的流式、工具调用、重试、replay,以及 设置 → 模型 里的 Key 输入框。Agent Plan 内置 12 个经实测收录的模型 id(因 GET /api/plan/v3/models 返回 404,无法自动发现);Coding Plan 默认只内置 ark-code-latest(无订阅时无法探测完整清单)。

会话标题栏额度 pill(0.2.0)

每条车道一格:进度条与已用百分比(通常取最紧的 5 小时窗口)。点开可看各时间窗口明细;颜色在 ≥70%、≥90% 时切换警告/错误色;约每 5 分钟自动刷新,点开面板或点 刷新 会强制重取。

额度来自火山控制面(OpenTOP)的 GetAFPUsage / GetCodingPlanUsage,不能用套餐 API Key 调;host 半用 V4 签名,复用本机 arkcli 已建立的身份(~/.arkcli/config.yaml 与 identities/<key>/sts.json)。未登录 arkcli 时模型调用不受影响,对应车道 pill 显示「不可用」并说明原因(凭证过期、无身份、未订阅等),插件不编造数字。

模型启用/停用(0.3.0)

设置 → 模型管理 列出每条车道的全部内置模型;取消勾选即从选择器隐藏,点 保存 立即生效,不需要重启。保存失败会在页面显示原因。API Key 仍在 设置 → 模型 填写。

实现上对接 pi-ai 的「用户层覆盖」:插件写入 dsh-ark-plans.enabledModelIds(意图)并同步到 llm-pi-ai.providers.<route>.models(选择器实际清单)。空清单表示「全开」;恢复全选时会写入完整清单(方舟车道不能对 pi-ai 写空 models)。

安装与启用

安装前请自行查看仓库源码与 MIT 许可证;插件以当前 dsh 进程权限 运行,会读写 $DSH_HOME 下的配置与凭据。

在 web profile 下执行(命令来自 README):

dsh plugin --profile web add dsh-ark-plans-0.3.0.tgz

或从 GitHub 安装:

dsh plugin --profile web add github:HaydenSmith1121/dsh-ark-plans

安装后需重启该 profile(同一台机器不要同时起两次 dsh web)。

启用步骤:

  1. 打开 设置 → 模型,确认出现「火山方舟 Agent Plan」「火山方舟 Coding Plan」;
  2. 在对应行的 API Key 中粘贴套餐密钥;
  3. 在对话页模型选择器中选择方舟模型;
  4. (可选)在 设置 → 模型管理 停用不需要的模型。

密钥落在 $DSH_HOME/.credentials.yaml 的 refs: 下,键名为 ARK_AGENT_PLAN_API_KEY / ARK_CODING_PLAN_API_KEY,不会写入 settings.yaml。解析顺序为:启动时环境变量 → 该文件 → 项目 .env → $DSH_HOME/.env;若环境里已有同名变量,页面 Key 可能为只读。Key 按请求解析,填完无需重启即可生效。

若要查看额度,需在本机配置 arkcli 控制面身份,例如凭证过期时 README 建议运行:

arkcli auth login volc-sso

典型用法

对话与 agent

装好 Key 后,在模型选择器选例如 Agent Plan 的 glm-5.3、kimi-k3,或 Coding Plan 的 ark-code-latest,即可按 OpenAI 兼容协议对话;harness 会展示方舟返回的 reasoning_content(若模型有推理段)。

精简选择器

在 设置 → 模型管理 只保留常用 id,保存后选择器只显示勾选的模型。若需长期手写清单,注意该页 保存 会按内置全表与你的勾选重写 llm-pi-ai.providers;与手写 settings.yaml 冲突时以最后一次保存为准。

自行追加模型(Coding Plan 等)

在 $DSH_HOME/settings.yaml 用同名 provider 覆盖/扩展 models(整表替换语义),例如:

llm-pi-ai:
  providers:
    ark-coding-plan:
      models:
        - id: ark-code-latest
          name: Ark 智能路由 (ark-code-latest)
          contextWindow: 262144
        - id: kimi-k2.7-code
          name: Kimi-K2.7-Code
          contextWindow: 200000

有 Coding Plan 订阅时,可用 arkcli plans model-list --plan coding-plan 作权威清单参考。id 错误时 设置 → 模型 对应行会出现红色诊断(catalogError)。

适用场景与注意

适合谁:已购买火山方舟 Agent Plan 或 Coding Plan,希望在 DSH web 里统一选模型、管 Key,并可选地在标题栏看套餐额度(本机已配 arkcli)的开发者。

务必知晓的边界(README 实测结论):

  1. 未声明图片输入;需要时在 settings 里为模型条目加 input: [text, image]。
  2. 未声明思考强度档位,选择器不可调 reasoning_effort。
  3. 组合层 provider 不能单独「删掉」,不想要整条车道请 dsh plugin --profile web remove dsh-ark-plans。
  4. 与 arkcli helper configure deepseek-harness 会各写一套路由名(arkcli-* vs ark-agent-plan / ark-coding-plan),可能重复出现在选择器,二选一即可。
  5. 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;安装插件属于扩展本机 harness,请自行评估信任边界。

结尾

dsh-ark-plans 把方舟两条套餐车道、凭据与实测模型表接到 DSH 自带的 pi-ai 适配器上,并补上额度 pill 与模型管理 UI,减少手写 YAML 和猜端点的工作。需要细节、变更记录与完整模型表时,以仓库 README 为准。

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

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

小夜