v0.2.69
Downloads
Desktop App
| Platform | Download | Size |
|---|---|---|
| Windows (x64) | CachiBot-Setup-0.2.69-win.exe |
153.9 MB |
| macOS (Apple Silicon) | CachiBot-0.2.69-mac.dmg |
214.0 MB |
| Linux (x64 AppImage) | CachiBot-0.2.69-linux.AppImage |
206.6 MB |
| Linux (x64 .deb) | CachiBot-0.2.69-linux.deb |
172.3 MB |
| Linux (x64 .rpm) | CachiBot-0.2.69-linux.rpm |
173.4 MB |
Mobile App
| Platform | Download | Size |
|---|---|---|
| Android (APK) | CachiBot-0.2.69.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.69Changes
The bots were getting pretty capable at generating files — seemed rude not to give them somewhere to put them. This PR adds a full task board and asset system to rooms, introduces a dedicated utility model slot for cheap background tasks, and polishes the bot creation wizard and desktop experience.
Highlights
- Rooms now have a Kanban-style task board with drag-friendly columns (To Do, In Progress, Blocked, Done) and priority/label support
- Files generated by bots are automatically captured as assets and attached to the conversation
- Upload, download, and manage file assets in both rooms and chats via a new drag-and-drop Assets panel
- Bots can now have a dedicated utility model for background work like name generation and JSON extraction
- Desktop app supports "Start on Boot" from the system tray
- Bot creation wizard warns before you accidentally close it mid-flow
Technical changes
Room Tasks (full stack)
- New
RoomTaskSQLAlchemy model and Alembic migration (010_room_tasks_and_assets.py) with status, priority, labels, position, and assignee fields RoomTaskRepositorywith CRUD, status filtering, and position-based reorderingroom_tasks.pyAPI router withGET/POST/PATCH/DELETEendpoints plus/reorderfor drag-and-dropRoomTasksView.tsxKanban board component with inline task creation, status transitions, and priority badges- New
room-tasks.tsAPI client and Zustand store slice inrooms.ts
Asset Management (full stack)
- New
AssetSQLAlchemy model and Pydantic schemas (AssetResponse,AssetOwnerType) AssetRepositoryfor CRUD keyed byowner_type/owner_id(room or chat)- Dual API routers (
room_asset_router,chat_asset_router) with upload, download, metadata, and delete endpoints AssetsView.tsxreusable component with drag-and-drop upload zone, file type icons, and download/delete actionschat-assets.tsZustand store for per-chat asset state- Auto-capture in
CachibotAgent:file_writeresults for media/binary types are automatically persisted as chat assets
Utility Model Slot
- New
ModelResolverservice (model_resolver.py) centralizing the fallback chain: per-bot slot > per-bot DB override > global config > main model resolve_utility_model()andresolve_main_model()replace duplicated helpers inname_generator.pyandbot_creation_service.py- API endpoints
GET/PUT /models/utility/defaultfor persisting the global utility model - Frontend: utility model selector in both App Settings and the bot creation wizard's Appearance step
useModelsStoreextended withdefaultUtilityModelandupdateDefaultUtilityModel
Name Generator Refactor
- Replaced raw
httpxchat completion calls and manual JSON extraction with Prompture'sextract_with_model()structured extraction - Removed
_chat_completion(),_extract_json(), and_resolve_utility_model()in favor ofModelResolverand Pydantic result models (NamesResult,SimpleNamesResult)
Provider Extra Keys
EXTRA_KEY_METAregistry inproviders.pywith type/label/group metadata for Azure sub-keys (endpoints, deployment IDs, per-service API keys)list_providersnow returnsextra_keysarray with masked values for each provider- New
updateKey/removeKeyactions inuseProvidersStorefor managing individual extra keys ApiKeysSettingsUI supports inline editing, replace mode, and visibility toggling for extra keys per provider- Collapsible Azure configuration section in the onboarding wizard's
ProviderStep
Desktop Improvements
- "Start on Boot" toggle:
setStartOnBoot/getStartOnBoothelpers using Electron'sapp.setLoginItemSettings, persisted in settings JSON, synced on launch - Tray context menu rebuilt as a function (
rebuildTrayMenu) with new "Show Logs" and "Start on Boot" items; removed "Clear Cache & Restart" - IPC handlers
startup:getandstartup:setexposed via preload - CSP updated to allow
media-src 'self' data: blob:for asset playback
Bot Creation Wizard
- Removed
TemplateSelectStepand thetemplatecreation method entirely - Added confirm-close overlay when user has progressed past the first step (Escape toggles it)
Dialognow acceptscloseOnBackdropandcloseOnEscapeprops for conditional dismissal- Appearance step pre-fills model from system default and adds utility model selector
- Details step: loading messages, suggestion chips parsed from placeholders, and model-not-configured warning
Legacy DB Handling
reset_legacy_databaseandkeep_legacy_databasenow allow unauthenticated access whenlegacy_db_detectedis true (users can't log in against the V1 schema)db.pygains retry logic for database file rename operations
Misc
- Hardcoded
DEFAULT_MODELinmodels.pychanged frommoonshot/kimi-k2.5to empty string — users must set a model explicitly dev.ps1expanded with database reset helper- Updated Discord invite links across all README translations
- Removed placeholder "Code Display" and "Chat Message Style" settings that had no backing logic
- New
app-settings.lessandassets-view.lessstylesheets; theme variable cleanup across multiple.lessfiles