Skip to content

Sermage/jarvis-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jarvis CLI

Терминальный чат с GigaChat — интерактивный CLI с трёхуровневой моделью памяти.

Установка

1. Клонировать репо

git clone https://github.com/Sermage/jarvis-cli.git
cd jarvis-cli

2. Установить зависимости

pip3 install requests

3. Добавить ключ авторизации

cp .env.example .env
# открыть .env и вставить ключ из Sber Developer Studio

4. Запустить

python3 chat.py

Запуск командой jarvis

chmod +x chat.py
sudo ln -sf "$(pwd)/chat.py" /usr/local/bin/jarvis

Модель памяти

Jarvis использует три изолированных слоя памяти. Каждый хранится отдельно, данные выбираются явно.

┌─────────────────────────────────────────────────────┐
│  [3] Долговременная  профиль агента + база знаний   │  ~/.jarvis/profiles/
│                                                     │  ~/.jarvis/knowledge/
├─────────────────────────────────────────────────────┤
│  [2] Рабочая         задача, контекст, заметки      │  ~/.jarvis/working/current.json
├─────────────────────────────────────────────────────┤
│  [1] Краткосрочная   текущий диалог                 │  ~/.jarvis/sessions/
└─────────────────────────────────────────────────────┘
          ↓ объединяются → system prompt при каждом запросе

Слой 1 — Краткосрочная (messages)

  • Все сообщения текущего диалога
  • Сохраняется автоматически в ~/.jarvis/sessions/*.json
  • При новом запуске можно продолжить любую сессию
  • Очищается командой /clear

Слой 2 — Рабочая (working memory)

  • Задача, структурированный контекст, заметки
  • Сохраняется вручную командами /wm
  • Хранится в ~/.jarvis/working/current.json
  • Персистентна между запусками (пока не сброшена)
  • Автоматически попадает в system prompt

Слой 3 — Долговременная (profiles + knowledge)

  • Профили — системный промпт агента в markdown (~/.jarvis/profiles/)
  • База знаний — произвольные записи (~/.jarvis/knowledge/)
  • Всегда присутствуют в system prompt

Команды

Чат

Команда Описание
/model Выбрать модель
/temp Задать temperature
/tokens Задать max_tokens
/settings Текущие настройки + статус памяти
/clear Очистить краткосрочную память (диалог)
/quit Выход

Рабочая память

Команда Описание
/mem Показать все три слоя памяти
/wm Показать рабочую память
/wm task <описание> Установить текущую задачу
/wm set <ключ> <значение> Сохранить факт в контекст
/wm note <текст> Добавить заметку
/wm del <ключ> Удалить ключ из контекста
/wm clear Очистить рабочую память

Долговременная память

Команда Описание
/know list Список записей в базе знаний
/know save <имя> Сохранить знание
/know show <имя> Показать запись
/profile Сменить профиль агента
/profile new Создать новый профиль
/profile edit Редактировать профиль
/profile delete Удалить профиль

Пример сессии

# 1. Запускаем
jarvis

# 2. Устанавливаем задачу в рабочую память
/wm task Рефакторинг модуля авторизации

# 3. Добавляем контекст
/wm set язык Python 3.11
/wm set фреймворк FastAPI
/wm note Нельзя менять публичный API

# 4. Ассистент теперь знает контекст в каждом сообщении
You: Как лучше организовать зависимости?

# 5. Важное решение — в долговременную память
/know save auth-решение
> Используем dependency injection через Depends()
> Токены храним в Redis с TTL 3600
>
(Enter — конец)

# 6. Проверяем все слои
/mem

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages