DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

@lightmanlu/dsh-provider-qoder

Provider Qoder

用于 DeepSeek Harness 的 Qoder CN 适配器插件:针对 gateway.qoder.com.cn 的 COSY 签名、WAF 编码流式传输

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:minglu6/dsh-provider-qoder#1041a5377babfc75c23c72537a8b2e80b1aa017a
README兼容性版本

兼容性与来源证明

Provider Qoder 以 @lightmanlu/dsh-provider-qoder 发布,当前版本为 0.1.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/21

版本

0.1.2stable
2026/10/21

相关插件

正在加载相关插件…

最新版
0.1.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 6
周下载
0
最近提交
2026/10/21
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundle扩展推理的实验性机器翻译Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Our Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片

README

@lightmanlu/dsh-provider-qoder

Qoder CN adapter plugin for DeepSeek Harness.

Installs the qoder-cn provider route: COSY-signed, WAF-encoded streaming against gateway.qoder.com.cn. A Qoder PAT (pt-...) is stored through the Models page and exchanged per process for a short-lived job token.

Install

Requires DeepSeek Harness 0.2.1-alpha.1 or newer in the 0.2.x line and pnpm. Verified against the official 0.2.1-alpha.2 runtime.

dsh plugin --profile web add @lightmanlu/dsh-provider-qoder
dsh web

Open Settings → Models → Qoder CN → Edit connection. This card ships with the plugin and uses the official Models-page extension slot; no Harness source patch is required. Enter a PAT, and optionally an enterprise VPC instance ID. Leave the instance empty for the public CN cloud. Advanced settings allow explicit Gateway and OpenAPI URLs.

The card never reads back the PAT. Leaving its input empty preserves the existing credential; environment-owned credentials are read-only. Connection changes take effect on the next request. If configuration saves but credential storage fails, the card keeps the token draft and reports the partial save for retry. A stale configuration revision is rejected before writing a token.

The unscoped npm package dsh-provider-qoder belongs to a different project. This implementation is published as @lightmanlu/dsh-provider-qoder; github:minglu6/dsh-provider-qoder remains an alternative source. To link a local checkout after building:

npm install
npm run build
dsh plugin --profile web link /absolute/path/to/dsh-provider-qoder

Restart the Web profile after installing or rebuilding the plugin's browser bundle.

For Desktop, fully quit the application and replace --profile web with --profile desktop. When migrating this implementation from an older GitHub/tarball install named dsh-provider-qoder, replace that dependency and its dsh.profile.bundles entry with the scoped name; also update the existing llm-qoder entry's package name to @lightmanlu/dsh-provider-qoder. Preserve that entry's connection configuration, credential references, and all credential storage. Do not load both names at once.

Remove:

dsh plugin --profile web remove @lightmanlu/dsh-provider-qoder

From a DeepSeek Harness checkout:

pnpm dsh plugin --profile web add @lightmanlu/dsh-provider-qoder
pnpm dsh web

Config

The bundle mounts the llm-qoder entry. Its live configuration is persisted through DSH's profile cordis.patch.yml, and PATs are stored through the DSH credentials service. The default credential reference is QODERCN_PERSONAL_ACCESS_TOKEN; a launch environment can supply that reference instead.

An existing providers.qoder-cn profile overrides only the fields it declares and inherits other root fields. The card edits that profile when present, otherwise the root. An explicit empty VPC instance selects public cloud instead of an inherited or environment-provided tenant. Empty URL overrides derive endpoints from the selected VPC or public cloud. Advanced configuration and model overrides not edited by the card are preserved.

Unless models is configured, the adapter fetches Qoder's signed live catalog from /algo/api/v2/model/list whenever DSH lists the provider. Model IDs are the upstream key, and labels are the upstream display_name (or the key when no name is supplied). Generation sends that same key unchanged in its headers and body. Distinct keys remain distinct even when their display names match.

Exact-model resolution reuses the latest successful catalog in the current process. The DSH browser also caches its model selector catalog: opening the menu repeatedly does not poll Qoder. Reload the page to request a fresh catalog, or let settings, credentials, or adapter changes trigger its refresh.

models remains an optional complete static override for deployments that intentionally pin the selector catalog. Every configured id must be an upstream wire key. This list replaces live discovery rather than extending it. Authentication failures surface as AUTH (and a rejected job-token session is dropped and retried once after a fresh exchange), transport, invalid JSON, and empty-catalog failures surface as discovery errors instead of falling back to a built-in list.

Model-ID migration

Saved selections or static catalogs using versioned aliases such as qwen3.6-flash, kimi-k2.6, or glm-5.2 must be reselected from the live directory or changed to the intended upstream key. Do not infer the key from an old version label: Qoder can rename or replace the model behind a key. auto is unchanged. Historical session logs are not rewritten. The getQoderCNDirectModel helper is no longer exported; callers send the selected upstream key directly.

Tool-call history compatibility

Qoder can reject tool results when the preceding assistant message contains only tool calls and has content: null. The adapter adds a non-empty (tool call) marker to that assistant message on the wire, preserving call IDs, arguments, result order, and stored session history. Existing text and reasoning remain unchanged. After installing the updated plugin and restarting the Host, affected conversations can be retried without rewriting their history.

In-band upstream errors expose the nested provider message and gateway request ID rather than truncating the JSON wrapper before the actionable detail. Error classification and authentication retry behavior are unchanged.

Streaming reasoning and incomplete responses

The adapter incrementally recognizes <thinking>, <think>, <reasoning>, and <thought> across stream boundaries, even if upstream emits them with reasoning disabled. Ordinary text, whitespace, native reasoning, and structured tool calls are preserved.

A normal stop containing only reasoning, or unclosed tagged reasoning without a structured tool call, finishes with QODER_INCOMPLETE_RESPONSE rather than reporting success. Partial reasoning remains available as evidence; orphan DSML fragments are not converted into invented tool calls. Real tool calls and length-limit termination retain their normal behavior. This guard does not retry requests or replay tools.

Remote sessions and unsolicited checkpoints

Remote session identity is scoped to the gateway, account, provider route, model, harness sessionId, and request purpose. Compaction and session-title calls do not share the foreground conversation's remote session. Requests without a harness session get a fresh identity; request-record IDs also include the serialized messages, tools, prompt, and generation settings.

For ordinary conversations, the adapter quarantines the specific unsolicited <analysis>…</analysis><summary>…</summary> checkpoint scaffold containing at least three recognized English/Chinese checkpoint headings. Fragmented tags and Markdown quote separators are supported; ordinary XML examples and answers following a checkpoint are preserved. Quarantined output is not exposed as answer text, and generation is retried once with the original history/tools, a fresh remote session, and an instruction to complete the task. The adapter never executes or replays tools. Another checkpoint finishes with QODER_UNEXPECTED_SUMMARY, not a successful stop; upstream failures and cancellation retain their original semantics.

Harness requests explicitly marked purpose: 'compaction' or 'session-title', and user-requested summaries, bypass this output safeguard. DSH compaction can carry the foreground tool declarations, so tool presence is not used to identify it. The guard is not a general XML filter or a fix for the gateway's internal summarization behavior. Recovery may incur one additional model request.

Development

npm ci
npm test
npm run typecheck

The build emits the Host adapter and a lazy-CJS browser bundle under dist/. Both are included in the package and tracked for direct GitHub installation. The adapter accepts the official request-message format, including standalone role: tool results.

License

MIT