DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Plugin Graphify Watch — DeepSeek Harness 插件(DSH Plugin)
← Plugins
P

dsh-plugin-graphify-watch

Plugin Graphify Watch

为每个配置的根目录监控一个 `graphify watch`,使代码更改能够自动重建 graphify 知识图谱,无论来源为何,且无需代理协作。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:joslynSmall/dsh-plugin-graphify-watch#fc25fdc43a3648f3eb1d827f982f274320a010d0
README兼容性版本

兼容性与来源证明

Plugin Graphify Watch 以 dsh-plugin-graphify-watch 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/10/4

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

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

Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Update@linxin666/dsh-update用于 dsh Web GUI 的自更新插件:探测 npm 上是否有更新的系列版本,并在原地运行所属配置的 pnpm 更新;可通过设置图标旁侧边栏中的触发器启动,并显示发布说明面板Tui@deepseek-harness-tui/dsh-tui用于 DeepSeek Harness 智能体、会话和工具的交互式终端界面。Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件

README

dsh-plugin-graphify-watch

Keeps one graphify watch process alive per configured root, so a code change rebuilds the graphify knowledge graph automatically — whoever made it: a DSH file tool, an external editor, a shell command, or a git checkout.

Why supervise instead of detect

graphify watch already owns the whole decision surface: the extension filter, .graphifyignore, skipping dot directories and graphify-out/, batch debounce, the code-vs-doc split, deletion eviction, and the needs_update flag. Watching the real filesystem is also the only way to see changes DSH did not make itself — the harness workspace/changes signal is derived from git snapshots plus file-tool captures, so a shell-only edit is invisible to it.

So this plugin detects nothing. It owns lifecycle only: start, log, restart on crash, and kill the whole process tree on unload.

What it does per root

Root statePlugin behaviour
has graphify-out/graph.jsonspawn graphify watch <root>
no graphify-out/graph.jsonskip, with a log line telling you to run /graphify there first
already watched by this processskip (this process already watches it)
already watched by another processskip (already watched by process <pid>)

Code edits rebuild graph.json + GRAPH_REPORT.md with no LLM. Doc, PDF and image edits leave the graph alone and write graphify-out/needs_update; the plugin surfaces that line with a reminder to run /graphify --update.

Configuration

keydefaultmeaning
enabledtrueset false to keep the row but start nothing
roots[]absolute project paths to watch. Empty means "use the host working directory, and only if it is already indexed" — set this explicitly in practice
exePath""explicit path to graphify; empty searches PATH
maxRestarts3consecutive restart attempts before giving up (exponential backoff, capped at 60 s)
restartBackoffMs2000first backoff delay
logRebuildstruelog every watcher line; the one-time readiness banner is always logged

Point it at your projects by overriding this row in ~/.dsh/profiles/desktop/cordis.patch.yml. An override replaces the row's whole config, so restate every field you want to keep:

- id: graphify-watch
  name: dsh-plugin-graphify-watch
  config:
    enabled: true
    roots:
      - C:\Users\Administrator\Documents\my-project
    exePath: ""
    maxRestarts: 3
    restartBackoffMs: 2000
    logRebuilds: true

Install

The desktop profile is reserved for the Electron shell, so the plain npm dsh CLI refuses to manage it. Use the app.

  1. Open the sidebar's Plugins page.
  2. Add plugin → C:\documents\dsh\dsh-plugin-graphify-watch (an absolute local path is accepted).
  3. Enable the dsh-plugin-graphify-watch bundle.
  4. Restart DSH. Adding a file: dependency link needs a process restart — Node caches real paths.

Manual equivalent, if the UI path is unavailable (run from the profile directory, which is the pnpm project):

cd ~\.dsh\profiles\desktop
# add to dependencies:  "dsh-plugin-graphify-watch": "file:C:/documents/dsh/dsh-plugin-graphify-watch"
# append to dsh.profile.bundles:  "dsh-plugin-graphify-watch"
node "C:\Users\Administrator\AppData\Local\Programs\DeepSeek Harness\resources\runtime\pnpm\bin\pnpm.cjs" install
# then restart DSH

Verify

# the watcher should be running (a graphify.exe plus its Python child)
Get-CimInstance Win32_Process -Filter "Name='graphify.exe'" | Select-Object ProcessId,CommandLine

# touching a real symbol must rewrite the graph
Add-Content <root>\src\thing.py "`ndef probe():`n    return 1`n"
(Get-Item <root>\graphify-out\graph.json).LastWriteTime

A comment-only edit is not enough: graphify correctly reports No code-graph topology changes detected; outputs left untouched.

Behaviour worth knowing

  • Debounce is graphify's own 3 seconds. --debounce exists only on the module entry point (python -m graphify.watch), not on the graphify CLI, so this plugin does not pretend to configure it.
  • The document layer stays manual. Refreshing docs, PDFs and images needs an LLM pass, so it remains an explicit /graphify --update. Automating it is possible (headless graphify extract --backend against a local OpenAI-compatible endpoint) but costs tokens unattended, so it is deliberately out of scope here.
  • One owner per root. A lock file under %TEMP%\dsh-graphify-watch holds the owning pid, so two DSH windows cannot both rewrite the same graph.json — graphify writes atomically but holds no cross-process lock, and its shrink guard would reject the loser's write.
  • Teardown kills the tree. graphify.exe from uv tool install is a launcher that starts the venv Python as a child, so the plugin uses taskkill /T /F on Windows rather than killing only the launcher.
  • No dependencies, no build step. The plugin deliberately does not use @deepseek-ai/schemastery, so it declares no peer range and cannot be blocked by DSH's version-compatibility gate.

Tests

Both run standalone against a real scratch project; no DSH needed.

node test/smoke.mjs      <root>   # start, code rebuild, doc flag, teardown
node test/resilience.mjs <root>   # crash restart, duplicate-root refusal, lock

Uninstall

Disable the bundle in the Plugins page (or remove the row) and restart DSH. The plugin's ctx.effect disposer stops every watcher it started, so no graphify process is left behind.