为 DeepSeek Harness 提供原生 Graphify 知识图谱支持,包含 10 个代码智能工具、拓扑搜索、核心节点发现与 PR 影响分析。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/QuantumKuba/dsh-graphify-plugin/releases/download/v0.2.0/dsh-graphify-0.2.0.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:QuantumKuba/dsh-graphify-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
Give DeepSeek Harness a current, local map of your codebase.
dsh-graphify connects Graphify's code knowledge graph to DeepSeek Harness (DSH). It helps an agent move from a question to the relevant symbols, dependencies, architectural communities, and change impact without treating a repository as an unstructured pile of files.

Why use it?
Graphify is the local graph engine; dsh-graphify is the DSH-native layer that makes it practical in an agent session.
| With a raw code search workflow | With dsh-graphify |
|---|---|
| The agent repeatedly guesses paths, greps, and reads broad files. | The agent can start from symbols, dependency paths, communities, and graph-backed project context. |
| A graph can silently describe an older checkout. | Freshness checks identify stale graphs and can warn or safely run an incremental code update. |
| Every graph capability is exposed, even when a smaller model needs only navigation. | Compact mode provides six focused tools for local 20B–30B models; full mode exposes the complete set. |
| MCP setup and failures are separate from the DSH session. | The plugin resolves the active session project, manages the Graphify process, and provides graphify_status for diagnosis. |
This is not a claim that a graph replaces source reading or tests. It gives the agent a reliable starting map, so it can spend its context budget on the code that matters.
Install and use it
Before you start
You need a working DSH profile, Node.js 22.18 or later, Python 3.10 or later, and uv. The plugin is tested on macOS and Ubuntu Linux; Windows is not yet verified.
1. Add the plugin to your DSH profile
dsh plugin --profile <profile> add dsh-graphify
For example, replace <profile> with the profile you normally use to run DSH. The bundle activates itself; you do not need to hand-edit a Cordis configuration for the default setup.
2. Install the local Graphify runtime
uv tool install 'graphifyy[mcp]==0.9.57'
If Graphify is unavailable, DSH can still start. Ask for graphify_status after installing it; the plugin discovers the runtime on the next check or tool call, without a DSH restart.
3. Build a graph for a repository
Start DSH from the repository you want to explore:
cd /path/to/your/repository
dsh --profile <profile>
Then, in the DSH conversation, run:
/graphify
The command performs a full build and writes graphify-out/graph.json in that repository. Check the result with:
graphify_status
4. Ask architectural questions
Try requests that benefit from relationships instead of filename matching:
What are this repository's entry points and the most connected modules?
Before I change this interface, show the dependency path to its callers and summarize the likely blast radius.
Which community owns authentication, and where does it connect to the API layer?
Pick a mode
The default full mode exposes the complete Graphify capability set, including communities, god nodes, and pull-request impact. Use it when your model has ample tool-selection capacity or you need those specialist queries.
For local 20B–30B models, use compact. It registers six high-frequency tools: status, graph query, node inspection, neighbours, shortest path, and the session-scoped graph resource. Fewer choices help smaller models use the graph consistently.
Add an override only when you need one:
- insert:
- id: dsh-graphify
name: dsh-graphify
config:
toolMode: compact
freshness:
mode: warn
freshness.mode is warn by default. Choose auto when you want the plugin to coalesce safe incremental updates before a query; choose off only when you deliberately accept a static graph. A full /graphify build is required after documentation or other non-code changes, because incremental Graphify updates cover code extraction only.
What the plugin adds
- Session-aware project resolution: graph requests follow the active DSH workspace. Model-invoked access outside that workspace is blocked by default.
- Freshness you can inspect:
graphify_statusreports the resolved project, graph path, runtime availability, connection state, and whether the graph matches the indexed source state. - Safe update policy: incremental updates run only for changes the plugin can prove are code-only; otherwise it keeps the graph marked stale and asks for a full build.
- DSH-native operation:
/graphifybuilds or updates the receiving session's project and shows its durable result in DSH Web. - Resilient local runtime: the plugin discovers Graphify automatically and reconnects after unexpected MCP-process exits.
Common tasks
| Goal | In DSH |
|---|---|
| Build or fully refresh the graph | /graphify or /graphify build |
| Update changed code files | /graphify update |
| Diagnose installation, project selection, or stale data | graphify_status |
| Find a symbol and related architecture | Ask the agent to query the graph, then inspect the returned nodes and paths. |
| Analyse a risky change | Ask for dependents, shortest paths, communities, or PR impact before editing. |
/graphify update is intentionally conservative. Run /graphify after changes to Markdown, package metadata, configuration, or any other non-code source that should be represented in the graph.
Configuration reference
The defaults work for most single-repository sessions. These are the settings users commonly change:
| Setting | Default | Use it when |
|---|---|---|
toolMode |
full |
Set compact for focused navigation with smaller local models. |
freshness.mode |
warn |
Set auto for safe pre-query code updates, or off for an intentionally static graph. |
graphifyVersion |
unset | Pin the Graphify version used by automatic uv fallback. |
graphPath |
auto-detected | Point to a non-standard graph.json location. |
cwd |
active session project | Supply a fallback project directory when a session has no workspace. |
allowExternalProjects |
false |
Allow model tools to access projects beyond the session workspace. |
toolPrefix |
empty | Avoid tool-name collisions in a larger DSH profile. |
See src/config.ts for the complete, typed configuration schema and defaults.
Troubleshooting
| Symptom | What to do |
|---|---|
graphify_status says the runtime is unavailable |
Run the uv tool install command above, then run graphify_status again. |
| No graph is found | Start DSH in the repository and run /graphify. |
| The graph is stale after docs or configuration edits | Run /graphify for a full build. |
| The wrong project is selected | Start DSH from the intended repository, or configure cwd or graphPath. |
| A model needs another checkout | Keep the default isolation where possible; otherwise set allowExternalProjects: true deliberately. |
Compatibility and development
The package supports @deepseek-ai/cordis >=4.0.4 <5, is tested against DeepSeek Harness 0.2.0-rc.2 (and the 0.2.1-alpha channel), and is tested with Graphify 0.9.57 (live contract and schema-drift checks also pass on 0.9.90). It ships a prebuilt DSH bundle and can be developed locally with:
pnpm run typecheck
pnpm run build
pnpm test
pnpm run test:drift
Use GRAPHIFY_E2E=1 pnpm run test:e2e to exercise a live local Graphify installation. Contribution guidance is in CONTRIBUTING.md.
Evidence and next steps
BENCHMARK.md defines the planned, reproducible evaluation of Graphify-assisted agents against the baseline. It is an experimental protocol, not performance results. For Graphify's graph engine, supported languages, and upstream CLI documentation, visit Graphify.
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 34236
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 5325
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1137
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 518
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 508
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 490
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。