No description
Find a file
2026-07-26 09:54:41 +02:00
.agents rebase 2026-07-26 09:54:41 +02:00
ask-memory-api rebase 2026-07-26 09:54:41 +02:00
ask-memory-core rebase 2026-07-26 09:54:41 +02:00
ask-memory-tui rebase 2026-07-26 09:54:41 +02:00
.env.example rebase 2026-07-26 09:54:41 +02:00
.gitignore rebase 2026-07-26 09:54:41 +02:00
Cargo.lock rebase 2026-07-26 09:54:41 +02:00
Cargo.toml rebase 2026-07-26 09:54:41 +02:00
LICENSE Initial commit 2026-07-26 07:51:58 +00:00
README.md rebase 2026-07-26 09:54:41 +02:00

ask-memory

Tutor inteligente multi-tema construído em Rust com Ratatui. O aluno conversa com uma IA configurável (Kimi, Gemini, DeepSeek, Claude, Minimax, Z.ai etc.) e o sistema guarda pontos fracos, agenda revisões espaçadas e sugere exercícios.

Arquitetura

  • ask-memory-core: domínio, entidades, algoritmo de revisão espaçada e traits.
  • ask-memory-api: servidor Axum + Turso/libSQL que expõe a lógica via REST.
  • ask-memory-tui: interface terminal com Ratatui que consome a API local.
  • .agents/: regras e prompts que as IAs seguem, independentemente do provedor.

Pré-requisitos

  • Rust 1.85+ (edition 2024)
  • Variáveis de ambiente com os tokens das IAs que você for usar, por exemplo:
    • KIMI_API_KEY
    • GEMINI_API_KEY
    • DEEPSEEK_API_KEY
    • ANTHROPIC_API_KEY
    • MINIMAX_API_KEY
    • ZAI_API_KEY

Como rodar

1. Compilar

cargo build --workspace

2. Iniciar a API

KIMI_API_KEY=seu-token cargo run -p ask-memory-api

A API sobe em http://127.0.0.1:3000 por padrão. O banco local fica em ask-memory.db.

3. Iniciar a TUI

Em outro terminal:

cargo run -p ask-memory-tui

Atalhos na TUI

  • Tela de projetos:
    • ↑/↓ navega
    • Enter abre o projeto
    • n cria um novo projeto genérico
    • r recarrega a lista
    • s configurações
    • q sai
  • Tela de chat:
    • i entra no modo de edição
    • Enter envia mensagem
    • Esc volta para projetos
  • Tela de configurações:
    • ↑/↓ navega entre provedores
    • Enter ativa o provedor selecionado
    • Esc volta

Regras do tutor

As regras estão em .agents/rules/ e são injetadas no system prompt de qualquer IA ativa:

  1. Exercícios: a IA sempre pede "por que?" antes de confirmar a resposta.
  2. Textos: a IA corrige, identifica pontos a melhorar e sugere materiais.
  3. Revisão espaçada: dificuldades seguem o ciclo 1, 2, 7, 14, 28 dias (reinicia se errar).

Configuração

Variável Descrição Padrão
ASK_MEMORY_API_URL URL da API para a TUI http://127.0.0.1:3000
ASK_MEMORY_BIND Endereço de bind da API 127.0.0.1:3000
ASK_MEMORY_DB_PATH Caminho do banco Turso local ask-memory.db
ASK_MEMORY_SYSTEM_PROMPT Caminho do system prompt .agents/prompts/tutor-system.md

Endpoints principais

  • GET /health
  • GET /projects, POST /projects
  • GET /projects/{id}/conversations, POST /projects/{id}/conversations
  • POST /conversations/{id}/messages
  • GET /projects/{id}/difficulties
  • GET /projects/{id}/reviews/today
  • GET /providers, PUT /providers/{id}/activate

Testes

cargo test --workspace