配置外部目录免审批直接写入,覆盖文件工具与终端
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 0x7a76/dsh-extra-paths该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/17) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
- 发起网络请求lib/client.js:99
const response = await fetch(`${ROUTE}?${query.toString()}`, { - 执行外部命令固定命令scripts/dsh-paths.mjs:42
const bin = execFileSync('which', ['dsh'], { encoding: 'utf8' }).trim() - 读取本地文件scripts/dsh-paths.mjs:54
const modules = tried.find((dir) => existsSync(join(dir, '@deepseek-ai'))) - 写入本地文件scripts/dsh-paths.mjs:65
writeFileSync(new URL('../tsconfig.peers.json', import.meta.url), `${JSON.stringify(out, null, 2)}\n`) - 读取本地文件lib/resolve.js:93
if (!existsSync(root)) { - 读取本地文件lib/paths.js:38
while (!existsSync(probe)) { - 读取本地文件lib/pattern.js:106
names = readdirSync(directory); - 读取本地文件lib/pattern.js:119
if (statSync(child).isDirectory())
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-fs@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-sandbox-policy@deepseek-ai/dsh-settings@deepseek-ai/dsh-fs-sandbox@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-extra-paths
让 DSH 对一组配置的外部路径首次尝试即可写、无需审批:既覆盖 write/edit 工具,也覆盖 bash 子进程。
插件以服务包装实现,不改 DSH 核心代码,并提供 Web 设置页与「当前工作区解析出的生效根」预览。
安装
需要 DSH 0.1.5 / 0.2.0 / 0.2.1(不在范围内会被安装闸门拒绝)。
dsh plugin --profile <name> add dsh-extra-paths # <name>=你的 profile 名
想从源码安装(开发时):
pnpm install && pnpm build
dsh plugin --profile <name> add /path/to/dsh-extra-paths # 路径=本仓库的绝对路径
装好后打开 设置 → 插件 里的「Extra paths」卡片,或设置左栏的「额外可写路径」。
配置
写进设置文档 ~/.dsh/settings.yaml 的 extra-paths 段,或直接用设置页(保存即生效,无需重启)。
展开完整文档(README 剩余 1 节)
dsh-extra-paths 让 DSH 对一组配置的外部路径首次尝试即可写、无需审批:既覆盖 write/edit 工具,也覆盖 bash 子进程。 插件以服务包装实现,不改 DSH 核心代码,并提供 Web 设置页与「当前工作区解析出的生效根」预览。 安装 需要 DSH 0.1.5 / 0.2.0 / 0.2.1(不在范围内会被安装闸门拒绝)。 dsh plugin --profile <name> add dsh-extra-paths # <name>=你的 profile 名 想从源码安装(开发时): pnpm install && pnpm build dsh plugin --profile <name> add /path/to/dsh-extra-paths # 路径=本仓库的绝对路径 装好后打开 设置 → 插件 里的「Extra paths」卡片,或设置左栏的「额外可写路径」。 配置 写进设置文档 ~/.dsh/settings.yaml 的 extra-paths 段,或直接用设置页(保存即生效,无需重启)。 下面的 <工作根> 是占位符,指你放项目的那个上层目录(绝对路径,或 ~/ 开头的路径): extra-paths: paths: - <工作根>/notes/home # 用默认 scope/surfaces - path: ../../notes/home # 相对路径按「会话工作区」解析 scope: always-write - path: <工作根>/some-repo scope: write surfaces: [fs] # 只允许 write/edit 工具写 | scope | 会话 read-only | 会话 workspace-write | | write(默认) | 拒绝 | 可写 | | always-write | 可写 | 可写 | surfaces:fs = write/edit/str-replace 工具;shell = bash 子进程。读与执行本来就不受沙箱限制。 相对路径怎么写 相对路径按各会话自己的工作区解析(设置页里可以改「基准工作区」来预览): | 写法 | 解析成 | 说明 | | .. | <工作根> | 工作区的上一层,该目录及其所有兄弟目录都可写 | | ../某仓库 | <工作根>/某仓库 | 只放行那一个兄弟仓库(比 .. 精确,推荐) | | ../../notes/home | <工作根>/notes/home | 往上几层再进别的树 | | ~/notes/home | 家目录下 | 与工作区无关;~user 不展开(与宿主一致) | 模式:按目录结构锚定(不用写死路径) path 里可以用通配符描述一组目录,于是"路径里存在某个目录"可以变成一个条件: | 写法 | 命中(授予的根) | | <工作根>//.worktrees/.. | 每个含 .worktrees 的仓库根(.worktrees 的上级) | | <工作根>//.worktrees/ | 每个具体 worktree(不碰 .git 与主检出) | | <工作根>/<某仓库>/.worktrees/ | 某一个仓库下所有 worktree(零遍历开销,最推荐) | | <工作根>//notes | 每个仓库/项目下的 notes 目录 | 语法: = 恰好一层、 = 最多 3 层(只匹配真实存在的目录,所以"必须存在 .worktrees"是自然结果);结尾的 .. 在命中之后再上移(因此 …/.worktrees/.. 就是".worktrees 的上级",不会被词法折叠吃掉)。 安全边界(都是硬约束,不是建议): - 通配符前必须有字面量锚点,且锚点至少两层、必须是绝对路径或 ~/ 开头 —— /、~/、/srv/ 一律拒绝 - 遍历不进入 node_modules、.git, 也不进入隐藏目录(.worktrees 本身是字面量,仍在当层匹配) - 有界: 最多 3 层、目录数 > 4096 或命中 > 256 时整个模式不生效(fail closed,绝不给"部分命中"这种不可预期的授权);触顶原因会写进告警 - 展开结果缓存 30 秒,因此新建的 worktree 最迟 30 秒被纳入 设置页每行会实时显示解析到的绝对路径(符号链接以宿主的「解析预览」为准),模式行显示命中条数 [生效 ×N] 并列出每个具体根;0 命中或被拦截都会明确说明,所以不必"先保存再看解析对不对"。 已知边界 - 逐路径的"完全不受限"做不到:bash 沙箱是整次调用粒度。 - 相对路径按会话工作区解析,因此同一份配置在不同工作区指向不同目录——设置页的预览会显示实际解析结果。 - Windows 的 shell 侧不放行;always-write 会削弱 read-only 急停按钮对该路径的作用。 - 写在工作区外的文件不会出现在 deliverables 的工作区变更卡片里。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
0x7a76/dsh-extra-paths
配置外部目录免审批直接写入,覆盖文件工具与终端
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7