Commit Graph

18 Commits

Author SHA1 Message Date
crispyberry
0b9aef22a7 feat: add OTA firmware update from URL
Wraps esp_https_ota for over-the-air updates via HTTPS.
Dual OTA partitions enable safe rollback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:59 +08:00
crispyberry
44790d016b feat: add serial CLI with 12 configuration commands
esp_console REPL over USB-JTAG: wifi_set, set_tg_token,
set_api_key, set_model, memory_read/write, session_list/clear,
heap_info, restart.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:54 +08:00
crispyberry
9435302063 feat: add WebSocket gateway on port 18789
JSON protocol server using esp_http_server with WS upgrade.
Supports up to 4 concurrent clients, auto-assigned chat_id,
routes messages through the agent via message bus.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:49 +08:00
crispyberry
3365db45b9 feat: add memory store and session manager
MEMORY.md for long-term memory, daily YYYY-MM-DD.md notes.
JSONL session files per chat_id with ring buffer history
(max 20 messages). All persisted on SPIFFS.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:44 +08:00
crispyberry
0c517b734f feat: add agent loop and context builder
Agent loop runs on Core 1: pops inbound messages, builds system
prompt from bootstrap files + memory, calls Claude API, saves
session, pushes response to outbound queue. PSRAM-allocated buffers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:38 +08:00
crispyberry
cbd137c3fa feat: add Claude API proxy with SSE streaming parser
Anthropic Messages API integration with streaming response.
Parses content_block_delta SSE events, accumulates text tokens.
API key and model stored in NVS.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:32 +08:00
crispyberry
44a82520e2 feat: add Telegram bot with long polling and message splitting
Direct HTTPS long polling against Telegram Bot API (getUpdates),
JSON parsing with cJSON, auto-split at 4096 chars, Markdown
with plain-text fallback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:28 +08:00
crispyberry
efb3e09929 feat: add FreeRTOS message bus (inbound + outbound queues)
mimi_msg_t carries channel/chat_id/content between tasks.
Decouples input channels from agent loop and output dispatch.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:23 +08:00
crispyberry
0ebd1ccb20 feat: add WiFi manager with NVS credentials and auto-reconnect
STA mode, reads SSID/password from NVS, exponential backoff
reconnect (1s-30s), EventGroup for connection state.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:17 +08:00
crispyberry
db3a8b1202 feat: add sdkconfig defaults, partition table, and global config
16MB flash with custom partitions (2x2MB OTA + 12MB SPIFFS),
PSRAM/WiFi/TLS tuning, and centralized compile-time constants.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:12 +08:00
crispyberry
2d0660ab58 chore: add .gitignore and sdkconfig.defaults.esp32s3 2026-02-05 18:15:08 +08:00
crispyberry
2f1a7b6199 Merge remote-tracking branch 'origin/main' 2026-02-05 12:40:09 +08:00
crispyberry
e676abf2d2 feat: new project 2026-02-05 12:38:18 +08:00
crispyberry
7e87831f3f docs: big name, done 2026-02-04 23:40:18 +08:00
crispyberry
8cfd68e5c3 Add lobster pixel art banner to README
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 17:49:34 +08:00
crispyberry
1d1ac71369 Fix clone URL to correct repo address
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 12:40:36 +08:00
crispyberry
cf567b3585 Add project README with architecture, roadmap, and usage docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 12:37:56 +08:00
crispyberry
52f5695b76 first commit 2026-02-04 12:27:23 +08:00