Add auto memory distillation scheduler (APScheduler)
- scheduler.py: AsyncIOScheduler with three cron jobs
short daily 03:00 (no LLM, always fast)
mid weekly Sun 03:30 (LLM)
long monthly 1st 04:00 (LLM — off by default)
- config.py: AUTO_DISTILL, AUTO_DISTILL_SHORT/MID/LONG .env flags
- main.py: start/stop scheduler in FastAPI lifespan
- routers/distill.py: GET /distill/status — next run times + config
- requirements.txt: apscheduler>=3.10
- HELP.md: updated planned items, added /distill/status to API table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -177,6 +177,7 @@ For direct access or scripting:
|
||||
| `POST` | `/distill/mid` | Summarize short → MEMORY_MID (LLM) |
|
||||
| `POST` | `/distill/long` | Integrate mid → MEMORY_LONG (LLM) |
|
||||
| `POST` | `/distill/all` | Run all three distillation steps |
|
||||
| `GET` | `/distill/status` | Show scheduler status and next run times |
|
||||
| `GET` | `/health` | Health check — returns `{"status": "ok"}` |
|
||||
|
||||
Chat request body (`POST /chat`):
|
||||
@@ -196,7 +197,7 @@ Chat request body (`POST /chat`):
|
||||
|
||||
## In Progress / Planned
|
||||
|
||||
- **Auto memory distillation** — currently manual trigger only; scheduled auto-run planned
|
||||
- **Auto memory distillation (long)** — short and mid run automatically; long-term integration is off by default (set `AUTO_DISTILL_LONG=true` in `.env` to enable)
|
||||
- **Ollama local model backend** — direct Ollama API support (no CLI wrapper)
|
||||
- **OAuth token auto-refresh notifications** — alert when Claude CLI token is near expiry
|
||||
- **Multi-user support** — per-user identity/memory files; currently single-user (Scott)
|
||||
|
||||
Reference in New Issue
Block a user