Islulua/dsh-code-navigator--packages-code-navigator0

dsh-code-navigator

Standalone persistent language-server navigation for DeepSeek Harness.

包名
dsh-code-navigator
版本
0.1.0
最近更新
2026年9月4日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Islulua/dsh-code-navigator#fa3cdf2eaf98e97acf7d729ff49ad50af127eaf0&path:packages/code-navigator

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.