Islulua/dsh-code-navigator--packages-code-navigator ↗★ 0
dsh-code-navigator
Standalone persistent language-server navigation for DeepSeek Harness.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Islulua/dsh-code-navigator#fa3cdf2eaf98e97acf7d729ff49ad50af127eaf0&path:packages/code-navigator说明文档
阅读完整 README ↗Configuration
Defaults work without a profile override. To customize native clangd or discovery bounds, replace the bundle row in the profile's cordis.patch.yml:
- id: code-navigator
name: dsh-code-navigator
config:
clangdCommand: /opt/homebrew/opt/llvm/bin/clangd
clangdArgs: [--background-index, --clang-tidy]
projectSearchDepth: 4
projectSearchDirectoryLimit: 500
quickOpenFileLimit: 50000
maxDocumentBytes: 4000000
pyrightCommand and typescriptLanguageServerCommand optionally select external executables. Leave them empty to use the versions bundled with the plugin.
The public lifecycle is open, change, definition, and close. A UI adapter should call open when a code tab opens, change as its document changes, and close when the last matching tab closes; definition calls then avoid the transient didOpen/didClose work of the standard provider.
When dsh-better-sidebar is also enabled, the optional browser adapter adds Cmd/Ctrl-click definition lookup to code tabs, back and forward controls in the sidebar's top-right control strip, and a compact LSP project/server status line below the editor. The host navigator remains usable by other plugins without this adapter.
Without BetterSidebar, the browser module mounts a lightweight right-side workbench. It selects the current DSH session's workspace, loads its root directory automatically, and opens a file in a tab when the user clicks its tree row. The workbench uses the Sidebar's visual and interaction model: an Explorer tree, tabs, a token-driven CodeMirror editor with C/C++, Python, JavaScript/TypeScript, JSON, and YAML highlighting, a status toolbar, and Cmd/Ctrl-click or Cmd/Ctrl+Enter definition lookup. Right-clicking a file tab offers Close, Close Others, and Close All. The toolbar renders the active file as a workspace-relative breadcrumb; clicking a directory segment opens that directory and lets the user descend into folders or open a sibling file. Ctrl+P on Windows/Linux or Cmd+P on macOS opens a filename-first fuzzy search across the current workspace; Arrow Up/Down selects a result, Enter opens it, and Escape closes the palette. The workspace file index starts in the background and is reused for later searches. The workbench owns its bundled React, icon, and CodeMirror runtime, so it does not load a Sidebar chunk. It keeps its own back/forward history and sends debounced editor changes to the persistent server. The workbench is not mounted when BetterSidebar is available, so the two plugins never create competing editor panes.