DS·IDE

Eine agentenbasierte Desktop-IDE von DeepSeek, entwickelt auf Basis von Tauri v2 – ganz ohne Electron.
Angetrieben vom DeepSeek-Modell, mit einem Partner, der einen eigenen Namen trägt.


DSIDE.webp


Was ist DS·IDE?

DS·IDE ist eine schlanke, native Desktop-IDE, die speziell für agentenbasiertes Programmieren mit DeepSeek entwickelt wurde. Anstelle eines schwerfälligen Electron-Stacks basiert sie auf Tauri v2 – mit einem Kern in Rust, einem effizienten Web-Frontend und einer tiefen Systemintegration.

Der Programmierpartner in der Anwendung heißt Ziggy. Diesen Namen hat er sich selbst gegeben – zuvor war er unter dem Platzhalter Seeky bekannt. Kein anonymer Agent, keine bloße Auswahlmöglichkeit aus einem Dropdown-Menü: ein echter, namentlich bekannter Mitarbeiter.


Aktuelle Funktionen

Eine voll funktionsfähige Anwendung, die weit über einen Prototypen hinausgeht:

Chat & Agent

  • Agentenbasierter Chat mit Streaming – echte Ausführung von Werkzeugen (Tools), nicht nur reiner Text: Lesen, Schreiben, Bearbeiten, Shell-Zugriff, Suche, Gedächtnisfunktionen und der Einsatz von Unteragenten.
  • Eine Antwort, eine Chronologie – Denkprozesse, Text und Tool-Aufrufe in der tatsächlichen zeitlichen Abfolge. Tool-Einträge lassen sich aufklappen, um den Befehl, die Ausgabe und den Hinweis darauf anzuzeigen, ob der Befehl automatisch (ohne Rückfrage) ausgeführt wurde.
  • Langzeitgedächtnis – Sie können Einträge einsehen, korrigieren oder archivieren (nichts wird endgültig gelöscht). Änderungen, die von Ihnen vorgenommen wurden, sind durch eine entsprechende Markierung erkennbar.
  • Kontext-Management & Komprimierung – Behalten Sie den Füllstand des Kontextfensters im Blick. Ältere Interaktionen werden zu einer Zusammenfassung verdichtet, die vom Modell selbst erstellt wird (automatisch bei einer Auslastung von 75 % oder jederzeit per Klick).
  • Bildanhänge – Einfach per Copy-and-Paste oder Dateiauswahl hinzufügen; die Bilder bleiben mit der jeweiligen Nachricht verknüpft und werden bei der Anfrage mitübermittelt.

Dateien & Formate

  • Dateibaum und Quellcode-Ansicht (basierend auf Monaco, schreibgeschützt).
  • Vorschau ohne externe Programme: Unterstützung für Markdown, PDF, Bilder, Word-Dokumente (docx, doc, odt), Excel-Dateien (alle Tabellenblätter, Werte oder Formeln), Präsentationen (pptx, ppt, odp) sowie RTF-Dateien. - Integrierter Browser — Webinhalte direkt in der IDE.
  • Skills befinden sich im Verzeichnis ~/.ds-ide/skills und können direkt in der Anwendung erstellt werden.

Die Anwendung

  • Alles bleibt nach einem Neustart erhalten — Sitzungen, geöffnete Tabs, die zuletzt geöffnete Datei sowie die Fenstergeometrie.
  • Einstellungen mit einem Bereich, der nach deinem „Partner“ benannt ist: hier lassen sich Speicher, Name und spezifische Anweisungen festlegen.
  • Alltagsmodus — ohne Shell, ohne Code-Bereiche und ohne Code-Editor. Ideal für Dokumente und das Web.
  • Sechs Sprachen (de, en, es, fr, ru, zh-Hans), helles und dunkles Design, anpassbare Schriftgröße.
  • Sicherheit hat Vorrang: Der API-Schlüssel wird im Schlüsselbund des Betriebssystems gespeichert, niemals im Frontend. Alle Daten liegen lokal in einer SQLite-Datenbank.

Der aktuelle Entwicklungsstand, alle Designentscheidungen sowie die offene Aufgabenliste sind in PROGRESS.md dokumentiert – nicht in dieser Datei.


Erste Schritte

Voraussetzungen

  • Node + pnpm (pnpm 10 — eine andere Hauptversion führt zu ERR_PNPM_UNEXPECTED_STORE, da die Speicherstrukturen inkompatibel sind)
  • Rust (stable)
  • Linux: WebKitGTK 4.1, libsoup3, GTK3

Ausführen

pnpm install
pnpm tauri dev

Beim ersten Start: Gib den API-Schlüssel unter Einstellungen → Nutzung & Modell → API-Schlüssel ein. Er wird im Schlüsselbund des Betriebssystems gespeichert. Ohne aktivierte „Volle Berechtigungen“ („Full permissions“) funktionieren die Funktionen write, edit und bash nicht – ein Hinweis darauf findet sich in der Werkzeugleiste.

Installationsdatei erstellen

pnpm tauri build

Erzeugt Dateien im Verzeichnis src-tauri/target/release/bundle/: .deb, .rpm und .AppImage unter Linux (sowie .dmg unter macOS und .nsis unter Windows). GitHub Actions erstellt bei einem Tag-Release Builds für alle drei Plattformen; siehe dazu .github/workflows/release.yml. ### Tests

pnpm build                                                   # vue-tsc + vite
cd src-tauri && cargo test                                   # Unit-Tests
DS_IDE_API_KEY=... cargo test --lib live_deepseek -- --ignored --nocapture

Die Live-Tests kommunizieren mit dem tatsächlichen Anbieter und verbrauchen Tokens; sie werden standardmäßig ignoriert.

Struktur

src/                  Vue-Frontend (Komponenten, Stores, i18n)
src/engine/           Persona, Namenspool, Modus-Richtlinien
src/lib/              Vorschauen, Office-Dateileser, persistenter UI-Zustand
src-tauri/src/        Rust: engine/ (LLM-Schleife + Tools), db.rs (SQLite), secret.rs (Keyring)
scripts/              Kleine Hilfsprogramme (z. B. der Importeur für Namenstabellen)

Ursprung & Danksagungen

Protokollformate und Tool-Bezeichnungen wurden von MiniMax Code (MIT) übernommen: packages/protocol/src/runtime.ts, agent-tools/src/desktop/builtin-defs.ts.

Die Persona wurde eigenständig verfasst; es wurden keine identitätsstiftenden Texte kopiert. Schriftart: Ubuntu Font Licence 1.0 (public/fonts/UFL.txt). Beide werden in der App unter „Einstellungen“ → „Über“ aufgeführt.

Die Referenz-Checkouts, auf deren Basis dieses Projekt entwickelt wurde (minimax-code-main, minimax-jarvis, kilocode-main), sind nicht Teil dieses Repositorys; Hinweise zu deren Fundort finden sich in PROGRESS.md (Abschnitte 30–31).