dsh-packycode-api
Use PackyCode API keys in DeepSeek Harness with multi-protocol models, image generation and editing, separate key rings, and balance display
一句话定位
Use PackyCode API keys in DeepSeek Harness with multi-protocol models, image generation and editing, separate key rings, and balance display
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-packycode-api@1.4.7
兼容的 DSH 版本
>=0.1.5-rc.1 <0.3.0-0
作者与热度
BaronCyrus · ★ 23 · 更新于 2026-11-05
关于这个插件
DSH PackyCode API
简体中文 · [English](README.en.md)
用 PackyCode 的 API Key,在 DSH 里选模型、轮换 Key、看余额。
安装后自带 PackyCode 模型分组,不用改 YAML,也不用另配 provider。
[功能](#功能) · [安装](#安装) · [日常使用](#日常使用) · [模型与分组](#模型与分组) · [更新与卸载](#更新与卸载) · [支持作者](#支持作者)
功能
| 能力 | 使用体验 |
| --- | --- |
| 自带模型路由 | 安装后模型选择器出现 PackyCode 分组,不需要配置 provider,也不用改 cordis.patch.yml |
| 自选显示的模型 | 设置页的模型列表默认全选;取消勾选后,切换列表立即隐藏该模型,已有会话仍可继续使用 |
| 多 Key 按顺序使用 | 额度用尽或 Key 被拒绝时自动切到下一个可用 Key;失败的那一步由重试接手 |
| 按分组选 Key | 每个 Key 后面列出它所在的 PackyCode 分组和能用的模型;当前 Key 的分组用不了所选模型(例如没有 cc 分组却选了 Claude)时,这一轮自动改用分组合适的 Key |
| 余额一眼可见 | 设置页列出每个 Key 的剩余、已用、额度、重置周期和用量条;输入框右侧显示当前 Key 的剩余额度 |
| Claude 按分组选通道 | cc 分组只接受官方客户端,这些 Key 的 Claude 会话由本机 Claude Code 自己完成:它用自己的系统提示词和工具做事,DSH 显示每次工具调用,并负责授权、计划审阅和提问;cc-sale、cc-expensive、claude-officially 等分组走插件内 HTTP,由 DSH 自己的 agent 执行 |
| 网页搜索可走 PackyCode | 可选:DSH 的 web_search 改用 PackyCode 搜索,后端在 DeepSeek 与 GPT 之间切换;可只对 PackyCode 模型生效 |
| 图片生成与编辑 | 独立图片 Key,支持 GPT Image 2 / 2.6 Flare / 2.6 Sunburst、型号与质量设置、参考图编辑和 PNG 原图保存;已通过网关生图与编辑实测 |
| 自动审查可换模型 | 开启 DSH 自带的「自动授权审查」后,权限菜单里的「自动审查」可改用 jev-latest 或 DeepSeek Flash 审查每次工具调用,审查规则和处理方式保持官方原样 |
| 凭据不离开本机 | Key 只存在 DSH 凭据文件里。浏览器只能看到备注、状态和余额,拿不到 Key |
安装
先准备好 DeepSeek Harness 和 PackyCode(PackyAPI)的 API Key。尚未安装 DSH,可查看 [DSH 官方说明](https://github.com/deepseek-ai/deepseek-harness#run)。还没有 API Key 的,可以通过[这个邀请链接](https://www.packyapi.ai/register?aff=Im3l)注册 PackyCode 申请。
1. 安装插件
打开桌面应用的插件页,点击添加插件,在包名或地址中填入带版本号的包名:
dsh-packycode-api@1.4.7
在安装源中选择官方源,然后点击安装。1.4.7 是写这份说明时的最新版,当前最新版本号以 [npm 页面](https://www.npmjs.com/package/dsh-packycode-api) 为准。
> 一定要带版本号。 只填 dsh-packycode-api 时,安装前的提示显示的是 npm 上的最新版,但 DSH 自带的 pnpm 默认只安装发布满 24 小时的版本,实际装上的可能是好几个版本之前的旧版,而安装提示里看不出这一点。填写精确版本时,pnpm 会直接安装这个版本,并自动把它加入 profile 的 minimumReleaseAgeExclude。装好后可以在 设置 → PackyCode → 插件版本 核对「当前版本」。
首次安装后无需重启 DSH,可直接打开设置 → PackyCode 添加 Key。这适用于 1.1.7 及以后的版本;更早的版本首次安装后要重启一次,见「常见问题」。更新已加载的旧版时,按「插件版本」卡片的重启提示操作。
2. 添加 Key
打开 设置 → PackyCode,在「添加 Key」里粘贴 API Key。备注可选,用来区分多个 Key。点「添加」。还没有添加过 Key 时,「账户与 Key」里会显示同一个注册邀请链接,点击后在系统浏览器中打开;添加 Key 之后就不再显示。
> 不要把 Key 粘贴到公开 Issue、聊天记录或截图里。插件不会读取环境变量 PACKY_CODE_API_KEY,也不会在失败时偷偷改用别的 provider。
3. 选择模型
回到对话,在模型选择器里选 PackyCode 分组下的模型。十三个模型里,Claude 在 cc 分组的 Key 上由本机 Claude Code CLI 执行,其余都通过插件内 HTTP 调用;Key 的分组必须覆盖所选模型。
检查安装 / 其它 profile / 本地目录
桌面应用的插件页可以看到已安装状态与版本,也可以在那里启用、停用或卸载。
仅用于非 desktop profile: dsh plugin --profile add dsh-packycode-api@1.4.7。不要对 desktop 使用它 —— CLI 会直接拒绝(profile "desktop" is managed exclusively by the Electron application)。
本地开发要加 link: 前缀:dsh plugin --profile add link:/path/to/dsh-packycode-api。不要直接写路径(或 file:) —— 那样的安装会把整个仓库目录(连同 node_modules)复制进 profile,之后它会在 profile 内部挡住 DSH 自带的包,插件看起来像没装,见「常见问题」。已经那样装过的话,先卸载再按上面的方式重装。
没有浏览器的 profile 也能走模型路由,只是看不到设置页和输入框额度。
日常使用
选择显示的模型。 在 设置 → PackyCode → 显示的模型 中勾选要在切换列表里看到的模型,默认全选,也支持「全选」和「全不选」。选择保存在当前 profile,修改后立即生效;取消勾选不会中断已有会话。后续新增的模型默认勾选。
换 Key。 Key 按添加顺序使用。点「切到此 Key」指定优先使用的 Key,下一轮就生效;「重命名」改备注(最多 60 字,不能为空);充值或更换后点「重新启用」。
看分组。 「账户与 Key」里每个 Key 下面列出它所在的 PackyCode 分组(鼠标悬停可看分组说明),以及能用哪些模型:✓ 可用、◐ 部分可用、✕ 不可用。分组由网关自己报出(对一个不存在的模型 id 的拒绝里会写明「已选分组」,单分组的 Key 则是「分组 … 下模型 … 无可用渠道」,不产生费用),再对照 PackyCode 公开的模型分组表。Claude 的分组覆盖要按具体模型确认,不能假定 cc-sale 支持全部三个型号;GPT 需要 codex / codex-sale;DeepSeek 需要 deepseek-officially / deepseek-sale;Hy4 需要 hunyuan-officially。
看余额。 「账户与 Key」里每个 Key 显示它自己的剩余、已用与额度(额度 = 剩余 + 已用),不限额的 Key 显示「不限额度」;多个 Key 不相加成合计。API Key 只能读到自己的额度,读不到 PackyCode 账号的总余额,账号余额请到 PackyCode 控制台查看。读失败的 Key 会在它那一行注明原因;某个 Key 这次读失败但之前读到过,会继续显示上次的余额并注明读取时间(输入框里显示为 ≈US$…),重启 DSH 后才清空。输入框右侧只在选中 PackyCode 模型时显示当前 Key 的剩余额度。「刷新」会跳过约 60 秒的缓存。默认模型接口是 https://cf.api.fan,余额接口是 https://www.packyapi.ai,可在「高级:接口地址」里改。旧默认值 https://www.packyapi.com 在国内网络下 DNS 被污染、直连会 fetch failed,即使设置里保存的是它,插件也会先试 .ai。
用 Claude。 直接选择三个 Claude 模型之一。Key 在 cc 分组时,这个会话由本机的官方 Claude Code CLI 完成,需要先在 设置 → PackyCode → Claude Code CLI 一键安装(或自行 npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code),版本过低或有新版本时在同一处点「更新 Claude Code CLI」;cc-sale、cc-expensive、claude-officially 等分组直接走插件内 HTTP,不需要 CLI。「账户与 Key」里每个能用 Claude 的 Key 会标出「Claude 经官方 CLI」或「Claude 经 HTTP」,通道由分组决定,不能手动切换;分组还没读到时先走 CLI。经 HTTP 时工具由 DSH 执行,计划模式、提问、待办、子代理、附件、思考档位和历史都和其它模型一样;经 CLI 时由 Claude Code 自己执行,差别见下方「Claude Code CLI 通道」。
网页搜索。 DSH 的 web_search 默认调用 DeepSeek 官方接口(用 DEEPSEEK_API_KEY 计费)。在 设置 → PackyCode → 网页搜索 里可以改走 PackyCode:
| 搜索路由 | 效果 |
| --- | --- |
| 不接管(默认) | 不改 DSH 的搜索设置 |
| 自动(按模型路由) | PackyCode 模型用 PackyCode 搜索,其他模型照旧 |
| 始终使用 PackyCode 搜索 | 原本走 DSH 默认搜索的请求都改走 PackyCode |
| 搜索后端 | 模型与协议 | 说明 |
| --- | --- | --- |
| DeepSeek(默认) | deepseek-flash,/v1/messages + web_search_20250305 | 每次约几千 token;需要 DeepSeek 分组 |
| GPT | gpt-6.1-sol,/v1/responses + web_search | 结果通常更新、更准,每次约 2–3 万输入 token;需要网关把这个 Key 的 GPT 请求路由到它的分组 |
PackyCode 没有专用搜索接口:一次搜索就是一次带服务端搜索工具的模型调用,用这里的 Key 计费,额度用尽或 Key 被拒绝时同样切到下一个 Key。
Claude 的搜索。 Claude 对话使用 DSH 的 web_search,遵守上表的路由选择,搜索所用 Key 与其它原生模型遵循同一规则。
网页搜索是怎么接进 DSH 的
- 插件向 DSH 的
web服务注册两个搜索后端:packycode-api(始终走 PackyCode)和packycode-api-auto(按发起会话的模型路由)。只注册不会改变任何行为。 - 选「自动」或「始终」时,插件在当前 profile 的
cordis.patch.yml末尾写入一段带# >>> dsh-packycode-api: web search provider标记的- id: web配置,把 web 行的基础searchProvider指向上面的后端;DSH 会热加载这个文件,不用重启。切回「不接管」会删掉这段,其它内容原样保留。 - 不直接改 web 运行时的搜索槽位:Codex、Kimi 等订阅插件每次 web 重启都会重写那个槽位,两边都写会互相触发重启。它们对自己不负责的模型会回退到 web 行的基础配置,所以写基础配置能和它们共存:Codex 模型仍走 Codex 搜索,其余请求才轮到这里的选择。
- 这段配置用注释记下写入前的基础搜索(
# fallback: …)。「自动」模式下非 PackyCode 模型的请求交给它;如果它又把请求转回本插件,就直接交给 DSH 内置的deepseek-official,不会循环。 - 结果只取结构化数据:DeepSeek 用
web_search_tool_result块,GPT 用url_citation标注和web_search_call记录;模型写的摘要作为content一并返回。 - 当前 Key 的分组覆盖不到所选后端的模型(网关报
当前令牌未覆盖供应商)时,会试下一个 Key,不停用 Key;都不行就提示切换后端。 - 设置页会显示当前生效的基础搜索和运行时搜索。如果另一个插件的补丁排在后面
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| dsh-our-free-model | Ebony-Vinyl | 68K | 2.1.0 | 2026-11-10 |
| next-ai-draw-io | DayuanJiang | 36.9K | 0.4.10 | 2026-11-09 |
| MemOS | MemTensor | 12.3K | 0.0.0 | 2026-11-09 |
| bisheng | dataelement | 12.2K | 0.0.0 | 2026-11-10 |
| webnovel-writer | lingfengQAQ | 7.9K | 0.0.0 | 2026-11-07 |