v0.2.68
Downloads
Desktop App
| Platform | Download | Size |
|---|---|---|
| Windows (x64) | CachiBot-Setup-0.2.68-win.exe |
153.9 MB |
| macOS (Apple Silicon) | CachiBot-0.2.68-mac.dmg |
213.9 MB |
| Linux (x64 AppImage) | CachiBot-0.2.68-linux.AppImage |
206.5 MB |
| Linux (x64 .deb) | CachiBot-0.2.68-linux.deb |
172.3 MB |
| Linux (x64 .rpm) | CachiBot-0.2.68-linux.rpm |
173.3 MB |
Mobile App
| Platform | Download | Size |
|---|---|---|
| Android (APK) | CachiBot-0.2.68.apk |
79.8 MB |
Downloads become available once the build pipeline completes (~10 min after release).
macOS users: This build is not yet notarized by Apple. After installing, open Terminal and run:
xattr -cr /Applications/CachiBot.appThen open the app normally. This only needs to be done once.
Python Package (pip)
pip install cachibot==0.2.68Changes
The agent was being assembled from scratch in three different places, each with its own flavor of the same environment-resolution-context-building-tool-merging dance. This PR puts that ceremony in one room (AgentFactory), then uses the freed-up headroom to ship coding agent streaming on platforms and a big chunk of the mobile app.
Highlights
- Coding agents (Claude Code, Codex CLI, Gemini CLI) can now be triggered from Telegram and Discord via @mentions with real-time output streamed back through live message editing
- Mobile app gains full knowledge management — notes, search, and a rich editor
- Work tracking and todos are now available on mobile with create, edit, and status workflows
- Push notifications via ntfy deliver messages, approval requests, and reminders when the app is backgrounded
- Android share intent lets you send text, PDFs, and documents directly into CachiBot
Technical changes
- New
AgentFactoryservice (cachibot/services/agent_factory.py) centralizes the full agent construction pipeline: disabled-capability loading, model override, per-bot environment resolution, tool-config merging, context building, coding-agent instruction injection, and dynamic instruction loading websocket.pydrops ~130 lines of duplicated agent setup —_resolve_bot_env,_inject_coding_agent_instructions, inline context building, manualcopy.deepcopyconfig — and delegates tobuild_bot_agent()message_processor.pydrops ~80 lines of the same duplicated logic, including its own separate environment resolution path that handled endpoint-vs-key driver construction differently from the websocket path- New
CodingAgentDispatcher(cachibot/services/coding_agent_dispatcher.py) intercepts@claude/@codex/@geminimentions on platform messages, spawns the CLI as a subprocess in the workspace, streams stdout via periodic live message edits, saves conversation history, and broadcasts to WebSocket clients PlatformManager._handle_messageintegrates the dispatcher with/canceland/stopsupport for killing active sessionsBasePlatformAdaptergainssend_and_get_id()andedit_message()abstract methods for live-streaming message updatesDiscordAdapterandTelegramAdapterimplementsend_and_get_idandedit_messagewith platform-specific ID handling and message length enforcement- New
NtfyService(cachibot/services/ntfy.py) provides push notifications via self-hosted ntfy with convenience methods for messages, approval requests, work updates, and reminders CachibotAgentgains aplatform_metadatafield;_get_system_promptrefactored to always append tool list, background jobs section, platform context, and usage guidelines even whensystem_prompt_overrideis set- Mobile: new data models (
Knowledge,Work) with full serialization, provider layer (knowledge_provider,work_provider,todos_provider,tasks_provider), and API services (knowledge_service,work_service) - Mobile:
KnowledgeListScreen,KnowledgeSearchScreen,NoteEditorScreenfor browsing, searching, and editing notes - Mobile:
WorkListScreen,WorkDetailScreen,TodosScreenfor work tracking and todo management - Mobile:
BotDetailScreenwith tabbed navigation across chats, knowledge, and work per bot - Mobile:
SettingsScreenwith server URL configuration - Mobile: notification stack —
NtfyService(SSE subscription),NotificationService(local notifications via flutter_local_notifications),BackgroundService(lifecycle-aware polling) - Mobile:
AndroidManifest.xmladds share intent filters fortext/*,application/pdf,text/markdown, and DOCX mime types