OpenBot 0.1.1
These builds are unsigned. On macOS, right-click OpenBot.app and choose Open the first time, or run xattr -dr com.apple.quarantine /Applications/OpenBot.app. On Linux, chmod +x the AppImage. The app needs uv installed to run its bundled backend.
What's Changed
- Add per-thread default bot routing by @regnull in #3
- Add sticky thread auto-scroll by @regnull in #4
- Handle legacy memory values during reflection by @regnull in #5
- Add thread working directory selection by @regnull in #6
- Add bot icons and sidebar activity by @regnull in #7
- Add configurable bot model by @regnull in #8
- Add browse button for thread working directory selection by @regnull in #9
- Keep delegation in the same thread; add make reset_db by @regnull in #10
- Add detailed diagnostic log file by @regnull in #11
- feat: default bot model to auto, selectable per bot by @regnull in #12
- Add Ollama provider and recent threads in the sidebar by @regnull in #13
- Cut per-run token cost: caching, output caps, context editing, limits, usage by @regnull in #14
- feat(runtime): auto-generate thread title when empty by @regnull in #15
- Show running LLM call and token totals in the thread header by @regnull in #16
- Close architecture gaps G1 to G6: memory scoping, trigger marking, scheduling and checkpoint cleanup by @regnull in #17
- Cut exploration token waste: read_file outline, earlier context editing, make sync_bots by @regnull in #18
- Context management: two-tier compaction, tighter shell cap, reasoning/provider knobs, search_code by @regnull in #20
- fix(frontend): fall back to default home view when the backend is unavailable by @regnull in #19
- fix(tools): warn-and-drop unknown tools instead of failing the run by @regnull in #21
- Derive the graph recursion limit from the agent's node count by @regnull in #22
- Bot inboxes and memory in the web app, with direct posts by @regnull in #23
- End open event streams on the first shutdown signal by @regnull in #24
- Serve index.html for frontend routes on refresh by @regnull in #25
- feat(threads): date-time fallback title for untitled threads by @regnull in #26
- Keep OpenRouter fallbacks on and bound the memory reflection loop by @regnull in #27
- Runtime-editable settings in the UI; model call default 40 → 60 by @regnull in #28
- feat: image paste in composer with backend persistence and prompt annotation by @regnull in #29
- Add 'New Thread' button to the sidebar navigation by @regnull in #30
- Delegates see only their own slice of a thread by @regnull in #31
- Avatar: show bot icon glyph when icon prop is provided by @regnull in #32
- RunCard: render 'text' events so bot narrative output survives post-run by @regnull in #33
- Fix bot display names showing 'bot' for active runs of non-participant bots by @regnull in #34
- Update bot system prompts with PR/comment conventions and CI gates by @regnull in #35
- MCP servers as a tool source, with OAuth for remote servers by @regnull in #37
- fix: restrict MENTION_RE to line-start/after-space for deliberate bot routing by @regnull in #36
- Harden MCP after review of #37: callback XSS, boot stall, session lifecycle, credential binding by @regnull in #38
- Add remote MCP servers from the Settings UI by @regnull in #39
- MCP configuration in the database; tools grouped by server in the bot editor by @regnull in #40
- Harden MCP configuration after review of #40 by @regnull in #41
- Minimal .env, settings in the database, first-run setup wizard by @regnull in #42
- Apply stored settings before opening the memory store (STO-2323) by @regnull in #43
- Stop the summarize-every-call loop; count re-emitted replies once by @regnull in #44
- Clear tool results by turn, never what the last two turns fetched by @regnull in #45
- test: fix ruff RUF017 in the clearing tests by @regnull in #46
- STO-2331: gate demo bot seeding behind _setup_completed marker and serialise with a lock by @regnull in #47
- Raise the context defaults to fit a coding bot's reading turns by @regnull in #48
- OpenRouter as an embeddings provider for memory search by @regnull in #49
- feat: waiting-to-pick-up indicator for bots with queued thread mail by @regnull in #50
- fix(STO-2325): reopening the memory store no longer closes the checkpointer under in-flight runs by @regnull in #51
- feat: configurable retries for transient upstream model-provider errors by @regnull in #52
- Fix: restore thread history on window re-entry by @regnull in #53
- fix: a bot's reply hands off to one bot, and stale triggers are flagged by @regnull in #55
- fix: complete automatic thread renaming by @regnull in #56
- docs: add unused code audit report by @regnull in #57
- Open new thread after first-time setup by @regnull in #58
- feat: enable provider web search tools by @regnull in #59
- fix: pass provider web search to the agent as a built-in tool by @regnull in #61
- test: cover provider web search end to end by @regnull in #60
- feat: render thread messages as sanitized markdown by @regnull in #62
- docs: drop MCP servers from the roadmap, list them under Features by @regnull in #63
- feat: add bot creation tool for Chief of Staff by @regnull in #64
- style: apply workbench visual system to thread messages by @regnull in #65
- feat: automatically rename new threads once purpose is clear by @regnull in #54
- refactor: consolidate thread header actions by @regnull in #66
- fix(frontend): integrate thread scrollbar styling by @regnull in #67
- Fix quoted tool argument readability by @regnull in #68
- Fix thread quote contrast in light and dark themes by @regnull in #69
- fix(frontend): make dark-theme inline code readable by @regnull in #70
- Add Chief of Staff bot profile tools by @regnull in #71
- fix(frontend): apply dark-theme markdown styles via prefers-color-scheme by @regnull in #72
- fix: support home-relative thread directories by @regnull in #73
- feat: server-backed directory picker for thread working directory by @regnull in #74
- Allow thread working directories outside startup workspace by @regnull in #75
- feat: add atomic patch_file tool by @regnull in #76
- Identify OpenRouter embedding requests as OpenBot by @regnull in #77
- Add lightweight confirmations for configuration saves by @regnull in #78
- feat: clickable icon grid for bot settings by @regnull in #79
- feat: Telegram channel adapter with webhook, delivery, and bot commands by @regnull in #81
- feat: inline thinking placeholder replaces top-of-view bot status by @regnull in #84
- feat: bump nav bar and thread view icon sizes by 25% by @regnull in #83
- docs: add platform screenshot to README by @regnull in #86
- feat: add pulsating activity dot to sidebar thread items by @regnull in #87
- feat: thread UX and nav bar improvements by @regnull in #88
- feat: integrate OpenBot branding assets (favicon, logo, lockups) by @regnull in #89
- fix: fall back to default bot when bot mentions unresolvable handle by @regnull in #91
- feat: enhance patch_file tool to accept unified diff input by @regnull in #85
- feat: Make Telegram bot token configurable via settings page by @regnull in #90
- feat: revamp the UI with a minimal terminal look and theme toggle by @regnull in #93
- fix: extract shared TELEGRAM_TOKEN_RE, sync icon allowlist, add Telegram to README by @regnull in #92
- feat: Bot Busy/Waiting Indicator — Quiet Presence by @regnull in #94
- feat: activity log for stalled threads + Cancel & purge on the bot page by @regnull in #95
- feat: custom fading rectangle caret for all text inputs by @regnull in #96
- feat: pulsating block cursor with keystroke pause by @regnull in #97
- fix: hold a bot's hand-off while it still has mail waiting in the thread by @regnull in #98
- fix: flaky CORE_TOOLS tests + unify input caret with bot-output streaming cursor by @regnull in #99
- feat: enlarge sidebar logo by 50% for better visibility by @regnull in #100
- fix: input-caret vertical alignment and stuck position after Enter by @regnull in #101
- feat: auto-focus composer on new threads and enlarge OpenBot logo by @regnull in #102
- fix: center the caret overlay in single-line input boxes by @regnull in #103
- feat(telegram): replace webhook transport with long-polling by @regnull in #104
- refactor: remove ed-format support from patch_file tool by @regnull in #105
- feat: scale bot icons ~30% larger in navbar and thread view by @regnull in #106
- Remove start_thread tool by @regnull in #107
- fix: increase navbar row height to prevent text clipping by @regnull in #108
- fix: prevent navbar label clipping and space bot icons by @regnull in #109
- fix: preserve descenders in navbar labels by @regnull in #110
- fix: remove enclosing squares from navbar bot icons by @regnull in #111
- Fix stale thread activity indicators by @regnull in #112
- fix: make favicon visibly larger by @regnull in #113
- feat: add standalone Electron desktop app by @regnull in #114
- feat: add make app command by @regnull in #115
- fix: align custom caret after textarea wrapping by @regnull in #116
- fix: make app connect Electron to the Vite dev server by @regnull in #117
- fix: stop idle bots showing busy by @regnull in #118
- feat: add durable scheduled messages by @regnull in #119
- fix: make cron a real actor so scheduled messages can wake their bot by @regnull in #120
- test: add end-to-end scenarios for the actor/bot/thread system by @regnull in #121
- test: add three more concurrent-thread e2e scenarios by @regnull in #122
- feat: add all-in-one Electron launcher by @regnull in #123
- feat: use OpenBot icon for Electron app by @regnull in #124
- fix: bind Electron dev launcher to localhost, not 127.0.0.1 by @regnull in #125
- Replace human participant initials with user icon by @regnull in #126
- fix: terminate the Electron dev backend/frontend when the app quits by @regnull in #127
- fix: clear stale thread activity indicators by @regnull in #128
- fix: refresh stale bot activity indicators by @regnull in #129
- fix: fail a run instead of hanging forever when ask_human has nobody to ask by @regnull in #130
- feat: add platform-wide handoff, cron, and signature rules to the shared prompt by @regnull in #131
- Fix current-user avatar rendering by @regnull in #132
- fix: unify human/system avatars with the shared bot icon set by @regnull in #133
- feat: package Electron desktop app for macOS by @regnull in #134
- chore: tidy backend runtime/api/db/mcp modules by @regnull in #135
- fix: point the Electron dev Vite proxy at the actual backend port by @regnull in #136
- feat: inject thread lead context into bot prompts by @regnull in #137
- fix: human messages with an unresolvable-looking mention reach nobody by @regnull in #138
- docs: audit and enforce client architecture boundaries by @regnull in #139
- fix(frontend): preserve active tool output across thread navigation by @regnull in #140
- fix: make Electron launcher independent of cwd by @regnull in #141
- feat: add new thread split action by @regnull in #142
- docs: add CONTRIBUTING.md by @regnull in #144
- fix: store default SQLite database under .openbot by @regnull in #143
- feat: add CLI control for LLM call details by @regnull in #150
- fix: disable Electron file watchers by @regnull in #151
- feat: support configurable Electron backend root by @regnull in #153
- feat: add openbot command launcher by @regnull in #154
- fix: make openbot repository location configurable by @regnull in #155
- fix: launch Electron from openbot command by @regnull in #156
- fix: preserve Electron root directory arguments by @regnull in #157
- fix: prefer local database directory in openbot launcher by @regnull in #158
- fix: disable detailed LLM capture in launchers by @regnull in #159
- docs: link CONTRIBUTING.md and open roadmap issues from README by @Flobo2689x in #160
- feat: make the inbox easier to scan and act on by @Flobo2689x in #161
- fix: serve the packaged Electron app from app://openbot by @Flobo2689x in #162
- fix: make
make setupprovision the Electron binary under pnpm 10+ by @regnull in #167 - fix: start the packaged backend with bash and surface why it failed by @regnull in #168
- docs: describe the packaged app's app:// origin instead of the removed CORS requirement by @regnull in #166
- feat: show a status page while the Electron backend starts or the app is unreachable by @Flobo2689x in #163
- fix: describe how untitled threads are actually named by @Flobo2689x in #164
- fix: show Ctrl instead of ⌘ in shortcut hints outside Apple platforms by @Flobo2689x in #165
- feat: add host-platform Electron release target by @regnull in #169
- feat: add major.minor.build versioning and make github-release by @regnull in #170
New Contributors
- @regnull made their first contribution in #3
- @Flobo2689x made their first contribution in #160
Full Changelog: https://github.com/regnull/openbot/commits/v0.1.1