🧠 Collective Mind Broker v2.2
Универсальный брокер семантической памяти. Позволяет PHP-бэкенду (Kohana) и ИИ-агентам (Claude) использовать единое хранилище знаний.
Основные возможности
- Двойной интерфейс: REST API (для кода) и MCP (для ИИ).
- Семантический поиск: Поиск по смыслу, а не по ключевым словам (через FAISS + LM Studio).
- Пространства имен (Namespaces): Изоляция памяти для разных пользователей или задач.
- Защита от дублей: Хеширование контента предотвращает захламление памяти.
🛠 Установка и запуск
Зависимости
pip install fastapi uvicorn requests faiss-cpu numpy pydantic-settings fastmcp
Настройка (.env)
Создайте файл в корне проекта:
LM_STUDIO_URL=http://localhost:1234/v1/embeddings
EMBEDDING_MODEL=nomic-ai/nomic-embed-text-v1.5-GGUF
STORAGE_PATH=./storage
API_KEY=your-secret-key-123
VECTOR_DIMENSION=768
Запуск в режиме API (для PHP/Kohana)
python main.py
Сервер будет доступен по адресу http://localhost:8000.
Интеграция с Claude Desktop
Отредактируйте claude_desktop_config.json:
{
"mcpServers": {
"collective_mind": {
"command": "python",
"args": ["/путь/к/скрипту/main.py", "mcp"],
"env": {
"STORAGE_PATH": "/путь/к/storage",
"LM_STUDIO_URL": "http://localhost:1234/v1/embeddings"
}
}
}
}
🔌 API Reference (для PHP)
Все запросы требуют заголовок X-API-Key.
| Метод | Эндпоинт | Описание |
|---|---|---|
| POST | /remember | Сохранить одну запись. |
| POST | /remember_bulk | Массовая загрузка данных (лог, статьи). |
| GET | /recall?q=текст | Поиск похожих записей в памяти. |
| DELETE | /forget/{id} | Удаление записи по ID. |
| GET | /status | Статистика индекса. |
Пример вызова из PHP (Kohana)
$client = Remote::factory('http://localhost:8000/remember');
$client->headers('X-API-Key', 'your-secret-key-123');
$client->post(json_encode([
'text' => 'Сервер упал в 14:00 из-за OOM Killer',
'namespace' => 'server_logs',
'meta' => ['server_id' => 5]
]));
$response = $client->execute();
📝 Памятка для системного промпта (Instructions for AI)
Скопируйте это в настройки вашего ИИ-агента (System Instructions / Custom Instructions):
Инструкции по использованию инструментов Памяти (Collective Mind)
Использование инструментов Памяти
Ты обладаешь долгосрочной памятью через инструменты ai_remember и ai_recall. Твоя задача — поддерживать непрерывность контекста между сессиями.
Когда использовать ai_remember:
- Пользователь сообщил важный факт (имя, предпочтения, детали проекта).
- Ты нашел решение сложной ошибки (сохрани его, чтобы не искать снова).
- Произошло событие, которое может понадобиться в будущем.
- Пример: "Запомни, что мы используем порт 5432 для базы".
Когда использовать ai_recall:
- Пользователь спрашивает о вещах, которые обсуждались в прошлых сессиях.
- Тебе нужно найти контекст по теме (например, "Что мы решили по дизайну?").
- Перед началом сложной задачи поищи в памяти, нет ли там похожих случаев.
Работа с пространствами имен (namespace):
- По умолчанию используй
default. - Если данные специфичны (например, "код проекта X"), используй
namespace="project_x".
Стиль записей:
- Сохраняй информацию в виде кратких, емких утверждений.
- Вместо "Он сказал, что любит кофе" пиши "Пользователь предпочитает кофе".
Пример «Мыслей» ИИ (Chain of Thought):
"Пользователь спрашивает о настройках Nginx, которые мы обсуждали вчера. У меня нет этого в текущем окне чата. Я вызову ai_recall(query='настройки nginx', namespace='dev_notes'), чтобы восстановить контекст."