---
title: DS·IDE
url: 'https://modestcoders.eu/en'
markdown: 'https://modestcoders.eu/en/index.md'
lang: en
date: '2026-10-18'
description: 'DS·IDE is your specialized, agent-based workspace for DeepSeek. An open-source client for developers. Try it out now!'
taxonomy:
  category:
    - software
    - ki
  tag:
    - deepseek
    - freeware
    - open-source
    - 'agentic ide'
    - tui
    - cli
---

# DS·IDE

#### DeepSeeks agentic desktop IDE built on Tauri v2 — no Electron. 
 Powered by the DeepSeek model, with a partner who has a name of his own.

---

[![DSIDE.webp](https://modestcoders.eu/user/media/DSIDE.webp)](https://modestcoders.eu/user/media/DSIDE.webp)

---

### What is DS·IDE?

DS·IDE is a lightweight, native desktop IDE built for agentic coding with DeepSeek. Instead of a heavy Electron stack, it runs on Tauri v2 — a Rust core, a lean web frontend, and deep system integration.

The coding partner inside the app is called **Ziggy**. He picked that name himself, once — until then he went by the placeholder *Seeky*. Not an anonymous agent, not a dropdown option: a named collaborator.

---

### Current Capabilities

A working app that goes well beyond a prototype:

**Chat & Agent**

- **Agentic chat with streaming** — real tool execution, not just text: reading, writing, editing, shell, search, memory and sub-agents.
- **One answer, one timeline** — thinking, text and tool calls in the order they happened. Tool rows open to show the command, its output, and whether it ran without asking.
- **Long-term memory** you can read, correct and retire (nothing is deleted), with a visible marker for what you wrote or rewrote.
- **Context ring & compression** — see how full the model's window is; older turns fold into a summary the model writes itself (automatically at 75 %, or on click).
- **Image attachments** by paste or picker — they stay with the message and are sent along.

**Files & Formats**

- **File tree and source view** (Monaco, read-only).
- **Previews without external tools:** Markdown, PDF, images, Word (docx, doc, odt), Excel (all sheets, values **or formulas**), presentations (pptx, ppt, odp) and RTF.
- **Integrated browser** — web content right inside the IDE.
- **Skills** live in `~/.ds-ide/skills` and can be written in the app.

**The App**

- **Everything survives a restart** — sessions, open tabs, the last file, the window geometry.
- **Settings** with a group named after your partner: memory, name, and your own instructions.
- **Everyday mode** — no shell, no code panels, no code editor. For documents and the web.
- **Six languages** (de, en, es, fr, ru, zh-Hans), light and dark theme, adjustable reading size.
- **Security first:** API key in the OS keychain, never in the frontend. Everything local in SQLite.

> The authoritative status, every design decision and the open list live in [PROGRESS.md](https://modestcoders.eu/en/home/./PROGRESS.md) — not in this file.

---

### Getting Started

**Prerequisites**

- Node + pnpm (**pnpm 10** — another major gives `ERR_PNPM_UNEXPECTED_STORE`, the store layouts are incompatible)
- Rust (stable)
- Linux: WebKitGTK 4.1, libsoup3, GTK3

**Run it**

```sh
pnpm install
pnpm tauri dev
```

First start: enter the API key under **Settings → Usage & Model → API Key**. It is stored in the OS keychain. Without **"Full permissions"** enabled, `write`, `edit` and `bash` do not run — and the tool row says so.

### Build an Installer

```sh
pnpm tauri build
```

Produces `src-tauri/target/release/bundle/`: `.deb`, `.rpm` and `.AppImage` on Linux (`dmg` on macOS, `nsis` on Windows). GitHub Actions builds all three platforms on a tag; see `.github/workflows/release.yml`.

### Testing

```sh
pnpm build                                                   # vue-tsc + vite
cd src-tauri && cargo test                                   # unit tests
DS_IDE_API_KEY=... cargo test --lib live_deepseek -- --ignored --nocapture
```

The live tests talk to the real provider and cost tokens; they are ignored by default.

### Structure

```
src/                  Vue frontend (components, stores, i18n)
src/engine/           persona, name pool, mode policy
src/lib/              previews, office readers, persisted UI state
src-tauri/src/        Rust: engine/ (LLM loop + tools), db.rs (SQLite), secret.rs (keyring)
scripts/              small tools (e.g. the name-table importer)
```

---

### Origins & Acknowledgments

Protocol formats and tool names were adopted from **MiniMax Code** (MIT): `packages/protocol/src/runtime.ts`, `agent-tools/src/desktop/builtin-defs.ts`.

The persona was written independently; no identity-defining text was copied. Typeface: **Ubuntu Font Licence 1.0** (`public/fonts/UFL.txt`). Both are credited in the app under Settings → About.

The reference checkouts this project was built against (`minimax-code-main`, `minimax-jarvis`, `kilocode-main`) are **not** part of this repository; where to find them is recorded in PROGRESS.md §30–§31.

---
