From 2f8c19cfccb93de1fb533161120f1791c5cc49f9 Mon Sep 17 00:00:00 2001 From: dttb Date: Mon, 8 Jun 2026 23:47:46 +0300 Subject: [PATCH] =?UTF-8?q?swarmclaw:=20vault=20=D0=B7=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D1=82=20=D0=B2=20Knowledge-=D1=80=D0=B0=D0=B7=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=20(189=20entries,=20=D0=B0=D0=B2=D1=82=D0=BE-=D1=86?= =?UTF-8?q?=D0=B8=D1=82=D0=B0=D1=82=D1=8B)=20+=20daily=20=D1=80=D0=B5-?= =?UTF-8?q?=D1=81=D0=B8=D0=BD=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- decisions/2026-06-08-swarmclaw-lxc135-deploy.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/decisions/2026-06-08-swarmclaw-lxc135-deploy.md b/decisions/2026-06-08-swarmclaw-lxc135-deploy.md index f369076..f16eb25 100644 --- a/decisions/2026-06-08-swarmclaw-lxc135-deploy.md +++ b/decisions/2026-06-08-swarmclaw-lxc135-deploy.md @@ -61,6 +61,12 @@ tags: [dttb, swarmclaw, openclaw, orchestrator, lxc, docker] - **Проверено:** на вопрос про openclaw агент сам сделал `grep -ril openclaw /app/data/knowledge-base/projects/dttb` → прочитал `openclaw.md` → ответил точно (LXC 137, 10.0.0.239, 100.70.167.54). RAG-доступ работает. - **Автообновление:** `/root/kb-pull-swarm.sh` (cron `*/15` на LXC 135) — `git pull` vault из Gitea. Как kb-pull у openclaw 137. +### Встроенный Knowledge-раздел (доп. путь, по запросу Олега) +SwarmClaw имеет раздел **Knowledge** (`/api/knowledge`), и агент использует его **автоматически**: `prompt-builder` + `selectKnowledgeCitations` инжектят релевантные куски в контекст с цитатами (отдельного tool нет; `knowledge_search`/`knowledge_store` как tools удалены). Поиск — текстовое сходство (jaccard, не embeddings) — для фактов норм. +- **Импортировано 189 entries** (`projects`, `decisions`, `snippets`, `claude-memory`, `templates` — без `daily`/`notes` шума): скрипт POST `/api/knowledge {title,content,sourcePath}` по каждому .md. 0 ошибок. +- **Ре-синк:** `/root/kb-knowledge-sync.sh` (cron `30 3 * * *`) — git pull + удалить наши entries (по `sourcePath` префиксу) + импорт заново. Иначе POST плодит дубли (нет upsert). +- **Итог — два механизма:** (1) Knowledge entries → авто-контекст с цитатами (UI-раздел); (2) файловый workspace → агент grep'ает всю базу (свежее, `*/15`). Дополняют друг друга. + ## Схема API (для будущих правок headless) - `POST /api/providers` → `{id,name,baseUrl,models[],requiresApiKey,isEnabled}` (type всегда `custom`), хранит JSON в таблице `provider_configs`. - `POST /api/agents` → zod `AgentCreateSchema`; обяз. `name`,`provider`; `ollamaMode` только `local|cloud|null` (не `off`).