✨ Спробуйте нашу AI-платформу для написання романів → StoryAlter.com
#MD SoloMD

v4.0.0

Редактор, де живуть агенти.

v4.0 — це мажорний реліз agent-native author. Агенти перейшли від «зовнішнього CLI, до якого зрідка звертаються» до першокласних громадян всередині редактора — присутні постійно, працюють крізь кілька vault, повна видимість, відтворювані, оборотні. Усе нижче — у ядрі, plugin\'и не потрібні. Інсталятор досі ~15 МБ.

П'ять стовпів

Кожен — у ядрі, перемикається в налаштуваннях. Повністю сумісний з вашими наявними нотатками — без міграції БД, без нового формату файлів, без примусового хмарного акаунту.

1 · Інтегрована панель Agent

Першокласна панель праворуч, на одному рівні з Outline / Backlinks / Tags / History. Стримінговий chat-with-vault через внутрішньопроцесний MCP-інтерфейс і наявний AI-стек на 14 провайдерів. Цитати [[wikilink]] розв\'язуються у справжні переходи між нотатками; кожна картка виклику інструменту агента розгортається у потоці розмови — видно, що було прочитано, що було записано. Відповідь надто довга? Кнопки Вставити та Копіювати скидають цілий абзац у поточний редактор — замінюють виділення, якщо є, інакше вставляють у позицію курсора. Історія запусків зберігається як звичайний markdown у .solomd/agent-runs/, її можна grep-ати й відстежувати в git.

2 · Agent Recipe / запуск за розкладом

