In the DSH ecosystem, agents often rely on grep to read code. However, grep only returns text and cannot reflect call chains, impact scope, or architectural relationships. dsh-code-graph solves this problem. It introduces branch-aware code knowledge graph capabilities to the DSH plugin system, allowing agents to understand code through graph queries rather than blind searching.
What Is This¶
This is a DSH plugin maintained by hoyyang. It reuses the local codebase-memory-mcp engine to provide structured code indexing and query capabilities. It does not depend on MCP sessions; instead, it interacts with the engine binary through a native tool dispatcher.
Core Features¶
- Structured code reading: supports callers, callees, impact (impact BFS), and trace (call and data-flow paths), architecture (architecture overview), covering 158+ languages.
- Automatic branch following: after checking out any branch, ask directly and the index graph automatically corresponds to the current branch; switching back to a previously visited branch requires zero reindexing.
- Rolling single index for large repositories: repositories over 500MB retain only one index for the current branch; switching branches deletes the old index and creates a new one, keeping disk usage to one copy.
- Freshness gating: each query compares the HEAD + dirty tree signature; drift automatically triggers a fast incremental reindex.
- Automatic fallback to ripgrep on zero graph matches: if a graph query returns no results, it automatically falls back to ripgrep; results are explicitly labeled as fallback and are never presented as graph results.
- Hard gate for code reading: code grep without calling codegraph first is rejected with guidance; gate exceptions always fail open.
- Cross-branch queries: query non-checked-out branches that already have indexes (frozen state) directly via the branch parameter.
Installation and Activation¶
Use the official installation command:
dsh plugin add github:hoyyang/dsh-code-graph
After installation, the plugin depends on the local codebase-memory-mcp engine binary (default path ~/.local/bin/codebase-memory-mcp). If the engine is missing, the plugin reports an error identifying the missing component when invoked, but this does not affect DSH startup.
Typical Usage¶
- View index status:
/codegraph
- Create a new index:
/codegraph <仓库绝对路径> fast
- Agent-side query:
codegraph { "op": "callers", "repo_path": "<repo>", "name": "handleRequest" }
- Ask directly after switching branches: the index automatically follows.
Applicable Scenarios and Notes¶
This plugin is suitable for scenarios that require a deep understanding of code call relationships, architectural impact, or cross-branch code retrieval. Before installation, ensure the codebase-memory-mcp engine is configured locally.
Notes:
- Does not modify repository files: no git hooks are installed, .gitignore is not written, and no persistent listeners are started.
- Uninstall command:
dsh plugin --profile web remove dsh-code-graph
This command automatically cleans up tools, commands, prompt section/skill files, and state files, but does not touch the graph database or the user’s repository.
- Ecosystem background: DSH’s philosophy is “everything is a plugin”; the community catalog is an independent site with no official affiliation with DeepSeek / High-Flyer.
Conclusion¶
dsh-code-graph provides DSH with efficient code knowledge graph capabilities through native tool dispatch and freshness gating. For complete documentation, visit GitHub or the SkillHub catalog.