DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Peekedit — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-peekedit

Peekedit

DeepSeek Harness 的增强文件工具:peek(窗口视图)、peek_edit(字面替换/插入)、peek_write(创建/覆盖)。

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-peekedit@0.1.1
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.1.1stable
2026/8/16
0.1.0stable
2026/8/16

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
75.7 kB
文件数
11
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
30
最近提交
2026/8/16
查看源码 ↗
项目主页 ↗
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 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-peekedit

English · 简体中文

Enhanced file tools and a file browser for DeepSeek Harness (dsh).

Source: https://github.com/lhp343969656/dsh-peekedit · Issues: https://github.com/lhp343969656/dsh-peekedit/issues

What you get

Model-facing tools that complement (and never shadow) the built-in read / write / edit tools, sharing the same ctx.fs service, fs/* policy events, and sandbox enforcement:

ToolPurpose
peekView a file with a line window (view_range) or a directory up to 2 levels deep. Numbered lines, total-line count, and a clipping notice on long output.
peek_editMutate an existing file: unique-literal str_replace or line insert.
peek_writeCreate a new file or overwrite an existing one.

File browser UI (Web Client): a "📁 文件" button in the session header opens a side drawer showing the current session's workspace directory — click into folders, click a file to preview it, and edit + save right there. Reads and writes go through the same ctx.fs seam; the browser never bypasses sandbox or containment rules (paths are resolved inside the session workspace and .. escapes are rejected).

Everything goes through the mounted ctx.fs backend and the fs/* event gate, so sandbox fencing, read-before-edit policy, and remote filesystem backends work exactly as they do for the built-in tools.

Install

The package ships a dsh.bundle manifest, so it installs as a plugin bundle into a profile.

Recommended — from npm:

dsh plugin --profile web add dsh-peekedit

Alternatively, from a git repository (builds on install via the prepare script) or a local checkout / tarball:

dsh plugin --profile web add github:lhp343969656/dsh-peekedit
dsh plugin --profile web add ./dsh-peekedit

The browser half of the plugin (dsh.client bundle) is discovered only when the package resolves from the profile's dependency tree, so install it with dsh plugin add rather than a file:// patch overlay.

Verify the layer before booting:

dsh --profile web --dump-config

Or load it ad hoc with a patch overlay (tools only — the browser half needs a real install):

dsh web --patch ./cordis.patch.yml

On Windows, an ad-hoc patch that references the package by name resolves from the profile's dependency tree only after dsh plugin add. To point a patch at a local checkout directly, use a file:// URL: name: 'file:///H:/path/to/dsh-peekedit/lib/index.js' (the loader rejects bare drive-letter paths).

Git installs run the package's prepare script (tsdown build) — allow it once in the profile's pnpm-workspace.yaml (allowBuilds: dsh-peekedit: true) if your pnpm refuses, and pin a commit for anything you don't trust.

Configuration

The bundle inserts two plugin rows; each takes its own config.

dsh-peekedit (tools):

KeyDefaultMeaning
maxOutputChars16000Characters retained for a peek file view before the clipping notice.

dsh-peekedit/api (file-browser API, web compositions only):

KeyDefaultMeaning
rootprocess.cwd()Fallback browse root when no session cwd resolves.
maxReadChars1000000Characters a browser preview read returns; larger files report FS_TOO_LARGE.
# cordis.patch.yml (your profile / home layer)
- id: api-peekedit
  config:
    root: 'H:/myproject'
    maxReadChars: 200000

Browser API

Same-origin routes under /api/peekedit/* (registered only where a webServer is mounted):

RoutePurpose
GET /api/peekedit/list?session=<id>&path=<rel>One directory's children, relative to the session workspace.
GET /api/peekedit/read?session=<id>&path=<rel>A file's UTF-8 content (binary rejected, size-capped).
POST /api/peekedit/writeReplace a file's content; rejects cross-origin Origin headers.

Paths resolve against the calling session's cwd (fallback: root config) and must stay inside it — .. segments and containment escapes are 403 PATH_ESCAPE.

Requirements

  • Node.js ≥ 20
  • DeepSeek Harness with the @deepseek-ai/dsh-* 0.1.0-rc.6 packages (or newer) reachable from the profile's dependency tree
  • The Web Client bundle ships a browser half that needs React 18 (the platform word table provides it)

Development

npm install
npm test          # vitest unit + integration suites (host API + client bundle)
npm run build     # tsdown → lib/ (host entries + browser bundle)

License

MIT