DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@playform/hook-dsh-graph-suggester

Hook Dsh Graph Suggester

graph-suggester hook:一个 DeepSeek Harness 插件,将 suggester 系列的候选列表从路径和 glob 升级为符号周围的 CONNECTED COMPONENT。当模型读取或 grep 源文件时,该 hook 会请求 workspace v4.1 graph

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

npx -y @deepseek-ai/dsh plugin --profile web add @playform/hook-dsh-graph-suggester@0.2.1
README兼容性版本

兼容性与来源证明

Hook Dsh Graph Suggester 以 @playform/hook-dsh-graph-suggester 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.2.1stable
2026/10/28
0.2.0stable
2026/10/25
0.1.0stable
2026/10/25

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
36.3 kB
文件数
28
Surface
any
许可证
CC0-1.0
发布源
npm
GitHub
★ 2
周下载
292
安全扫描
✓ v0.2.1 扫描通过
最近提交
2026/11/4
查看源码 ↗项目主页 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

继续浏览 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 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

@playform/hook-dsh-graph-suggester

v0.2.1 - UNPUBLISHED - plan: SEARCH-SUGGESTER-PLUGIN

The role

This hook is the graph suggester: a DeepSeek Harness plugin that upgrades the suggester family's candidate list from paths and globs to the connected component around the symbol (SEARCH-SUGGESTER-PLUGIN.md §9.2).

When the model reads or greps a source file, the hook asks the workspace v4.1 graph service for the code-block neighborhood (the definition, the callers, the tests, the doc block), and it prepends ONE labeled additionalContexts notice that names the neighborhood.

Two intents live in the embedded pack (Source/Variable/Defaults.ts):

  • Neighborhood - resolved through the graph service; a static fallback set is appended only when the graph answers with an empty component.

    When the service is absent or throws, the intent abstains with a graph unavailable ledger line (once per apply) - the graph intent never guesses.

  • Sibling - a package-name grep resolves statically (the family roster, the inventory, the sibling README).

The graph service shape is declared in this package's own Source/Interface/Graph.ts (the self-contained PoC rule): no import from sibling workspace packages.

The real service (@playform/plugin-dsh-workspace-graph) now exposes the same neighborhood(path, limit) query - served from its W1 contains/imports edges, so W1 gives importers and tests rather than callers - and the Real-Graph-Neighborhood smoke folder proves this hook against the real populated graph (the real graph's own indexWorkspace fills it).

The surfaces

  • The tools/post-execute waterfall listener (after the ccr's {prepend: true} listener): one additionalContexts notice, never a content replacement.
  • The agent/pre-step listener: the per-turn reset of the note counter.
  • Injected services: pluginFactory, workspaceGraph (the neighborhood(path, limit) query; absent or throwing means the graph intent abstains).
  • No tool, no provided service.

How it works

  1. The post-execute listener.

    The tools/post-execute listener (waterfall, plain registration - after the ccr's {prepend: true} listener) calls next() first.

    Then the hook runs detect -> gate -> resolve (graph query for Neighborhood) -> prepend ONE notice.

    Content is never replaced.

  2. The pre-step listener.

    The agent/pre-step listener resets the note counter each turn when a user message enters.

The ledger

The lines are prefixed graph-suggester: and go to logFile:

activated (...)
suggest <id> <k> <n> candidates call <tool>
suppressed <verdict> <id>
abstained ambiguous <id> <k>
abstained graph-unavailable <id> <k>
graph unavailable <error>
graph-suggester: <error>; the note is skipped

The configuration

FieldDefaultMeaning
enabledtruethe plugin ships enabled
logtruethe ledger switch (shared cell)
logFile~/.dsh/playform/hook-dsh-graph-suggester.logthe ledger
threshold0.75the gate threshold k
maxCandidates7the bound on named candidates
maxNoteChars1200the note length bound
cooldownCalls6the cooldown between notes
maxNotesPerTurn3the per-turn cap
intents[]the intent filter
emitOn["glob", "grep", "read"]the tools that trigger the gate
exclude["node_modules", "Target", ".git", "dist"]the excluded paths
graphtruethe graph query switch

Every field is a volatile cell.

The build and the tests

The build is pnpm prepublishOnly (Source/prepublishOnly.sh): the plugin build (ESM Target/, Test tree excluded), the Test build, the harness selfcheck, and the Test type-check.

The smoke folders: Loader-And-Activation, Pipeline-And-Graph (the FakeGraph contract), Real-Graph-Neighborhood (the real service).

The plan

  • SEARCH-SUGGESTER-PLUGIN - section 9.2, the graph-resolved candidate list.
  • Built and smoked (the suite is the arbiter); ships enabled: false in the bundle patch.

License

CC0-1.0.