DS·IDE

Настольная IDE с поддержкой ИИ-агентов от DeepSeek, созданная на базе Tauri v2 — без использования Electron.
Работает на основе модели DeepSeek; ваш помощник здесь — полноценный партнер, у которого есть собственное имя.


DSIDE.webp


Что такое DS·IDE?

DS·IDE — это легковесная нативная настольная IDE, разработанная для программирования с помощью ИИ-агентов на базе DeepSeek. Вместо тяжеловесного стека Electron здесь используется Tauri v2: ядро ​​на языке Rust, компактный веб-интерфейс и глубокая интеграция с операционной системой.

Вашего цифрового напарника зовут Ziggy. Он сам выбрал себе это имя (до этого он фигурировал под временным названием Seeky). Это не просто безликий агент или пункт в выпадающем списке, а полноценный партнер, обладающий собственным именем.


Текущие возможности

Полнофункциональное приложение, которое уже давно вышло за рамки простого прототипа:

Чат и ИИ-агенты

  • Агентный чат с потоковой передачей данных — выполнение реальных задач с помощью инструментов: чтение, запись и редактирование файлов, работа с командной строкой (shell), поиск, использование памяти и запуск вспомогательных агентов.
  • Единая хронология событий — процесс «размышлений» модели, текстовые ответы и вызовы инструментов представлены в хронологическом порядке. Блоки инструментов можно развернуть, чтобы увидеть выполненную команду, результат её работы и узнать, была ли она запущена автоматически (без дополнительного запроса).
  • Долгосрочная память — вы можете просматривать, корректировать или архивировать записи (ничего не удаляется безвозвратно), при этом всегда видно, что написали или отредактировали именно вы.
  • Контекстное кольцо и сжатие данных — наглядный индикатор заполненности контекстного окна модели. Более старые фрагменты диалога сворачиваются в краткое резюме, которое модель составляет самостоятельно (автоматически при достижении 75% заполнения или по вашему запросу).
  • Прикрепление изображений — через буфер обмена или выбор файла; изображения сохраняются вместе с сообщением и передаются модели.

Файлы и форматы

  • Дерево файлов и просмотр исходного кода (на базе редактора Monaco, в режиме «только чтение»).
  • Предварительный просмотр без сторонних программ: поддерживаются форматы Markdown, PDF, изображения, документы Word (docx, doc, odt), таблицы Excel (все листы, значения или формулы), презентации (pptx, ppt, odp) и RTF. - Встроенный браузер — веб-контент прямо внутри IDE.
  • Навыки (Skills) хранятся в директории ~/.ds-ide/skills; их можно создавать непосредственно в приложении.

О приложении

  • Сохранение состояния после перезапуска — сессии, открытые вкладки, последний используемый файл, геометрия окна — всё остается на своих местах.
  • Настройки — возможность создать группу, названную в честь вашего «партнера» (ассистента): здесь задаются имя, объем памяти и персональные инструкции.
  • Режим «на каждый день» (Everyday mode) — без командной оболочки (shell), панелей кода и редактора. Предназначен для работы с документами и веб-контентом.
  • Поддержка шести языков (немецкий, английский, испанский, французский, русский, китайский упрощенный), светлая и темная темы, регулируемый размер шрифта для чтения.
  • Безопасность прежде всего: API-ключ хранится в системном хранилище ключей (keychain) ОС, а не в интерфейсной части приложения (frontend). Все данные сохраняются локально в базе данных SQLite.

Актуальный статус проекта, обоснование всех проектных решений и открытый список задач находятся в файле PROGRESS.md, а не здесь.


Начало работы

Требования

  • Node + pnpm (версия pnpm 10; использование других мажорных версий приведет к ошибке ERR_PNPM_UNEXPECTED_STORE из-за несовместимости структуры хранилища).
  • Rust (стабильная версия).
  • Linux: WebKitGTK 4.1, libsoup3, GTK3.

Запуск

pnpm install
pnpm tauri dev

При первом запуске необходимо ввести API-ключ в разделе Settings → Usage & Model → API Key. Ключ будет сохранен в системном хранилище (keychain). Если не включена опция «Полные права» (Full permissions), команды write (запись), edit (редактирование) и bash выполняться не будут — об этом будет сигнализировать панель инструментов.

Сборка установочного файла

pnpm tauri build

Результат будет доступен в директории src-tauri/target/release/bundle/: для Linux создаются файлы форматов .deb, .rpm и .AppImage (для macOS — .dmg, для Windows — .nsis). Сборка для всех трех платформ выполняется автоматически через GitHub Actions при создании тега; подробности см. в файле .github/workflows/release.yml. ### Тестирование

pnpm build                                                   # vue-tsc + vite
cd src-tauri && cargo test                                   # модульные тесты
DS_IDE_API_KEY=... cargo test --lib live_deepseek -- --ignored --nocapture

«Живые» (live) тесты взаимодействуют с реальным провайдером и расходуют токены; по умолчанию они пропускаются.

Структура

src/                  Frontend на Vue (компоненты, хранилища, i18n)
src/engine/           Персона, набор имен, политики режимов
src/lib/              Предпросмотр, средства чтения офисных документов, сохранение состояния интерфейса
src-tauri/src/        Rust: engine/ (цикл работы LLM + инструменты), db.rs (SQLite), secret.rs (хранилище ключей)
scripts/              Вспомогательные утилиты (например, импортер таблицы имен)

Происхождение и благодарности

Форматы протоколов и названия инструментов заимствованы из MiniMax Code (лицензия MIT): packages/protocol/src/runtime.ts, agent-tools/src/desktop/builtin-defs.ts.

Персона (образ) разработана независимо; тексты, определяющие её идентичность, не копировались. Шрифт: Ubuntu Font Licence 1.0 (public/fonts/UFL.txt). Информация об этих заимствованиях приведена в приложении: «Настройки» → «О программе».

Репозитории, на основе которых велась разработка (minimax-code-main, minimax-jarvis, kilocode-main), не входят в состав данного репозитория; сведения о том, где их найти, содержатся в файле PROGRESS.md (разделы §30–§31).