Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/chplus0/dsh-shell-command/claude-mdgit clone --depth 1 https://github.com/CHplus0/dsh-shell-commandWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.03670 | $0.03670 |
| Opus 5 | $0.01835 | $0.01835 |
| Sonnet 5 | $0.00734 | $0.00734 |
| Haiku 4.5 | $0.00367 | $0.00367 |
Grade A, and why
dsh-shell-command CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- `node:child_process` fallback (used when the seam is absent): scrubbed env via `scrubbedParentEnv()` from `@deepseek-ai/dsh-subprocess`, in-memory bounded buffers, process-level (not tree-level) kill. How it starts
The opening of the file, as written. The whole thing — 111 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What this is
A DeepSeek Harness (DSH) plugin. It adds:
- A
/!command (run one shell command, analyze output, inspired by Claude Code's!gesture) - A
/terminalcommand (interactive PTY popup; transcripts persist automatically when the session received input, and are referenced into the model on demand from a history tab — closing never itself sends anything to the model)
Note: DSH's input trigger system only supports / and @ as trigger characters (hardcoded in dsh-client-ui-input-trigger/lib/types/types.d.ts). We cannot use a bare ! prefix like Claude Code does, so we use /! instead.
Not a git repository (no .git) — this is a working checkout, not something to run git log/git diff against for history.
Commands
node test/unit.mjs # pure parse/format tests, no dependencies
node test/smoke.mjs # full apply() + handler against a mock context
node test/smoke-terminal.mjs # terminal registry + hasInput tracking + history-reference RPC (mock)
There is no build step (lib/client.js is hand-authored, no bundler) and no lint script configured in package.json.
The smoke tests import the real @deepseek-ai/* peer packages. Outside of a DSH profile install, link them once:
mkdir -p node_modules/@deepseek-ai
ln -s "$HOME/.dsh/profiles/node_modules/@deepseek-ai/"* node_modules/@deepseek-ai/
To exercise the plugin live, install it into a profile (dsh plugin --profile web add "link:/path/to/dsh-shell-command") and restart dsh web.
Architecture
Two independent execution paths
- Single-command (
/!) — Client-side input trigger (lib/client.js) registers undertrigger: "/", name-matched to!(candidates/matchSpace/matchEnter all key off the literal/!token). Handler flow: user types/! ls→ client calls RPC/shell-bang-rpc→ host (lib/index.js) doesparse.js→exec.js→format.js→message.js→agent.followup. This path requiresconnectionandagentsservices. It checksagent.session.requestHeader()— if the session has no model request context yet, it refuses with an error message (mirroring dsh-btw behavior).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 111 lines · 3,670 tokens per session scan A 061ec8360572
dsh-shell-command CLAUDE.md is an instructions file published in the GitHub repository CHplus0/dsh-shell-command (5 stars, last pushed 13d ago), licensed MIT. It adds 3,670 tokens to every session, about $0.0184 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
DSH-better-sidebar AGENTS.md
AGENTS.md instructions for omdsh-dev/DSH-better-sidebar, covering dsh-better-sidebar 仓库规则(agents), 1. 仓库硬约束(必须遵守), 2. ci 挂载冒烟(plugin-mount job / pnpm test:mount), 3. dsh 0.1.2-alpha 适配要点(alpha 通道) and 4. npm 发版(github release → npm publish).
dsh-worktable AGENTS.md
Instructions for Aisland-SJL/dsh-worktable, covering dsh-worktable 项目规则, 协作方式(用户定案,最高优先级), 边界, 构建与验证 and 领域约定(会话中必须遵守).
awesome-dsh-plugin AGENTS.md
Instructions for beancookie/awesome-dsh-plugin, covering agents.md, 内容来源(source of truth), 目录结构(每个文件夹的作用), 添加插件 and 整理流程(分类与数量).
awesome-deepseek-harness-plugins AGENTS.md
Instructions for imsai-sh/awesome-deepseek-harness-plugins, covering repository instructions, the submission gate is the product, generated files, cross-repo contracts (no ci spans both repositories) and permanent urls.
dsh-config-manager AGENTS.md
Instructions for xiajiajun516/dsh-config-manager, covering agents.md — dsh config manager 仓库协作指南, 🗣️ 语言与交流, 📦 项目概览, 🗂️ 仓库结构与职责 and ui 分层(改动前必读,避免放错层).
dsh-mcp-panel AGENTS.md
Instructions for PerryLink/dsh-mcp-panel, covering agents.md, layout, hard rules applied here, config and build.