Skip to content

OpenBot 0.1.1

Choose a tag to compare

@regnull regnull released this 26 Sep 23:24
0a14c34

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 setup provision 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

Full Changelog: https://github.com/regnull/openbot/commits/v0.1.1