DSHIDE is an AI-native IDE built on top of Visual Studio Code and dsh — the DeepSeek open-source agent framework. The editor is VS Code with every native feature intact (editing, debugging, Git, terminal, extension ecosystem). The AI layer is dsh, booted in-process as the IDE's agent kernel.
中文说明见 README.zh.md。操作手册见 docs/MANUAL.zh.md。
- dsh as the IDE kernel. No companion process, no localhost server. The dsh agent tree (agent presets, sandbox, approval stack, storage, plugin system) boots inside the extension host via a
fleetideprofile under~/.dsh. It reuses the exact same protocol stack as the dsh CLI — zero translation layer. - Native chat, no custom panel. The chat UI is VS Code's own chat panel; dsh is the default chat participant. Approvals and user questions surface as native VS Code dialogs (fail-closed).
- Four agent modes + reasoning effort + multi-model/multi-provider, switchable in chat.
/modeselects standard / code (PTC) / minimal / cordis presets;/thinkswitches reasoning effort (off / low / high / max);/modelswitches the model provider/model (e.g. deepseek-v4-flash vs -pro);/provideradds a provider (one-command enable for 36 built-in catalog routes, or a custom OpenAI-compatible gateway). - Plugin management inside the IDE. The dsh plugin panel installs/removes plugins for the
fleetideprofile, forwarding to the dsh CLI. - Copilot fully removed. The only AI entry point is dsh, and the only authentication is your DeepSeek API key (
/auth), stored by dsh in~/.dsh/.credentials.yaml— never by the IDE. - Shares one dsh home with the browser app. If you use dsh's web UI (port 3080) on the same machine, both share
~/.dshand your API key; IDE sessions live separately under~/.dsh/sessions-fleetide.
- Prerequisite: Node.js ≥ 22.19 (24 LTS recommended) and the dsh CLI:
npm i -g @deepseek-ai/dsh - Install DSHIDE from the setup executable (user or system installer), or run the unpacked build directory's
DSH Code.exedirectly. - In the chat panel, type
/authand paste your DeepSeek API key (stored in~/.dsh/.credentials.yaml). - Ask anything in the chat panel — no
@prefix needed.
| Command | What it does |
|---|---|
/auth |
Configure / rotate the DeepSeek API key |
/mode |
Pick the agent preset: standard / code (PTC) / minimal / cordis (locks in on the next new session) |
/think |
Switch reasoning effort: off / low / high / max (applies immediately in the current session) |
/model |
Switch the model provider/model (e.g. deepseek-v4-flash vs -pro); applies to the current chat immediately and becomes the global default |
/provider |
Add a model provider: enable a built-in catalog route (Anthropic / OpenAI / OpenRouter …) or declare a custom OpenAI-compatible gateway |
Autocomplete: typing / pops up the five commands; after /mode , /think or /model (command followed by a space) the argument list opens automatically and narrows as you type — the Chinese names filter too (e.g. typing 标 matches 标准模式). /model arguments come from dsh's live model catalog. No need to remember exact spellings.
See docs/MANUAL.zh.md for the full manual and troubleshooting.
DSHIDE is a fork of VS Code with a built-in extension, extensions/fleetide-dsh.
rem one-time environment (standalone Node 24 + China-friendly mirrors + signtool PATH)
tools\build-env.cmd
rem full win32-x64 build (output: VSCode-win32-x64\)
tools\build-ide.cmd
rem installer chain
npm run gulp vscode-win32-x64-inno-updater vscode-win32-x64-user-setup vscode-win32-x64-system-setupNotes:
- Electron binaries download through
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/(already set inbuild-env.cmd). - The extension bundles with esbuild:
cd extensions\fleetide-dsh && node --experimental-transform-types esbuild.mts. - Fork-specific source patches are recorded under
patches/for upstream rebases.
DSHIDE (desktop app)
├─ Workbench (editor / debug / terminal) ← VS Code, unchanged
├─ Extension host
│ └─ fleetide-dsh (built-in extension)
│ ├─ Chat participant: /auth /mode /think /model /provider, streaming turns
│ ├─ dsh kernel: in-process boot, fleetide profile (sessions-fleetide)
│ │ └─ agent presets · sandbox · approval stack · plugins · storage
│ ├─ Language model bridge (VS Code LM API ⇄ dsh model routing)
│ └─ Plugin management panel
└─ ~/.dsh (shared with the dsh CLI / web UI on the same machine)
DSHIDE is not part of the dsh repository — it is a consumer of dsh. The dsh code itself is loaded at runtime from $DSH_HOME/profiles/node_modules (materialized by the dsh CLI), which keeps this repository free of third-party agent code and keeps dsh upgrades decoupled from IDE releases.
- This repository is a fork of microsoft/vscode, licensed under the MIT License. All product branding (name, icons, installer, telemetry identifiers) has been replaced; this project is not affiliated with or endorsed by Microsoft.
- GitHub Copilot has been removed from this fork. No Copilot or GitHub authentication code runs in DSHIDE.
- dsh and its packages are © their respective owners and are not bundled in this repository.
- The
fleetide-dshextension and all fork modifications are MIT-licensed, same as the base.
- Do I need a dsh server running? No. The kernel boots in-process; the dsh CLI/web app (port 3080) can run alongside without interference.
- Where is my key stored?
~/.dsh/.credentials.yaml, managed by dsh. DSHIDE never writes or persists the key itself. - Why did my shortcut stop working after the rename? The executable was renamed from
FleetIDE.exetoDSH Code.exe; recreate the shortcut or reinstall.