dsh-serena: Symbolic Code Intelligence for DeepSeek Harness Agents
akash-digitavision/dsh-serena
Wires Serena MCP into DeepSeek Harness so DSH agents get IDE-grade symbolic code intelligence: symbol search, rename, reference analysis and symbolic editing.
dsh-serena is a DSH plugin that wires IDE-grade symbolic capabilities into DeepSeek Harness so agents no longer rely on plain text search to understand a codebase. Through the Serena MCP server it exposes tools for finding symbols, locating references, renaming symbols, replacing symbol bodies, and getting a symbols overview, while session hooks activate the project and remind agents to use them. It stores memories per project, surfaces language server diagnostics, and hides file read, search, and shell tools that duplicate DSH built-ins; it targets DSH 0.2.0-rc.2 and later on Windows, macOS, and Linux.
How to Install
dsh plugin --profile web add github:akash-digitavision/dsh-serena- Category
- Tools & Capabilities
- Platform
- DSH Plugin
- Author
- akash-digitavision
- Distribution
- Plugin
dsh-serena Key Features
dsh-serena Repo Summary
What Does It Do?
Serena is a DSH plugin for DeepSeek Harness that brings IDE-grade symbolic code intelligence to every agent on a profile. It solves the problem of agents understanding a codebase only through plain text search by exposing symbol search, reference lookup, renaming, and symbolic editing through the Serena MCP server. Maintained by akash-digitavision under the MIT license, it targets the DSH bundle API from 0.2.0-rc.2 onward and runs on Windows, macOS, and Linux.
Core Features
- Symbol search and overview: exposes tools to find symbols and get a symbols overview, so agents navigate code by meaning rather than raw text.
- Reference and implementation analysis: finds referencing symbols, implementations, and declarations to show what a change will affect.
- Symbolic refactoring: renames symbols, safely deletes symbols, and replaces symbol bodies at the symbol level instead of the string level.
- Per-project memories and diagnostics: stores memories per project and surfaces language server diagnostics.
- Session hooks bridge: session-start, pre-tool-use, and stop hooks activate the workspace, remind agents to use Serena tools, and clean up afterwards.
- Duplicate tool hiding: file read, search, and shell tools that duplicate DSH built-ins stay hidden to reduce noise.
How to Use This Plugin?
After enabling it in DSH and restarting the host, each session automatically activates its workspace as the Serena project, and agents can call the symbol tools directly. To verify, ask an agent to activate the project with Serena and check that it goes through the Serena path. Before use, prepare the Serena CLI and the hooks file as described in the README; if Serena is not on the DSH process PATH, point the configuration at the absolute path of the executable. The first symbol query in a new project downloads that language's language server, so the first call can be slow.
How to Troubleshoot This Plugin?
- On Windows, application-control policies such as Smart App Control or WDAC may block uv-managed unsigned Python builds; build a virtual environment from a trusted signed interpreter and point the Serena command at that environment's executable as described in the official instructions.
- If installation is rejected for peer incompatibility because the hooks-bridge dependency is version-pinned, match that dependency version to your current DSH runtime as described in the official instructions.
- A slow first symbol query is expected: the language server is being downloaded on demand, so wait for it to finish and retry.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: akash-digitavision/dsh-serena. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
