Skip to content

algorithm-ssau/notalking

Repository files navigation

Notalking

Веб-сервис для заметок со встроенным AI-агентом. Заметки состоят из структурированных блоков; агент отвечает на вопросы по вашим данным; планируется голосовой ввод для быстрого захвата текста.

Репозиторий — монорепозиторий из трёх сервисов:

Компонент Назначение Статус
Core Service (core/) REST API на Rust, заметки, аутентификация, сессии В разработке
Web App (web/) фронтенд на Nuxt Заготовка
Intelligence Service (intelligence/) LLM-агент, эмбеддинги, MCP Заготовка

Архитектура, модули, чертёж API и целевые хранилища (PostgreSQL, Qdrant, Redis) описаны в AGENTS.md.

Команда

Участник Направления
Куркин Н core, web, review
Потехин С web, qa, review
Дмитрий Я intelligence, review

Структура репозитория

notalking/
├── core/              # Rust — HTTP API (Axum)
│   ├── crates/editor/ # модель заметки на блоках (библиотека)
│   └── src/           # HTTP-слой и сборка приложения
├── web/               # приложение Nuxt (будет добавлено)
├── intelligence/      # Python-стек для AI (будет добавлено)
└── AGENTS.md          # архитектура и заметки по реализации

Запуск Core Service

Из корня репозитория (поднимает зависимости в Docker и стартует Core с DATABASE_URL / REDIS_URL / QDRANT_URL / NATS_URL для localhost). Семантический поиск: локальные Ollama (ollama serve) и Qdrant; модель эмбеддингов -- nomic-embed-text (ollama pull nomic-embed-text). Для чата по умолчанию используется gpt-oss:120b-cloud через OLLAMA_API_KEY, а для полностью локального режима можно вручную переключить модель на gemma3:1b.

just run

Если вы уже подняли Compose и запускаете из каталога core, используйте just run-with-compose (или задайте DATABASE_URL вручную); иначе по умолчанию включится SQLite.

Только бинарь без Docker (по умолчанию SQLite в core/data/core.db; путь считается от каталога core/, не от текущей оболочки):

cd core
cargo run

Сервер по умолчанию слушает http://0.0.0.0:40000. Уровень логирования задаётся переменной RUST_LOG (например, RUST_LOG=debug).