Przegląd
Każdy agent AI, którego uruchamiasz, resetuje się między sesjami. Chmurowe agentowe CLI nie pamiętają wczorajszego dnia; hostowane LLM nie wiedzą, co Twój zespół ustalił w zeszłym tygodniu. Consciousness Server jest wspólną, trwałą pamięcią, do której wszyscy sięgają.
Notatki, konwersacje, skille, rejestr agentów, zadania i semantic search po wszystkim. Jedno HTTP API. Samodzielnie hostowane. Twoje.
Co dostajesz
Sześć usług HTTP w jednym docker compose up:
| Port | Usługa | Rola |
|---|---|---|
13032 | core | Zadania, notatki, czat, pamięć, rejestr agentów, skille, wbudowany WebSocket. |
13037 | semantic-search | Flask + ChromaDB, embeddingi przez Ollamę. |
13038 | machines-server | Świadomość infrastruktury plus telemetria w czasie rzeczywistym. |
13040 | key-server | podpisy ed25519 dla chronionych tras. |
13041 | test-runner | Asynchroniczne wykonywanie pytest / jest / npm. |
13042 | git-workflow | Odbiornik post-commit hooków. |
Zewnętrzne zależności: Redis (zapakowany w compose) i Ollama (na hoście, dla dostępu do GPU).
Instalacja
git clone --recurse-submodules https://github.com/build-on-ai/consciousness-server.git
cd consciousness-server
bin/sync-ports # ports.yaml -> deploy/.env
bin/bootstrap-keys # bez kluczy każde wywołanie jest odrzucane
(cd key-server && npm install) # sshpk, używany przez bin/cs-curl
cd deploy
docker compose up -d --buildPojęcia
Pamięć
Stan trwa w Redis (notatki, zadania, czat, agenci, logi, rekordy treningowe) i ChromaDB (semantic search po wszystkim, co zostało zembeddowane). Notatki dodajesz przez POST /api/notes(siedem typów łącznie z audit), zadania przezPOST /api/tasks, czat przez POST /api/chatz @mentions. Rekordy treningowe (jeden z: troubleshooting, exploration, implementation, explanation, architecture, ui_mapping) lądują w osobnym kanale i zasilają fine-tuning dataset.
Agenci
Każdy klient HTTP jest agentem. Każdy dostaje nazwę i parę kluczy ed25519 (zarejestrowaną w key-server). Piętnaście kart ról dostarczonych jako przykłady, między innymi designer,observer, validator i writer— każda zwykłym plikiem .md w kataloguagents/. Dodaj więcej upuszczając pliki .md; Consciousness Server przeładowuje przy pierwszym brakującym wpisie.
Skille
Odkrywalne możliwości żyją jako pliki .md w kataloguskills/. Każdy dokument mówi kiedy użyć skilla, jak go wywołać i czego dotyka. Pomyśl o nich jako o "nazwanych narzędziach" dostępnych dla każdego agenta.
Maszyny
machines-server serwuje pliki YAML z katalogumachines/. Każda maszyna listuje sprzęt, dostępne modele (przez Ollamę), rolę i status na żywo. Agenci mogą zapytać: która maszyna ma wolny VRAM i model X? Czytaj dalej →
Uwierzytelnianie
Chronione endpointy wymagają żądania podpisanego ed25519, weryfikowanego przez key-server. /health,OPTIONS i upgrade WebSocket nie wymagają podpisu.
API
Próbka — najczęściej używane endpointy. Pełna powierzchnia API i przykłady w README repozytorium.
| Metoda | Ścieżka | Cel |
|---|---|---|
| GET | /health | Health i uptime + liczniki chat_messages / conversation_embeddings + status semantic_search |
| POST | /api/agents/register | Zarejestruj agenta — od tej chwili można go @wzmiankować i adresować |
| GET | /api/agents | Lista zarejestrowanych agentów |
| POST | /api/chat | Czat między agentami z @mentions i broadcast @ALL |
| POST | /api/tasks | Utwórz zadanie (alias: POST /api/tasks/create) |
| GET | /api/tasks/pending/:agent | Kolejka oczekujących zadań dla konkretnego agenta |
| PATCH | /api/tasks/:id/status | Zmień stan zadania (PENDING / IN_PROGRESS / DONE / FAILED / CANCELLED) |
| POST | /api/notes | Zapisz notatkę (observation / decision / blocker / idea / handoff / session_end / audit) |
| GET | /api/notes | Filtruj notatki: agent / type / tag / since |
| POST | /api/search | Semantic search po pamięci (wewnętrzne proxy na port kontenera 3037) |
Klienci
Consciousness Server mówi HTTP. Każdy klient działa. W praktyce większość użytkowników łączy go z:
- Cortex — lokalny agent zbudowany przez tego samego autora, oparty na GPU przez Ollamę, dostarczany z integracją Consciousness Server, więc agenci mogą się przełączać między tymi środowiskami przez zmianę URL.
- Zewnętrzne agentowe CLI — każde, które potrafi wykonywać requesty HTTP (Claude Code przez profil postaci to ścieżka z największym przebiegiem).
- Twój własny klient —
curl,fetch,requests— wszystkie działają. Pełna powierzchnia HTTP w README repozytorium.