DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Dotclaude — DeepSeek Harness 插件(DSH Plugin)
← Plugins
D

dsh-dotclaude

Dotclaude

在 DeepSeek Harness 中运行 Claude Code 项目的 .claude/ 资源:支持带参数展开的项目斜杠命令,以及 permissions.deny 强制执行。不修改宿主环境,缺少时保持静默。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:RUI-debug769/dsh-dotclaude#1f804a511e1d985ebc3a4ab402084c037e0cb4a9
README兼容性版本

兼容性与来源证明

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

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

版本

0.1.0stable
2026/10/19

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 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 服务和进程生命周期管理Experimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profile用于原始 Session 日志和 Chat 节点检查的可选 Web 捆绑包

README

English | 简体中文

dsh-dotclaude

Run a Claude Code project's .claude/ assets inside DeepSeek Harness — project slash commands that expand their prompt, and permissions.deny rules enforced against the host's tools. No host patches. Nothing is loaded when the host or the project does not have the pieces.

DeepSeek Harness already reads CLAUDE.md, and official bridges already cover Claude Code hooks and plugin mods. This plugin fills the part that is still missing: the command and permission half of a .claude/ directory.

What it does

.claude/ sourceEffect in DSH
.claude/commands/**/*.md (project)/claude run <name> [args], plus a /name slash command on new agents
~/.claude/commands/**/*.md (user)Same, with the project command shadowing a user command of the same name
.claude/settings.json → permissions.denyDenies the matching host tool call before it runs
.claude/settings.local.json → permissions.denySame, merged after the project file
permissions.allow / askReported only — never used to widen what the user must approve

Command bodies support the substitution forms that matter without a shell:

  • $ARGUMENTS — the raw text after the command name
  • $1 … $9 — positional arguments, splitting honouring quotes
  • @path — inlined file contents (size-capped; a missing file is left as literal text and reported)

Front matter read: description, argument-hint. allowed-tools and model are ignored and reported as unsupported.

Install

dsh plugin --profile web add dsh-dotclaude

Restart the host. The bundle mounts one row, dotclaude.

From a checkout:

dsh plugin --profile web add link:/path/to/dsh-dotclaude

Use

/claude                # list the resolved commands and where they came from
/claude list           # same
/claude run <name> [args]
/claude doctor         # provenance, deny rules, and every issue found while reading
/claude reload         # drop the read cache and re-resolve

On hosts whose command registry supports agent-scoped registration, each resolved command is also registered as its own slash command on every new agent — /review, /db-migrate — skipping any name the host already exposes. /claude run <name> works everywhere, including hosts that register no scoped commands.

When a host exposes a system-prompt section registry, one stable section names the available commands. When a host exposes the dsh-tui status seam, the aggregate command count appears as claude N cmd.

Configure

Every key has a default, so config: {} is a complete configuration.

KeyDefaultMeaning
projectCommandstrueRead .claude/commands from the Session working directory's project root
userCommandstrueRead ~/.claude/commands
enforceDenytrueEnforce permissions.deny
inlineFilestrueInline @path references
registerCommandstrueRegister each command as its own slash command on new agents
promptSectiontrueAdd the system-prompt section listing commands
statusLinetruePublish the count on the dsh-tui status line when that seam exists
maxCommandBytes65536Skip larger command files
maxInlineBytes65536Skip larger inlined files
extraRoots[]Reserved; no extra scan roots yet

Override through the profile patch layer:

- id: dotclaude
  config:
    promptSection: false

promptSection and statusLine are the two keys with a visible cost: the section adds tokens to every request in that agent, and the status line occupies one dsh-tui status slot.

Project root

The project root is the nearest ancestor containing .git; without one it is the working directory itself. A home directory that carries .claude is treated as the user-level root, never as a project, so ~/.claude is not scanned twice.

Permissions

Rules use Claude Code's grammar — Tool or Tool(specifier) — and the Claude Code tool names, mapped to the host's tools (Bash→bash, Read→read, MultiEdit→edit, WebFetch→web_fetch, Task→subagent, and so on).

  • Bash(git push:*) denies that command and any argument list under it.
  • Read(./src/**) denies paths under src/, with ** crossing segments and * staying inside one.
  • An unknown tool name or an unparsable entry is reported by /claude doctor and does not deny anything.

Only deny is enforced. An allow entry never bypasses the host's approval policy, because widening permission from a file the model could write is not a trade this plugin makes.

What is deliberately out of scope

  • .claude/agents/*.md, .claude/skills/, .mcp.json — not read.
  • ! bash execution inside a command body.
  • Claude Code hooks and plugin mods — use the official @deepseek-ai/dsh-hooks-claude-code and @deepseek-ai/dsh-experimental-claude-code-mods bridges.
  • permissions.allow / ask enforcement.
  • Rewriting or writing any .claude/ file.

Compatibility

The plugin depends only on Cordis 4 and probes every host service with ctx.get(name, false). A missing service degrades one feature; it never fails the host.

HostResult
DSH 0.2.1-rc.2, Web profileBoots; project commands, deny rules, prompt section active; no status line
dsh-tui 0.16.1 beside itComposes and boots; status-line seam available
dsh-tui 0.14.0The host itself refuses it on 0.2.1-rc.2 (incompatible with dsh); nothing this plugin can change

The version boundary above is checked by scripts/host-smoke.sh under DOTCLAUDE_MATRIX=1.

Test

Four gates, all runnable locally:

npm run typecheck                      # 1. types
npm run build && npm test              # 2. unit + host-double integration (53 tests)
DOTCLAUDE_MATRIX=1 ./scripts/host-smoke.sh   # 3. real host compose+boot; 4. dsh-tui matrix

The host smoke test needs a DeepSeek Harness checkout (HARNESS=/path/to/checkout) and installs into a throwaway DSH_HOME; it never touches your real profile.

Security

  • The plugin reads .claude/ and never writes to it.
  • Inlined @path files reach the model, so a command file that inlines a secret sends it. Only run command files you trust, as with Claude Code.
  • Deny rules fail open on an unreadable or malformed settings file, and the failure is reported by /claude doctor instead of being silent. If you need fail-closed behaviour, do not depend on this plugin as your only boundary.

License

MIT.