DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Cliproxy — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

dsh-cliproxy

Cliproxy

DeepSeek Harness 插件:通过本地 CLIProxyAPI 实例路由 cliproxy-claude 和 cliproxy-openai,使代理能够访问您自己的 CLI 订阅

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

npx -y @deepseek-ai/dsh plugin --profile web add github:DevViking-Persike/dsh-cliproxy#467af8cd6b2d40562903f0748484b84631cf595e
README兼容性版本

兼容性与来源证明

Cliproxy 以 dsh-cliproxy 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/22

版本

0.1.0stable
2026/8/22

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Im@xmanrui/dsh-im将十一种 IM 渠道和一个公网 AI Office 接入本地 DeepSeek Harness。Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。Chat Importdsh-chat-import将 25+ 个 AI 编程 Agent 的对话历史导入 DeepSeek Harness,作为可恢复会话继续使用,完整保留工具调用、推理和结果,并支持反向导出与同步。

README

dsh-cliproxy

Routes cliproxy-claude and cliproxy-openai in DeepSeek Harness through one local CLIProxyAPI instance, so the agent reaches your own CLI subscriptions over an OpenAI-compatible endpoint.

Install

dsh plugin --profile web add github:DevViking-Persike/dsh-cliproxy

Restart dsh. Both routes appear in the model catalog once a key is available.

Requirements

  • A running CLIProxyAPI instance. The default endpoint is http://127.0.0.1:8317/v1.
  • The proxy's API key, read per request from CLIPROXY_API_KEY — through the harness credential store when one is mounted, otherwise from the environment.

Without a key the routes still mount; each model call fails with MISSING_CREDENTIAL naming the variable to set. That is deliberate: a credential is not a load-time fact, and a rotated key must take effect on the next call rather than at the next restart.

Configuration

Every field is optional.

FieldDefaultMeaning
baseURLhttp://127.0.0.1:8317/v1Endpoint including the /v1 prefix.
apiKeyEnvCLIPROXY_API_KEYCredential reference and environment variable holding the proxy key.
claudeModelssix Claude entriesCatalog for cliproxy-claude. A supplied array replaces the default.
openaiModelsfive GPT entriesCatalog for cliproxy-openai.
streamIdleTimeoutMs300000Budget between reads before the transport gives up.
defaultContextWindow200000Context assumed for a model absent from the catalog.
maxTokens32000Output cap when neither request nor catalog states one.
retryPolicynormal, 3 retriesMerged over the default; read field by field by the harness retry plugin.
- id: dsh-cliproxy
  name: 'dsh-cliproxy'
  config:
    baseURL: http://127.0.0.1:8317/v1
    claudeModels:
      - id: claude-opus-5
        name: Claude Opus 5
        contextWindow: 1000000
        maxTokens: 128000

A supplied catalog replaces rather than merges: naming three models means those three, and merging would silently reintroduce models your proxy does not serve.

Model Experience

The adapter is transparent to the model: it registers provider routes and streams responses, adding no tool, prompt section, or context.

What it does affect is accounting. Usage counts are reported disjoint — inputTokens excludes cache reads, which the wire reports inside prompt_tokens. Passing the raw number through would double-count every cache hit in the cost display.

Text only. Image content is refused before any request is sent, because the serialization path would otherwise drop it and the model would answer a question it never saw.

Safety

  • The key is read per request and never enters an error message; a key that cannot be sent as a header names the reference, not the value.
  • A truncated stream raises STREAM_CLOSED rather than presenting as a normal finish, so a cut-off response is never mistaken for a complete one.
  • A 400 whose message names the context window is reported as CONTEXT_WINDOW_EXCEEDED, not INVALID_REQUEST — the caller can recover from one by compacting and not from the other.
  • A provider's retry-after is carried through to the harness retry plugin, so backoff follows the provider's schedule instead of a local guess.
  • The idle budget covers silence from the server, not deliberation by the consumer: the timer runs only while a read is outstanding, so a slow reader never trips it.

Known Limitations and Deferred Work

  • Version-sensitive by construction. This plugin lives outside the harness repository, which states it makes no compatibility promise before its first release. The chunk vocabulary it emits is therefore verified at load against a fixed payload, and a mismatch refuses to mount with a message naming the drifted field — a renamed field would otherwise corrupt output with nothing reported.
  • No image or audio input. The endpoint may accept them; this adapter does not serialize them.
  • No registerConfigurableProviders entry, so the routes do not appear in the settings-driven provider directory. That directory requires a settings namespace whose section configures the route, and this plugin is configured from cordis.yml instead.
  • Model catalogs are static configuration, not discovered from the proxy. listModels reports what is configured; a model your proxy serves but the catalog omits still works when named explicitly, resolving with the default context window.
  • The test suite runs entirely against a local node:http server. It proves this plugin's behavior, not that CLIProxyAPI speaks exactly this dialect — the fixtures encode the harness's belief about the wire, recorded from its own implementation.

Tests

npm install && node --test test/*.test.js

59 tests, no network and no key required. The translator and serializer fixtures are recorded output from the harness's own implementations, so a divergence between this port and the reference fails the suite rather than reaching a model call.

License

MIT — see LICENSE and NOTICE.md.