Декларативні agent-завдання, YAML-файли в <workspace>/.solomd/agents/*.yml. Тригери: schedule (cron), on-save, on-commit, on-tag-add, ручний. Безкомпромісні guardrail безпеки: кожен запуск стартує у власній гілці AutoGit agent/<recipe>/<run-id>, усі записи потрапляють лише в цю гілку, проходять через UI accept / reject перед merge у main; write-cap на запуск (типово 5, жорстка стеля 50) запобігає некерованим циклам; Reject hard-видаляє гілку, той запуск повністю невидимий в історії git. Постачає 11 шаблонів Recipe (щотижневий огляд, очищення логів, витяг TODO, переклад, прибирання цитат, огляд CJK тощо) — встановити, відредагувати prompt, запустити.

3 · Перегляд Agent Trace

Кожен запуск (як розмова в Панелі, так і Recipe) генерує trace.jsonl покроково: prompt / model_call / tool_call / tool_result / git_commit / done. Картки кроків розгортаються, щоб показати args, результати, підрахунок токенів, оцінки вартості, посилання на гілки AutoGit. Кнопка Replay-from-step відмотує запуск до кроку N, змінює input і виконує повторно з цього місця — це шлях до self-correcting recipes. Новий MCP-інструмент read_agent_trace(run_id) виставляє trace іншим агентам.

4 · MCP-федерація кількох vault

solomd-mcp --workspace path1 --workspace path2 --workspace path3 —— одна MCP-сесія, кілька vault. Сигнатури інструментів отримали необов\'язковий параметр workspace, типове значення = перший переданий (повністю зворотно сумісно з MCP-клієнтами для одного vault). Гілки AutoGit ізольовані по workspace. Налаштування → Інтеграції має UI MCP-профілів: упакувати кілька іменованих vault, скопіювати сніпет конфіга Claude Desktop одним кліком.

5 · Першокласна Ollama

Ми не упаковуємо власний локальний LLM-runtime —— Ollama вже добре це робить. v4.0 лише відполірувала інтеграцію: автовизначення на localhost:11434 (Налаштування → AI має зелений індикатор стану), посібник з установлення в один клік, якщо не встановлено, 3 вбудовані пресети моделей (rewrite → qwen2.5:7b · quick → qwen2.5:1.5b · cjk → qwen2.5:14b), вбудована рекомендація pull, коли список моделей порожній. Recipes можуть вказувати provider: local (псевдонім Ollama) для циклів автоматизації без хмарних витрат. Ваші нотатки ніколи не залишають машину —— через BYOK Ollama це завжди було правдою, v4.0 робить це знаходимим шляхом.

🛡️ Guardrail безпеки (те, чого ніхто інший не робить)

  • Sandbox гілок AutoGit. Кожен запуск Recipe починається у власній гілці. Поки ви не клацнете Прийняти, main не рухається. Reject-запуски не залишають нічого —— гілка видалена, дерево файлів відмотане.
  • Стеля записів на запуск. Модель хоче записати 50 файлів, коли cap = 5: з 6-го виклику інструменту відмова. Жодного «напівготового» стану, жодних випадкових масових змін.
  • Відмова стартувати, коли workspace dirty. У вас є незакомічені зміни, тригер Recipe спрацьовує — він виходить з помилкою, ваш WIP не змітається в commit\'и агента.
  • Зміцнення проти path-traversal. Внутрішньопроцесний інтерфейс інструментів і всі команди Tauri, що приймають run_id / path від користувача, тепер відразу відхиляють сегменти .. й абсолютні шляхи. На рівні коду агент не може писати поза workspace.
  • Відтворюваний trace. Кожен крок потрапляє рядок за рядком як JSON на диск. Підозріла поведінка Панелі? Пройдіться trace, знайдіть поганий крок, змініть input, відтворіть з кроку N–1.

Планка якості

  • Майстер першого запуску. Нові користувачі бачать панель Agent менш ніж за 60 секунд —— він проводить через введення BYOK-ключа або встановлення Ollama. Знову відкривається з меню Допомога.
  • Cookbook рецептів (11 starter-шаблонів). Налаштування → Recipes → Переглянути cookbook. Щотижневий огляд, щоденний лог, витяг TODO, прохід перекладу, прибирання цитат, агент огляду CJK, детектор link rot, нормалізатор frontmatter, outline-у-blog, прохід refactor, щотижневий triage тегів. Встановити, відредагувати prompt, запустити.
  • Локальне REST API (слухає лише на localhost, аутентифікація токеном). Той самий інтерфейс, що й MCP, для клієнтів, які ще не говорять MCP — Alfred / Raycast / n8n / ваші скрипти.
  • Лічильник вартості BYOK. Кумулятивно витрачені токени за провайдером, opt-in. Налаштування → Інтеграції.
  • Локалізація. Повне покриття UI на 9 мовах (en/zh/ja/ko/de/fr/es/pt/it). Цей реліз додав 5 європейських мов — німецьку, французьку, іспанську, португальську, італійську — усі з тим самим паритетом ключів словника, що в en/zh.

UX-полірування, помітне з першого дня

  • IME-захист скрізь. Китайський pinyin, японський режим kana, корейський hangul — Enter для підтвердження кандидата більше випадково не запускає надсилання розмови / перейменування файлу у дереві / виконання команди палітри / відкриття пошуку. Єдине виправлення для 7 панелей вводу.
  • Кнопки Insert / Copy для відповідей Assistant. Дві кнопки під кожною завершеною відповіддю. Insert враховує виділення в редакторі (з виділенням замінює), без виділення вставляє у позицію курсора. Copy — звичайний clipboard.
  • UX запуску macOS. Виправлено таймінг активації при запуску —— холодний запуск SoloMD дійсно виходить на передній план, більше не ховається за Finder. Відновлення позиції вікна завжди приземляється в робочій області поточного екрана; відновлення з поганого кешу після відключення додаткового екрана автоматично перецентрується, замість відкриватися поза екраном.
  • «Генерація...» зависала без помилки. Виправлено. Помилка конфігурації провайдера (наприклад, Ollama з нескачаною моделлю) залишала панель у підвішеному стані. Тепер ви бачите червону смугу помилки зі справжньою відповіддю backend, і кнопка надсилання повертається.

Чого v4.0 явно не робить (і чому)

Сказати «ні» — це теж частина продукту. Ці речі серйозно розглядалися й явно не зроблені:

  • Принести власний локальний LLM-runtime. Ollama вже добре це робить; винаходити велосипед порушує принцип «писати менше коду, який треба підтримувати назавжди». Шлях BYOK-провайдерів залишається.
  • Онлайн-маркетплейс Recipe. Серверні операції + модерація вмісту = відхилення від основної лінії. Cookbook упаковуються прямо в релізах і оновлюються разом з інструментом.
  • Багатокористувацькі / командні агенти. Порушує «одне вікно, один автор». Цей продукт — для одного автора; колаборація належить іншому продукту.
  • Доповнення ghost-text у стилі Copilot. Інше позиціювання бренду. Ghost-text розводнює голос автора; наші агенти працюють у одиницях vault, записи пакетні + рецензовані + branch-based.

Нотатки щодо оновлення

  • Без зміни формату файлів. Наявні .md, історія AutoGit, конфігурація sync, BYOK-ключі — все збережено як було.
  • Панель Agent автоматично увімкнена при першому запуску. Користувачі v3.6.x могли мати приховане showAgentPanel: false через типове значення scaffold у період v4-beta; одноразова міграція перевертає його у true, і ви дійсно побачите основну функцію. Якщо не хочете, можете вимкнути через ⌘⇧P → View: Toggle Agent Panel.
  • Панель Налаштувань має дві нові вкладки Recipes й Лічильник вартості, під Інтеграції. Розташування наявних налаштувань не змінилося.
  • MCP-сервер (solomd-mcp) отримав новий параметр --workspace (повторюваний). Наявні MCP-клієнти на один workspace продовжують працювати; поведінка федерації — opt-in.

🔮 Що далі

5 основних стовпів + планка якості — це головний контент цього разу. Відкриті напрямки для v4.x і далі усі в roadmap: sandboxed scripting API, CLI v2 (rewrite / commit / семантичний пошук / тригер Recipe з терміналу) і вічно відкладене питання «Чи має SoloMD стати комерційним продуктом?» (платний sync — старе питання з ери v3.0, досі без відповіді, поки рішення не ухвалене, інженерної роботи в цій сфері не буде).

Дякуємо всім, хто протягом тихого періоду надсилав issues / робив PR / ганяв v4-beta-білди на справжніх vault. v4.0 змогла відбутися тому, що dogfood виявив баги, які пропустили інтеграційні тести. Попередні версії: Дивитися блог (en) →

Коментарі та відгуки

Коментарі живуть на GitHub Discussions — увійдіть один раз через свій GitHub-акаунт.

Коментарі завантажуються з GitHub Discussions. Якщо ви бачите це повідомлення, мейнтейнер ще не завершив одноразове налаштування giscus.app — див. web/COMMUNITY-SETUP.md.

Відкрити на GitHub Discussions →