DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-sprites-plugin

Sprites Plugin

通过 Cordis 和 MCP 为 DeepSeek Harness 提供的 Sprites 远程开发环境。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:superfly/sprites-deepseek-plugin#6b7e1c5732874503aaaafb5a36c457adf93caac4
README兼容性版本

兼容性与来源证明

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

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

版本

0.1.0stable
2026/9/2

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

Sprites for DeepSeek Harness

Use Sprites from DeepSeek Harness: isolated, persistent Linux environments for builds, tests, experiments, and long-running services.

This repository is a Harness bundle. Its cordis.patch.yml mounts:

  • @deepseek-ai/dsh-mcp-client, connected to the hosted Sprites MCP server.
  • This package's index.js entry, which mounts @deepseek-ai/dsh-skill-filesystem against the packaged Sprites workflow skill.

The result is a native Cordis composition: Sprites tools appear as mcp__sprites__*, and the Sprites skill is discoverable through Harness's normal skill system.

Requirements

  • Node.js 20.19 or newer. The packaged filesystem provider currently depends on Chokidar 5, whose engine floor is Node 20.19.
  • DeepSeek Harness developer preview.
  • Browser access for the first Sprites OAuth authorization.
  • Network access for npx to run the pinned mcp-remote@0.1.38 OAuth bridge.

Harness's current Streamable HTTP MCP transport accepts static headers but does not perform MCP OAuth. This bundle therefore uses Harness's supported stdio transport and mcp-remote to complete the standard browser OAuth flow without requiring a Sprites API token.

Install

Install the GitHub checkout into the profile you use. For the built-in Web profile:

npx @deepseek-ai/dsh plugin --profile web add github:superfly/sprites-deepseek-plugin

Then start that profile:

npx @deepseek-ai/dsh --profile web

On first connection, complete the browser OAuth flow, choose the Fly.io organization, and review the connector access policy. Restart Harness once if the initial tool synchronization timed out while you were authorizing.

For local development from this repository:

npx @deepseek-ai/dsh plugin --profile web add .
npx @deepseek-ai/dsh --profile web

To try the layer without installing it into a profile:

npx @deepseek-ai/dsh web --patch ./cordis.patch.yml

Verify the installed bundle and composed rows without booting the UI:

npx @deepseek-ai/dsh --profile web --dump-config

The output should include the dsh-sprites-plugin layer, sprites-mcp, and sprites-skill-filesystem.

First prompts

  • "List my sprites."
  • "Create a sprite for this experiment and run uname -a in it."
  • "Create a checkpoint, then run the test suite in my sprite."
  • "Start the web service in my sprite and give me its URL."

An empty sprite list is a successful authenticated response.

Authentication and access

The hosted endpoint is https://sprites.dev/mcp and uses OAuth 2.1. mcp-remote stores its OAuth state in its normal local credential directory; this repository contains no credentials.

The Sprites consent screen normally creates a restricted connector token. Its default name prefix is often mcp-, and it may cap how many sprites the connector can create. A custom non-empty prefix remains restricted. Choosing Full access removes the prefix restriction but grants access to every sprite in the organization.

Prefer restricted access for agent work. If a create call reports a required prefix, Harness should retry once with that exact prefix and report the actual name.

How it works

cordis.patch.yml contributes two rows:

  1. sprites-mcp starts mcp-remote through the Harness MCP client. The bridge handles OAuth and exposes server tools through ctx.tools as mcp__sprites__<tool>.
  2. sprites-skill-filesystem loads this package's index.js. The entry resolves skills/ from import.meta.url, then mounts @deepseek-ai/dsh-skill-filesystem as an isolated provider. This is intentionally done in JavaScript: a bundle patch is evaluated with the profile directory as its baseUrl, not the installed package directory.

The MCP subprocess also sends fixed, privacy-safe client attribution headers:

HeaderValue
Fly-Client-Agentdeepseek-harness
Fly-Client-Interactivefalse

No user-, machine-, repository-, or session-specific attribution is sent. The headers are advisory analytics only and are not used for authorization or rate limiting.

mcp-remote includes both the server URL and serialized headers in its OAuth cache key. Changing either attribution header therefore invalidates existing cached authorization and requires users to authenticate again.

Safety

  • Treat services exposed through a sprite URL as potentially internet-accessible.
  • Never publish secrets, environment dumps, arbitrary files, debug endpoints, or unfiltered logs.
  • Use a checkpoint before risky filesystem changes, dependency upgrades, or migrations.
  • Destroying a sprite is irreversible. Only destroy one when the user explicitly asks to delete, destroy, or remove it, or approves cleanup.
  • Inspect outbound network policy before changing it.

Troubleshooting

Tools are missing

Confirm the bundle appears in --dump-config and that both Cordis rows are present. Harness's MCP client logs connection, discovery, and tool-registration failures. The native tool names begin with mcp__sprites__.

OAuth did not finish

Keep the Harness process running while completing the browser flow. If initial synchronization times out, finish authorization and restart Harness; mcp-remote reuses the stored OAuth session.

For persistent mcp-remote authentication state problems, follow its upstream troubleshooting guidance. Clearing its credential directory signs every mcp-remote connector out, so do not do that casually.

npx cannot start

Make sure Node.js 20.19+ and npx are available in the environment that launches Harness. The MCP client intentionally uses argument arrays without shell interpolation.

Network failures inside a sprite

Ask Harness to inspect the sprite's network policy before changing it. A reachable MCP server does not imply unrestricted egress inside a sprite.

Repository layout

package.json                 Harness bundle manifest (`dsh.bundle`)
cordis.patch.yml             Cordis rows for MCP and packaged skills
index.js                     Package-relative Sprites skill provider entry
skills/sprites/              DeepSeek Harness Sprites skill and references
scripts/check_repository.py  Static repository validation
tests/test_repository.py     Bundle contract tests

Development

python -m pip install -r requirements-dev.txt
npm install --ignore-scripts --package-lock=false
ruff check .
ruff format --check .
python scripts/check_repository.py
python -m unittest discover -s tests -v
node scripts/check_skill_entry.mjs

Related

  • DeepSeek Harness plugin development
  • DeepSeek Harness package and install guide
  • Sprites remote MCP documentation
  • Sprites MCP server repository
  • mcp-remote

Support and feedback

  • Report reproducible plugin bugs with the bug report form.
  • Propose workflow or integration improvements with the feature request form.
  • Ask general Sprites questions in the Fly.io community after checking the Sprites documentation.
  • Report security issues privately as described in SECURITY.md. Never include credentials or production data in an issue.

Project policies

See CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, SUPPORT.md, and CHANGELOG.md.

License

MIT © Fly.io, Inc.