DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-zed-provider

Zed Provider

在 DeepSeek Harness 中使用你的 Zed AI 订阅(Pro / Student):注册带有实时 Claude 模型目录的“zed-agent”提供商路由。

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-zed-provider@0.1.3
README兼容性版本

兼容性与来源证明

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

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

版本

0.1.3stable
2026/10/14
0.1.2stable
2026/10/13
0.1.0stable
2026/10/13

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。Cost Meterdsh-cost-meterDeepSeek Harness 会话费用统计插件:本会话成本、当日费用、历史记录与官方价格同步,支持多厂商多模型价格计费(内置 170+ 模型 ID 价格目录与自动匹配)、主流 Coding Plan 订阅额度查询与显示(13 家,含 OpenDesign 工作区查询、含小米 MiMo Token Plan 控制台 Cookie 查询、SCNet Token Plan 本地 Credits 计量与火山方舟 Volcano Ark Coding Plan AK/SK 签名查询)、自定义 Provider

README

dsh-zed-provider

Run your Zed AI subscription (Zed Pro / Student — the monthly prompt credits) inside DeepSeek Harness. The bundle registers one LLM provider route, zed-agent, whose turns are minted and streamed through Zed Cloud (https://cloud.zed.dev) exactly as the Zed editor does it.

Install

dsh plugin --profile web add dsh-zed-provider

Link your Zed account

Type /zed-login in the Harness composer. The command opens Zed's native-app sign-in page, waits for the loopback callback, and stores the resulting grant in the Harness credential store (llm-zed/zed-agent). Later requests reuse it, and the short-lived gateway token is minted automatically and refreshed on demand.

Credentials are resolved in this order, so any one of them is enough:

  1. config.credentials — a literal "<userId> <accessToken>" (or JSON) value.
  2. config.apiKeyEnv (default ZED_CREDENTIALS) — resolved through the credential seam. The Models settings page shows this as the Zed card's key field, so a credential pasted there works without /zed-login.
  3. The llm-zed/zed-agent grant record written by /zed-login.
  4. The Zed editor's own local keyring entry, on macOS (zed.dev) and Linux (secret-tool), imported once into the grant record — sign in inside Zed and this plugin picks it up by itself.

apiKeyEnv is spelled that way because the Models page reads exactly that field name; its value is a credential reference, and what it holds is the "<userId> <accessToken>" pair Zed issues.

Settings UI

Settings → Models → the Zed card carries this bundle's own editor (lib/client.js, a client-module half registered on the page's settings.models.provider-card seat for the llm-zed namespace):

  • credential status, from the card's credential join plus a live credentials/describe;
  • a credential field that stores "<userId> <accessToken>" under the reference apiKeyEnv names (read live from the settings document, default ZED_CREDENTIALS), with Remove to unset it;
  • a refusal instead of a silent no-op when that reference is supplied by a read-only source such as an environment variable.

It also carries the model chooser: the Host registers llm.registerModelDiscovery for this namespace, the page reads it through llm/discoverModels, and the tick boxes write visibleModels through settings/mutate. That field is volatile, so a tick changes the picker on the next catalog read without a reload; an empty or complete selection unsets it, meaning "offer every model this plugin can run".

baseUrl stays a composition-only field in cordis.patch.yml.

The client fiber hard-injects only slots, locale and remote, and picks the credential remote up through ctx.inject(['remote.credentials'], …). That is deliberate: the web boot asserts that every client entry activated, so a root client plugin that waits on a service the settings UI keeps private (such as settingsScope) takes the whole GUI boot down with <package>: pending (waiting for service: …).

Models

listModels reads GET /models with your credential and advertises the models Zed reports for the backends this plugin implements — Claude (Anthropic Messages) and GPT (OpenAI Responses). Zed's Gemini and Grok entries are filtered out rather than offered broken; selecting one anyway fails fast with UNSUPPORTED_CONTENT.

Each model carries Zed's own context window, output cap, and — when supports_thinking — the effort levels off / low / high / max, mapped onto Anthropic extended thinking budgets.

Configuration

FieldDefaultMeaning
apiKeyEnvZED_CREDENTIALSCredential reference holding "<userId> <accessToken>".
credentialsabsentLiteral credential value; highest priority, composition-time.
baseUrlhttps://cloud.zed.devZed Cloud endpoint.
visibleModelsall supportedNarrow the catalog to these model ids.

Quota

Zed owns the accounting: no plan or no credits left answers HTTP 402, which surfaces as a QUOTA failure naming https://zed.dev/account. The plugin does not invent percentages or limits.

Development

pnpm install (which runs the prepare hook), then pnpm check — typecheck, build, tests. Sources are TypeScript under src/; lib/ is build output and is git-ignored, because the prepare/prepack hooks rebuild it wherever the package is consumed and the published tarball carries the built copy through the files allowlist.

A profile can install this bundle as a link: to a working copy, in which case that copy's lib/ is what the Host imports: rebuild after changing src/, or the Host keeps running the previous build.

node --test test/*.test.mjs covers the pieces that fail silently in production: the NDJSON → StreamChunk translation for both backends (src/frames.ts framing, src/parse.ts Anthropic events, src/responses.ts Responses events), the RSA sign-in handshake (src/signin.ts), the request projections (src/anthropic.ts, src/responses.ts), and the card's slot registration, credential and model-selection wiring (src/client.ts, loaded under a stubbed module loader in test/client.test.mjs). The tests import the built lib/, because that is what the Harness actually runs. Only src/index.ts touches the Harness runtime.

Two install-time facts worth knowing: the Host half is re-imported only by a profile restart (ESM caches by URL), and the client half is composed from the Loader's entries at Host boot, so adding or removing exports["./client"] takes a restart too — after that it is served per request under a content hash, so client-side edits reach the browser on the next load.