v4.0.0
Edytor, w którym mieszkają agenty.
v4.0 to duże wydanie agent-native author. Agenty przeszły z roli „zewnętrznego CLI wywoływanego od czasu do czasu” do pełnoprawnych obywateli wewnątrz edytora — obecnych w sposób ciągły, pracujących w wielu vaultach, w pełni widocznych, odtwarzalnych, odwracalnych. Wszystko poniżej jest w core, żaden plugin nie jest potrzebny. Instalator nadal waży ~15 MB.
Pięć filarów
Każdy jest w core, przełączalny w ustawieniach. W pełni kompatybilny z twoimi istniejącymi notatkami — żadnej migracji bazy, żadnego nowego formatu pliku, żadnego wymuszonego konta w chmurze.
1 · Zintegrowany panel Agent
Pełnoprawny panel z prawej strony, na tym samym poziomie co Outline / Backlinks /
Tags / History. Strumieniowy chat-with-vault przez wewnątrzprocesowy
interfejs MCP i istniejący stos AI z 14 dostawcami. Cytaty [[wikilink]]
rozwiązują się do realnych skoków do notatki; każda karta wywołania narzędzia
przez agenta rozwija się w strumieniu rozmowy — widzisz, co zostało odczytane
i co zostało zapisane. Odpowiedź za długa?
Przyciski Wstaw i Kopiuj wrzucają
cały akapit do bieżącego edytora — z zaznaczeniem zastępują, bez zaznaczenia
wstawiają w pozycji kursora. Historia uruchomień
zapisuje się jako zwykły markdown w .solomd/agent-runs/,
można grepować, można śledzić w git.
2 · Recipes Agent / uruchomienia z harmonogramu
Deklaratywne zadania agenta, pliki YAML w
<workspace>/.solomd/agents/*.yml.
Wyzwalacze: schedule (cron), on-save,
on-commit, on-tag-add, ręcznie.
Bezkompromisowe mechanizmy bezpieczeństwa: każde
uruchomienie startuje na własnym branchu AutoGit
agent/<recipe>/<run-id>, wszystkie zapisy
lądują tylko na branchu, przechodzą przez UI accept / reject przed mergem do main;
write-cap na uruchomienie (domyślnie 5, twardy limit 50)
zapobiega niekontrolowanym pętlom; Reject hard-deletuje branch — danego
uruchomienia w ogóle nie widać w historii git. W zestawie
11 szablonów Recipe (cotygodniowy przegląd, czyszczenie
logów, ekstrakcja TODO, tłumaczenie, czyszczenie cytowań, przegląd CJK,
…) — zainstaluj, zmodyfikuj prompt, uruchom.
3 · Widok Trace Agent
Każde uruchomienie (zarówno rozmowa z panelu, jak i Recipe) generuje
trace.jsonl per krok:
prompt / model_call /
tool_call / tool_result /
git_commit / done.
Karty kroków rozwijają się i pokazują argumenty, wyniki, liczniki
tokenów, szacowane koszty, referencje branchy AutoGit.
Przycisk Replay-from-step przewija uruchomienie do kroku N,
zmienia dane wejściowe i wykonuje od nowa od tego punktu — to wejście
do recipes self-correcting. Nowe narzędzie MCP
read_agent_trace(run_id) udostępnia trace innym agentom.
4 · Federacja MCP multi-vault
solomd-mcp --workspace path1 --workspace path2 --workspace path3
—— jedna sesja MCP, wiele vaultów. Sygnatury narzędzi zyskały
opcjonalny parametr workspace, domyślnie = pierwszy podany
(w pełni back-compat z klientami MCP single-vault). Branch AutoGit
izolowany per workspace. Ustawienia → Integracje
ma UI profilu MCP: spakuj wiele nazwanych vaultów, kopiuj
snippet konfiguracji Claude Desktop jednym kliknięciem.
5 · Ollama pierwszoklasowo
Sami nie pakujemy lokalnego runtime’u LLM
—— Ollama już to robi dobrze. v4.0 jedynie dopolerowała integrację:
autodetekcja na localhost:11434 (Ustawienia → AI ma
zielony wskaźnik statusu), prowadzenie po instalacji jednym kliknięciem,
jeśli nie jest zainstalowana, 3 wbudowane presety modeli
(rewrite → qwen2.5:7b ·
quick → qwen2.5:1.5b ·
cjk → qwen2.5:14b), polecany pull inline, gdy lista
modeli jest pusta. Recipes mogą deklarować provider: local
(alias dla Ollama) dla pętli automatyzacji bez kosztów chmurowych.
Twoje notatki nigdy nie opuszczają maszyny —— przez BYOK Ollama
tak było zawsze, v4.0 robi z tego jawną, odkrywalną ścieżkę.
🛡️ Mechanizmy bezpieczeństwa (czego nie robi nikt inny)
- Sandbox branchy AutoGit. Każde uruchomienie Recipe
startuje na własnym branchu. Dopóki nie klikniesz Akceptuj,
mainsię nie rusza. Odrzucone uruchomienia nie zostawiają nic —— branch skasowany, drzewo plików cofnięte. - Limit zapisów na uruchomienie. Model chce zapisać 50 plików, gdy cap to 5 — od 6. wywołania narzędzia w górę dostaje odmowę. Żadnego stanu „półgotowego”, żadnej przypadkowej masowej modyfikacji.
- Odmowa startu, gdy workspace jest dirty. Masz niezacommit-owane zmiany, wyzwalacz Recipe pali, kończy z błędem, twój WIP nie zostaje zmieciony do commitów agenta.
- Hardening path-traversal. Wewnątrzprocesowy interfejs
narzędzi i wszystkie komendy Tauri akceptujące
run_id/pathdostarczone przez użytkownika z góry odrzucają segmenty..i ścieżki bezwzględne. Na poziomie kodu agent nie może zapisać niczego poza workspace’em. - Odtwarzalny trace. Każdy krok ląduje linia po linii jako JSON na dysku. Podejrzane zachowanie panelu? Idź po trace, zlokalizuj feralny krok, zmień dane wejściowe, odtwórz od kroku N–1.
Pasek jakości
- Wizard pierwszego uruchomienia. Nowi użytkownicy widzą panel Agent w mniej niż 60 sekund —— prowadzi cię przez wpisanie klucza BYOK albo instalację Ollamy. Otwórz ponownie z menu Pomoc.
- Cookbook Recipe (11 szablonów startowych). Ustawienia → Recipes → Przeglądaj cookbook. Cotygodniowy przegląd, dziennik dnia, ekstrakcja TODO, przejście tłumaczeniowe, czyszczenie cytowań, agent recenzji CJK, detektor link rot, normalizator frontmattera, outline-do-bloga, przejście refactoringowe, cotygodniowy triage tagów. Zainstaluj, zmodyfikuj prompt, uruchom.
- Lokalne REST API (nasłuchuje wyłącznie na localhost, uwierzytelnianie tokenem). Ten sam interfejs co MCP, dla klientów, które jeszcze nie mówią MCP — Alfred / Raycast / n8n / twoje skrypty.
- Licznik kosztów BYOK. Tokeny wydane skumulowane per dostawca, opt-in. Ustawienia → Integracje.
- Lokalizacja. 9 języków UI z pełnym pokryciem (en/zh/ja/ko/de/fr/es/pt/it). To wydanie dołożyło 5 języków europejskich — niemiecki, francuski, hiszpański, portugalski, włoski — wszystkie z taką samą parytetową listą kluczy słownika jak en/zh.
Polish UX odczuwalny od pierwszego dnia
- Strażnicy IME wszędzie. Chiński pinyin, japońskie tryby kana, koreański hangul — Enter zatwierdzający kandydatów na słowa nie wyzwala już przez przypadek wysłania rozmowy / zmiany nazwy w drzewie plików / wykonania w palecie poleceń / otwarcia wyszukiwarki. Jednolita poprawka dla 7 paneli wprowadzania.
- Przyciski Insert / Copy dla odpowiedzi Assistanta. Dwa przyciski pod każdą skończoną odpowiedzią. Insert jest świadomy zaznaczenia w edytorze (z zaznaczeniem zastępuje), bez zaznaczenia wstawia w pozycji kursora. Copy jest zwykłym schowkiem.
- UX startu na macOS. Timing aktywacji przy starcie naprawiony —— SoloMD przy zimnym starcie naprawdę wychodzi na pierwszy plan, nie chowa się już za Finderem. Przywracanie pozycji okna zawsze trafia w obszar roboczy bieżącego ekranu; przywracanie ze złego cache’a po odłączeniu drugiego monitora samo się centruje, zamiast otwierać poza ekranem.
- „Generowanie...” zacina się bez błędu. Naprawione. Błąd konfiguracji dostawcy (np. Ollama z niepobranym modelem) zostawiał panel zawieszony. Teraz widzisz czerwony pasek błędu z prawdziwą odpowiedzią backendu, przycisk wyślij też wraca.
Czego v4.0 jawnie nie robi (i dlaczego)
Mówienie „nie” też jest częścią produktu. Te rzeczy zostały poważnie rozważone i jawnie pominięte:
- Wnoszenie własnego runtime’u lokalnego LLM. Ollama już to robi dobrze; wynajdywanie koła łamie zasadę „pisać jak najmniej kodu do permanentnego utrzymania”. BYOK do dostawców pozostaje główną drogą.
- Online’owy marketplace Recipe. Eksploatacja serwera + moderacja treści = zboczenie z głównej linii. Cookbook pakowany bezpośrednio w wydaniach, aktualizowany razem z aplikacją.
- Wieloużytkowy / zespołowy agent. Łamie zasadę „jedno okno, jeden piszący”. Ten produkt jest dla pojedynczego autora; współpraca należy do innego produktu.
- Uzupełnianie ghost-text w stylu Copilota. Inne pozycjonowanie marki. Ghost-text rozwadnia głos piszącego; nasze agenty pracują w jednostkach vaultów, zapisy są wsadowe + do przeglądu + branch-based.
Notatki dotyczące aktualizacji
- Żadnej zmiany formatu pliku. Istniejące
.md, historia AutoGit, konfiguracja syncu, klucze BYOK — wszystko zachowane bez zmian. - Panel Agent automatycznie włączany przy pierwszym uruchomieniu.
Użytkownicy v3.6.x mogą mieć schowane
showAgentPanel: falsez powodu defaultów scaffolda z okresu v4-beta; jednorazowa migracja przełącza to na true, byś faktycznie widział główną funkcję. Jeśli jej nie chcesz, wyłączysz przez⌘⇧P → View: Toggle Agent Panel. - Panel Ustawień zyskał dwie nowe zakładki Recipes i Licznik kosztów, pod Integracjami. Pozycje istniejących ustawień bez zmian.
- Serwer MCP (
solomd-mcp) zyskał nowy parametr--workspace(powtarzalny). Istniejący klienci MCP single-workspace nadal działają; zachowanie federacji jest opt-in.
🔮 Co dalej
5 głównych filarów + pasek jakości to główna zawartość tym razem. Otwarte kierunki dla v4.x i dalej są wszystkie w roadmapie: sandboxowane API skryptowe, CLI v2 (rewrite / commit / wyszukiwanie semantyczne / wyzwalanie Recipe w terminalu) oraz wiecznie odkładane pytanie „czy SoloMD powinien stać się produktem komercyjnym?” (płatny sync — stare pytanie z ery v3.0, wciąż bez odpowiedzi, dopóki nie zapadnie decyzja, w tym obszarze nie będzie żadnej inżynierii).
Podziękowania dla wszystkich, którzy w cichym okresie wysyłali issues / przesyłali PR-y / odpalali buildy v4-beta na prawdziwych vaultach. v4.0 mogła wyjść tylko dlatego, że dogfooding wykrył bugi, które testy integracyjne przegapiły. Wcześniejsze wersje: Zobacz blog (en) →