前言¶
DeepSeek Harness(DSH)把模型提供商做成可插拔路由:选模型、走统一聊天协议、在 Web 里管配置。若你订阅的是火山引擎火山方舟 Coding Plan,端点是 OpenAI 兼容的 https://ark.cn-beijing.volces.com/api/coding/v3,但账户可能是 CLI SSO、控制台 API Key、多账号轮换,套餐额度又在控制面而不是聊天响应里——单靠环境变量和手写模型列表,很难在 DSH 里长期对齐「能聊哪些模型、上下文多少、本周还剩多少」。
社区插件 dsh-ark-coding-provider(维护者 Akiyuki1130,SkillHub 分类:模型推理)按类似 dsh-commandcode-provider 的形态,注册提供商 ark-coding、在 Models 页挂卡片、在设置里开「火山方舟」分区,并把 12 个模型的实测容量、官方目录对照和真实套餐额度收进同一套界面。下文说明它做什么、怎么装、怎么配密钥与账户。
这是社区集成,不是火山引擎官方产品。你需要自己的火山方舟账号与 Coding Plan 订阅,并遵守火山引擎服务条款。
这是什么¶
dsh-ark-coding-provider 是火山方舟 Coding Plan 的 DSH LLM 提供商插件(当前包版本 0.5.0,声明兼容 DSH 0.2.0-rc.2)。它解决的是:在 Harness 里用固定路由调用 Coding Plan 聊天接口,同时把多账户凭据、模型事实和套餐用量展示放在插件自己的设置页与侧边栏,而不是让你自己维护一份过期的模型表。
核心能力¶
提供商路由与协议¶
插件注册路由 ark-coding,请求发往 Coding Plan 的 OpenAI 兼容端点(/chat/completions,支持 SSE 流式)。宿主侧还通过 createDiscovery() 做模型发现:在 Models 卡片上触发「Fetch available models」时,用一次性密钥真实打一次端点,成功则回传内置的 12 个模型容量事实;密钥只存在于该次请求,宿主不存储,浏览器不接触方舟。
十二个模型与实测容量¶
模型目录里的上下文窗口、单次输出上限、是否接受图像、reasoning_effort 档位,是插件对端点逐项探测的结果(README 标注实测日期 2026-10-15),包括 Doubao、MiniMax、智谱 GLM、DeepSeek、Moonshot Kimi 等 id。模型选择器上的注解为语言无关短形式(例如 厂商 · 1024K ctx),数据来自适配器上报。
README 还记录了若干与官方 /models 不一致、需适配器处理的点:例如 glm-5.3-flash 实测可识图而目录仅标文本;glm-5.3 仅文本且思考档位为 low/medium/high/max;minimax-m3 的 tool_calls[].type 服务端回传 functionfunction,适配器在重建请求时写 type: "function" 以保证多轮工具调用;deepseek-v4-flash / deepseek-v4-pro 按纯文本处理,避免模态声明错误导致请求落盘后才失败。
设置页与 Models 卡片¶
- 设置 → 火山方舟:账户管理、CLI 登录向导、逐模型可见性、连接参数、上下文覆盖;模型卡片并排展示 arkcli 拉到的官方模型目录(对照用,不覆盖内置 12 行实测事实)。
- Models 页提供商卡片:只读展示当前账户、额度来源、未配置时的指引;卡片上没有密钥框和「测试连接」——密钥在设置页账户行填写。宿主 Models 页自带的密钥编辑器写的是顶层
ARK_CODING_API_KEY,在accounts为空时会被读成兜底「默认账户」。
密钥通过本机凭据服务写入,页面只显示是否已配置,不回传明文。
内置 arkcli 与额度¶
设置页可将官方 CLI @volcengine/ark-cli@1.0.39(钉住版本,非 latest)安装到插件目录,用于拉官方模型目录和真实套餐额度(5 小时 / 本周 / 本月百分比与刷新时间)。左下角侧边栏卡片默认展示 5 小时与本周两档;点击展开可看各账户登录状态与三档额度。查不到真实额度时不显示占位卡片;仅有 API Key、无 CLI 或 AK/SK 时无法从控制面查额度(火山接口划分,非插件单独限制)。
账户类型可混用:CLI 登录(SSO) 或 API Key;某账户打满可自动轮到下一个。CLI 账户使用独立 HOME(<DSH_HOME>/ark-coding/accounts/<账户 id>),避免 arkcli 固定写 $HOME/.arkcli 导致多账号覆盖。
安装与启用¶
安装命令以 README 为准:先打包为 tarball,再用 profile 安装;不要用目录路径安装(pnpm 符号链接会导致 harness 包 ERR_MODULE_NOT_FOUND)。装完后需重启 dsh。
# 打包
cd ark-coding-provider && npm pack # 产出 dsh-ark-coding-provider-<version>.tgz
# 装进 profile(把路径换成上面那个 tarball)
dsh plugin --profile web add /path/to/dsh-ark-coding-provider-<version>.tgz
插件以当前 dsh 进程权限运行;安装前请自行查看仓库源码与 MIT 许可证。
配置密钥与账户¶
设置页(推荐)¶
设置 → 火山方舟 → 「账户」:新建「API Key」类型账户,在该行密钥框粘贴后保存。或 添加账户 → CLI 登录:按向导在浏览器完成火山 SSO,将跳转后的 http://127.0.0.1:<端口>/… 完整地址粘回设置页(端口在跑 DSH 的服务器上,本地浏览器显示无法打开属正常)。CLI 登录一次可同时拿到聊天用 key、套餐额度与官方模型目录;凭据有过期时间,设置页会显示具体日期(来自 arkcli profile 的 expires_at)。
环境变量与兜底账户¶
export ARK_CODING_API_KEY="ark-..."
当配置里 accounts 为空 时,插件把顶层 apiKeyEnv(默认 ARK_CODING_API_KEY)与可选字面量 apiKey 当作 id 为 default 的「默认账户」,用于接住 Models 页宿主密钥编辑器。accounts 非空后兜底不再生效;要关闭兜底需将 apiKeyEnv 设为空串。单账户解析顺序:账户内字面量 apiKey > 凭据服务 > 环境变量 / .env。
仅 API Key 可聊天,但查不到套餐额度、也拉不到官方模型目录;要看用量至少需要一名 CLI 登录账户,或在无 CLI 时配置 AK/SK(设置页「用量与显示」)走控制面签名。
适用场景与注意¶
适合已在火山方舟开通 Coding Plan、希望在 DSH Web profile 里统一选模型、管多账号、对照官方目录并盯套餐百分比的开发者。不适合把它当作火山官方支持渠道;计费、配额策略以火山控制面为准。
多账户、工具调用、图像模态均以 README 实测与适配器逻辑为准;升级 arkcli 或改用 latest 可能破坏额度与目录解析。远程 DSH 部署时 CLI 登录依赖把授权回调 URL 粘回服务器侧向导,必要时需自行打通到 127.0.0.1 的隧道。