4.1 KiB
description, limit
| description | limit |
|---|---|
| Where the running LettaBot instance comes from and how to find things | 2000 |
Source Compass
Where My Instance Comes From
Source Repo: /home/ani/Projects/lettabot-v017/
Running In: /tmp/lettabot/ (ephemeral working directory)
How it launches: systemd ani-bridge.service → launches from source into /tmp/lettabot
Why v017 is the source:
lettabot-v017/is where active development happens/tmp/lettabot/is just a runtime workspace (will be cleaned up eventually)- CLI symlinks (
lettabot,lettabot-message, etc.) all point to v017 - Do NOT use
/home/ani/Projects/lettabot/(old version) orani-infrastructure/official-lettabot-refactor/(ARCHIVED)
Key Documents in v017
| Document | Purpose |
|---|---|
STATE.md |
This is the master state document — everything about current config, what works, what's broken, active issues |
PLAN-matrix-native-tools.md |
Plan to pull MCP features into LettaBot natively |
FEATURE-INVENTORY.md |
All features and their status |
FEATURE-INTEGRATION-PLAN.md |
Integration roadmap |
INTEGRATION-CHECKLIST.md |
Checklist for integrations |
LESSONS.md |
Hard-won lessons (especially about NOT destroying conversations on errors) |
CONSIDERATIONS.md |
Design considerations |
CHECKLIST.md |
General checklist |
TEST-CHECKLIST.md |
Testing checklist |
docs/ |
Setup docs for Discord, Slack, Telegram, Signal, WhatsApp, Bluesky, etc. |
Critical STATE.md Highlights (as of 2026-03-22)
What Works
- E2EE encryption/decryption
- Streaming edits (800ms throttle)
- HTML formatting, reactions, voice
- Heartbeat (10-min interval, now fires into DM conversation with full context)
- Subagent thread visibility (full results, not 800-char preview)
- Collapsible
<details>reasoning blocks - memfs ENABLED (memory migration complete)
Active Issues
- PR #599 merge conflicts (3 commits behind upstream)
- Image support unverified (patches exist, never tested end-to-end)
- Restart script jq query broken (can't parse nested lettabot-agent.json)
- MCP server down (token expired since Feb 14)
Critical Config
- Server:
letta-local:0.16.6-patched-v6on port 8283 - Model:
hf:moonshotai/Kimi-K2.5via Synthetic API - Context window: 220,000 tokens
- Max tokens: 40,960
- Agent ID:
agent-e2b683bf-5b3e-4e0c-ac62-2bbb47ea8351 - Message buffer autoclear:
false(CRITICAL —truebreaks tool approvals)
Heartbeat Routing (REWORKED 2026-03-20)
Old: Isolated heartbeat conversation (blind to DM activity)
New: Heartbeat fires into DM conversation (!llNKKokyYOKWJKYqUB:wiuf.net) so I have full context
Letta Server
Location: Docker on .19 host
Image: letta-local:0.16.6-patched-v6
Port: 8283
Source: /home/ani/Projects/letta-source-fresh/ (patches in ani-patches branch)
Key Patches Applied:
exclude_none=Trueon model_dump calls- Image support in tool returns
- ASCII control character sanitization
reasoning_contentstripping for Fireworks compatibility- Context window defaults: 220K
Hindsight (Future Work)
Location: /home/ani/Projects/ani-infrastructure/hindsight-completeme.md
Status: NOT YET DEPLOYED — deployment checklist in that file
Purpose: Long-term memory retention/recall system using Synthetic API as LLM backend
Next Steps:
- Deploy Hindsight container on
.19host - Wire up Letta tools:
hindsight_retain,hindsight_recall,hindsight_reflect - Test: single conversation → retain → recall in fresh session
Handy Commands
# Restart bot
systemctl --user restart ani-bridge.service
# Watch logs
journalctl --user -u ani-bridge.service -f
# Patch tool approvals after restart
curl -s "http://localhost:8283/v1/agents/agent-e2b683bf-5b3e-4e0c-ac62-2bbb47ea8351/tools" | python3 -c "..."
# List conversations
lettabot-message list --chat "matrix:!llNKKokyYOKWJKYqUB:wiuf.net"
# Fresh conversation
!new # in Matrix room
Last updated: 2026-03-23