在 DSH 中运行 Claude 项目的斜杠命令并执行权限拒绝规则
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/RUI-debug769/dsh-dotclaude.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件src/discover.ts:71
statSync(path) - 读取本地文件src/discover.ts:106
entries = readdirSync(root, { withFileTypes: true }) - 读取本地文件src/discover.ts:148
const stat = statSync(absolute) - 读取本地文件src/discover.ts:153
text = readFileSync(absolute, 'utf8') - 读取本地文件src/discover.ts:198
value = JSON.parse(readFileSync(absolute, 'utf8')) - 读取本地文件src/index.ts:263
if (statSync(absolute).size > limit) return undefined - 读取本地文件src/index.ts:264
return readFileSync(absolute, 'utf8')
扫描于 2026/11/1(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
在 DeepSeek Harness 里运行 Claude Code 项目的 .claude/ 资源:支持带参数展开的项目斜杠命令,以及 permissions.deny 强制拦截。
README
由 DeepSeek 最新模型翻译生成dsh-dotclaude
在 DeepSeek Harness 里直接跑 Claude Code 项目的 .claude/:项目斜杠命令会展开成提示词,permissions.deny 会在工具调用前真正生效。不 patch 宿主;宿主或项目没有对应文件时,插件什么也不做。
DSH 已经原生读取 CLAUDE.md,Claude Code 的 hooks 与插件 mods 也有官方桥接。这个插件补的是仍然空着的那一半:.claude/ 里的命令与权限。
做什么
| .claude/ 来源 | 在 DSH 里的效果 |
| .claude/commands//.md(项目) | /claude run <名称> [参数];新会话上还会注册成独立的 /名称 |
| ~/.claude/commands//.md(用户级) | 同上;同名时项目命令覆盖用户命令 |
| .claude/settings.json 的 permissions.deny | 命中的工具调用在执行前被拒绝 |
| .claude/settings.local.json 的 permissions.deny | 同上,在项目文件之后合并 |
| permissions.allow / ask | 只报告,不执行——绝不用来放宽用户本应确认的操作 |
命令正文支持三种替换:
展开完整文档(README 剩余 1 节)
dsh-dotclaude
在 DeepSeek Harness 里直接跑 Claude Code 项目的 .claude/:项目斜杠命令会展开成提示词,permissions.deny 会在工具调用前真正生效。不 patch 宿主;宿主或项目没有对应文件时,插件什么也不做。
DSH 已经原生读取 CLAUDE.md,Claude Code 的 hooks 与插件 mods 也有官方桥接。这个插件补的是仍然空着的那一半:.claude/ 里的命令与权限。
做什么
| .claude/ 来源 | 在 DSH 里的效果 |
| .claude/commands//.md(项目) | /claude run <名称> [参数];新会话上还会注册成独立的 /名称 |
| ~/.claude/commands//.md(用户级) | 同上;同名时项目命令覆盖用户命令 |
| .claude/settings.json 的 permissions.deny | 命中的工具调用在执行前被拒绝 |
| .claude/settings.local.json 的 permissions.deny | 同上,在项目文件之后合并 |
| permissions.allow / ask | 只报告,不执行——绝不用来放宽用户本应确认的操作 |
命令正文支持三种替换:
- $ARGUMENTS —— 命令名之后的原始文本
- $1 … $9 —— 位置参数,按引号规则切分
- @路径 —— 内联文件内容(有大小上限;读不到时保留原文并在报告里列出)
读取的 front matter:description、argument-hint。allowed-tools 与 model 忽略,并会在报告里标明不支持。
安装
dsh plugin --profile web add dsh-dotclaude
重启宿主。插件只挂一行:dotclaude。
从本地目录安装:
dsh plugin --profile web add link:/path/to/dsh-dotclaude
使用
/claude # 列出解析到的命令及其来源 /claude list # 同上 /claude run <名称> [参数] /claude doctor # 来源、deny 规则、读取过程中发现的全部问题 /claude reload # 清缓存并重新解析
如果宿主的命令注册表支持按 agent 作用域注册,每个解析到的命令还会注册成独立斜杠命令(/review、/db-migrate),并跳过宿主已占用的名字。/claude run <名称> 在任何宿主上都可用。
宿主提供 system prompt 段注册表时,会加一个稳定的段落列出可用命令;宿主提供 dsh-tui 状态行接缝时,会显示 claude N cmd。
配置
每个键都有默认值,config: {} 就是完整配置。
| 键 | 默认 | 含义 |
| projectCommands | true | 从会话工作目录的项目根读取 .claude/commands |
| userCommands | true | 读取 ~/.claude/commands |
| enforceDeny | true | 执行 permissions.deny |
| inlineFiles | true | 内联 @路径 |
| registerCommands | true | 新会话上把每个命令注册成独立斜杠命令 |
| promptSection | true | 加一段列出命令的 system prompt |
| statusLine | true | 有 dsh-tui 状态行接缝时显示数量 |
| maxCommandBytes | 65536 | 超过则跳过该命令文件 |
| maxInlineBytes | 65536 | 超过则跳过该内联文件 |
| extraRoots | [] | 预留,暂不扫描额外根目录 |
通过 profile 的补丁层覆盖:
- id: dotclaude
config:
promptSection: false
promptSection 与 statusLine 是仅有的两个有可见代价的开关:前者会给该 agent 的每次请求加 token,后者占用一个 dsh-tui 状态位。
项目根
项目根是最近的含 .git 的祖先目录;没有则就是工作目录本身。带 .claude 的家目录会被当作用户级根,不会重复扫描。
权限
规则沿用 Claude Code 语法 Tool 或 Tool(specifier),工具名也沿用 Claude Code 的,再映射到宿主工具(Bash→bash、Read→read、MultiEdit→edit、WebFetch→web_fetch、Task→subagent 等)。
- Bash(git push:) 拒绝该命令及其任意后续参数。
- Read(./src/) 拒绝 src/ 下的路径, 跨层、 不跨层。
- 未知工具名或无法解析的条目会由 /claude doctor 报出,且不拒绝任何调用。
只执行 deny。allow 永远不会绕过宿主的审批策略——从一个模型可能写入的文件里放宽权限,不是这个插件愿意做的交换。
明确不做
- .claude/agents/*.md、.claude/skills/、.mcp.json —— 不读。
- 命令正文里的 ! bash 执行。
- Claude Code hooks 与插件 mods —— 用官方的 @deepseek-ai/dsh-hooks-claude-code 与 @deepseek-ai/dsh-experimental-claude-code-mods。
- permissions.allow / ask 的执行。
- 写回或改写任何 .claude/ 文件。
兼容性
插件只依赖 Cordis 4,所有宿主服务都用 ctx.get(name, false) 探测。缺一个服务就少一个功能,绝不让宿主启动失败。
| 宿主 | 结果 |
| DSH 0.2.1-rc.2 + Web profile | 正常启动;项目命令、deny 规则、prompt 段生效;无状态行 |
| 同时装 dsh-tui 0.16.1 | 正常组合与启动;状态行接缝可用 |
| dsh-tui 0.14.0 | 宿主自己拒绝它(incompatible with dsh),与本插件无关 |
以上边界由 scripts/host-smoke.sh 在 DOTCLAUDE_MATRIX=1 下实测。
测试
四道门,本地都能跑:
npm run typecheck # 1. 类型
npm run build && npm test # 2. 单测 + 宿主替身集成(52 个)
DOTCLAUDE_MATRIX=1 ./scripts/host-smoke.sh # 3. 真实宿主组合+启动;4. dsh-tui 版本矩阵
宿主冒烟需要一个 deepseek-harness 检出(HARNESS=/path/to/checkout),并且只往一次性的 DSH_HOME 里装,不碰你真实的 profile。
安全
- 插件只读 .claude/,从不写回。
- 内联的 @路径 内容会进入模型上下文——会内联密钥的命令文件等于把密钥发出去。只运行你信任的命令文件,这一点与 Claude Code 一致。
- settings 文件损坏或无法读取时,deny 规则失败开放(fail open),并由 /claude doctor 明确报出,而不是静默。如果你需要 fail-closed,请不要只依赖这个插件。
许可
MIT。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
RUI-debug769/dsh-dotclaude
在 DSH 中运行 Claude 项目的斜杠命令并执行权限拒绝规则
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7