DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-extra-paths

Extra Paths

配置一组额外可写根:fs 工具与受限 shell 首次尝试即可写入,无需审批,并提供 Web 设置页与按目录结构锚定的路径模式。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:0x7a76/dsh-extra-paths#abaf924c7c4e242b656d2bfc74bb8261d8d5942d
README兼容性版本

说明

DSH plugin:为 fs 工具和受限 shell 配置额外可写根,并提供 Web 设置页与按目录结构锚定的路径模式。

兼容性与来源证明

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

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

版本

0.1.1stable
2026/10/15

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Experimental Auto Review@deepseek-ai/dsh-experimental-auto-review针对每个工具的 LLM 授权审查,适用于 DeepSeek Harness Auto 权限预设Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。

README

dsh-extra-paths

English | 中文

Let DSH write to a set of configured external paths on the first try, with no approval: this covers the write/edit tools and bash subprocesses alike. The plugin works by wrapping services (it does not change DSH core) and ships a Web settings page plus a preview of the effective roots for the current workspace.

Install

Requires DSH 0.1.5 / 0.2.0 / 0.2.1 (outside that range the install gate refuses the package).

dsh plugin --profile <name> add dsh-extra-paths            # <name> = your profile

From a checkout instead of the registry:

pnpm install && pnpm build
dsh plugin --profile <name> add /path/to/dsh-extra-paths   # path = absolute path to this repo

Then open the Extra paths card under Settings → Plugins, or Extra writable paths in the settings sidebar.

Configuration

Write it into the extra-paths section of the settings document ~/.dsh/settings.yaml, or just use the settings page (saving takes effect immediately, no restart needed). <work root> below is a placeholder for the directory that holds your projects (an absolute path, or one starting with ~/) — replace it with a path of your own:

extra-paths:
  paths:
    - <work root>/notes/home                   # default scope/surfaces
    - path: ../../notes/home                   # relative paths resolve against the session workspace
      scope: always-write
    - path: <work root>/some-repo
      scope: write
      surfaces: [fs]                           # only the write/edit tools may write here
scopesession read-onlysession workspace-write
write (default)deniedwritable
always-writewritablewritable

surfaces: fs = the write/edit/str-replace tools; shell = bash subprocesses. Reads and execution are not sandboxed to begin with.

How relative paths resolve

Relative paths resolve against each session's own workspace (the settings page has a "base workspace" field so you can preview this):

SpellingResolves toNotes
..<work root>the parent of the workspace; that directory and all of its siblings become writable
../some-repo<work root>/some-repogrants exactly one sibling repository (more precise than .., recommended)
../../notes/home<work root>/notes/homego up a few levels and into another tree
~/notes/homeunder your homeindependent of the workspace; ~user is not expanded (same as the host)

Patterns: anchor a grant to directory structure (no hard-coded paths)

A path can use wildcards to describe a group of directories, turning "a certain directory exists somewhere in this path" into a condition:

SpellingMatches (the granted root)
<work root>/**/.worktrees/..every repository root that contains .worktrees (the parent of .worktrees)
<work root>/**/.worktrees/*each individual worktree (.git and the main checkout are never touched)
<work root>/<some-repo>/.worktrees/*every worktree of one repository (zero traversal cost, recommended)
<work root>/*/notesthe notes directory under every repository/project

Syntax: * = exactly one level, ** = at most 3 levels (only directories that actually exist match, so ".worktrees must exist" comes for free); a trailing .. moves up after matching (so …/.worktrees/.. is "the parent of .worktrees", rather than something lexical collapsing eats away).

Safety bounds (hard constraints, not advice):

  • the wildcard needs a literal anchor before it, at least two segments long, absolute or starting with ~/ — /**, ~/**, /srv/** are refused outright
  • traversal never enters node_modules or .git, and ** never enters hidden directories (.worktrees is a literal, so it still matches at its own level)
  • bounded: ** covers at most 3 levels, and more than 4096 directories or more than 256 matches makes the whole pattern inert (fail closed — never a partial, unpredictable grant); the reason is reported as a warning
  • expansions are cached for 30 seconds, so a newly created worktree is picked up within 30 seconds

The settings page shows the resolved absolute path live for every row (symlinks follow the host's canonical preview) and, for a pattern row, the match count as [active ×N] plus each concrete root below it; zero matches and blocked patterns are both spelled out — so there is no need to "save first and then check whether it resolved".

Known limits

  • Per-path "no restrictions at all" is not achievable: the bash sandbox works at whole-invocation granularity.
  • Relative paths resolve against the session workspace, so the same entry points at different directories in different workspaces — the settings page preview shows the actual resolution.
  • The shell side is not widened on Windows; always-write weakens what the read-only stop button can do for that path.
  • Files written outside the workspace do not appear in the deliverables workspace-changes card.