前言¶
DeepSeek Harness(DSH)采用插件化架构,允许用户通过扩展来丰富功能。华为云 CodeArts 提供了包括 GLM-5.2、盘古、Qwen、DeepSeek 等在内的多种模型。要直接在 DSH 的对话窗口中使用这些模型,通常需要手动配置 API 密钥或切换外部界面。dsh-codearts 插件旨在解决这一割裂问题,将 CodeArts 的模型资源直接接入 DSH 的对话流中。
这是什么¶
dsh-codearts 是一个由 elegant01 维护的联网工具类插件。它的核心功能是将华为云 CodeArts 的模型服务通过插件形式挂载到 DSH 上,使用户无需离开 DSH 界面即可调用 CodeArts 的模型能力。
核心功能¶
插件实现了以下能力:
- 账号登录:使用 OAuth2 + DPoP 协议进行身份验证,在 DSH 设置卡片中点击即可完成登录,无需手动填写密钥。
- 自动续期:凭证有效期约 2 小时,过期前会自动续期;续期失败时会在界面上提示重新登录。
- 多账号轮转:支持添加多个账号。当某个账号的会话槽位被占满时,请求会自动切换至下一个可用账号,解决因并发限制导致的等待问题。
- 模型管理:通过配置项 enabledModels 控制模型选择器中出现的模型;支持自动发现模型清单(内置 / 限时福利 / agent-center)。
- 用量统计:统计本机的请求次数、Token 消耗及会话槽位占用情况。
- 视觉支持:支持图片输入。
- 降级方案:支持手动粘贴令牌,适用于脚本或排查场景。
- 命令行工具:提供 status、models、usage、identity、doctor、logout 等子命令。
安装与启用¶
插件需要从源码构建并部署到 DSH 的 profile 目录中。在项目根目录执行以下命令:
pnpm install && pnpm run build
node scripts/deploy.mjs [profileDir]
其中 profileDir 默认为 <用户目录>/.dsh/profiles/desktop。部署时需确保将构建产物(package.json、lib/、cordis.patch.yml)放入对应目录,并更新 profile 的 package.json、node_modules/.package-map.json、node_modules/.modules.yaml。
典型用法¶
- 打开 DSH 设置,找到 CodeArts 卡片,点击「使用华为云账号登录」。
- 浏览器会打开授权页,登录华为云账号。完成后会自动跳回本机,凭证写入
$DSH_HOME/.codearts-auth。 - 新建对话,在 provider 中选择
codearts,然后选择一个模型即可开始对话。
命令行工具¶
插件提供了命令行接口用于检查状态和查看详情:
dsh plugin --profile <profile> exec dsh-codearts status
dsh plugin --profile <profile> exec dsh-codearts models
dsh plugin --profile <profile> exec dsh-codearts usage
dsh plugin --profile <profile> exec dsh-codearts identity [--fix]
dsh plugin --profile <profile> exec dsh-codearts doctor
dsh plugin --profile <profile> exec dsh-codearts logout
status:查看登录状态与模型清单。models:查看上游真实返回的模型列表(包含内置、限时福利、agent-center)。usage:查看本机用量账本(非账号总额度)。identity:查看账号稳定身份,--fix可合并重复条目。doctor:诊断环境,不涉及密钥内容。logout:清除本地保存的凭证。
注意事项与限制¶
- 凭证有效期:凭证有效期约 2 小时,过期前会自动续期。
- 并发限制:上游对每个账号的并发会话数限制为 3 个。中途停止生成并不释放槽位,需等待约 1 分钟。建议添加第二个账号以实现自动轮转。
- 身份识别:上游登录响应不返回用户标识,插件会再请求
/snap-manager/v1/current/user获取稳定的user_id。 - 模型参数:模型参数(如
max_tokens)有实测上限,未实测模型使用保守值(65536)。 - 用量统计:用量账本仅统计本机发出的请求,不等于账号总额度。
- 合规性:仅供个人学习和研究使用,需遵守华为云及 CodeArts 的服务条款。
结尾¶
dsh-codearts 插件通过提供 OAuth2 登录、自动续期和多账号轮转机制,有效地解决了在 DSH 中调用 CodeArts 模型的集成问题。该项目采用 MIT 许可证,维护者 elegant01。
- 目录页:https://www.skillhub.cn/plugins/elegant01/dsh-codearts
- 源码:https://github.com/elegant01/dsh-codearts