Releases: TinyAGI/tinyagi
v0.0.20
TinyAGI v0.0.20
Highlights
- Office Control Plane — The Office web UI now includes a full control plane for managing the daemon (restart), channels (start/stop), and device pairing, plus a consolidated Services tab that merges provider management into a single view. (#267, #268)
- CLI Rewrite in TypeScript — Replaced shell script entrypoints with a modular Node.js/TypeScript CLI, improving maintainability and adding proper type annotations throughout. (#260, #263, #264)
- Standardized Auth Credentials — Provider credentials now use a consistent
api_key/oauth_tokenschema, unifying how secrets are stored and passed across the system. (#261)
New Features
- Office control plane with daemon restart, channel management, and device pairing UI (664749f)
- Standardized provider credentials with
api_keyandoauth_tokenfields (5d6d745)
Improvements
- Merged providers into the Services tab and removed the standalone
/logspage in Office UI (788a80d) - CLI entrypoint rewritten from shell scripts to a Node.js entry with modular TypeScript modules (39d0e18, 602f9f9)
- Added type annotations across CLI to fix TS18046 unknown-type errors (8f9f2b9)
- Sandbox mode now passes
IS_SANDBOX=1env var to Claude invocations (bdf703f)
Bug Fixes
- Fixed Docker build and moved Docker instructions to a collapsible README section (363e2cf)
- Fixed Docker container to run as root so Codex can read
auth.json(9ccd691) - Moved persistent data under the tinyagi user home directory in Docker (e78dde3)
Stats
- 38 files changed, 2,879 insertions, 2,581 deletions
- 10 commits
Changelog (since v0.0.19)
- 788a80d refactor(office): merge providers into services tab, remove /logs page (#268)
- 664749f feat(office): add control plane with daemon restart, channel management, and pairing (#267)
- bdf703f fix(core): pass IS_SANDBOX=1 env var to claude invocations
- 9ccd691 fix(docker): run as root so Codex can read auth.json (#266)
- e78dde3 fix(docker): move persistent data under tinyagi user home directory (#265)
- 8f9f2b9 fix(cli): add type annotations to fix TS18046 unknown type errors (#264)
- 602f9f9 refactor(cli): extract tinyagi.mjs into modular TypeScript modules (#263)
- 363e2cf fix(docker): fix Docker build and move Docker to collapsible README section (#262)
- 39d0e18 refactor(cli): replace shell scripts with Node.js entrypoint (#260)
- 5d6d745 feat(auth): standardize provider credentials with api_key and oauth_token (#261)
v0.0.19
TinyAGI v0.0.19
Bug Fixes
- Fixed scheduled messages not being persisted to the
agent_messagestable, ensuring scheduled content is properly stored and retrievable (#259) - Resolved
signalDonegrace period race condition in invoke flow that could cause premature completion (#258) - Fixed proactive messages not being delivered immediately by emitting SSE events so channels pick them up without polling delay (#257)
Changelog (since v0.0.18)
v0.0.18
v0.0.17
TinyAGI v0.0.17
Highlights
- Skills Manager — Added a new skills-manager skill that lets agents search for and install skills from a registry, expanding the system's capabilities on the fly. (#254)
- Telegram Rewrite (grammY) — Migrated the Telegram channel from
node-telegram-bot-apito grammY, removing ~2,400 lines of legacy code and gaining a modern, actively-maintained bot framework with built-in retry, flood control, and cleaner middleware. (#248) - Subprocess Lifecycle Management — Queue workers now properly track and manage subprocess lifecycles, with a manual session kill API for stuck or orphaned agent processes. (#251)
New Features
- Skills-manager skill for searching and installing skills from a registry (83b9374)
- User messages are now enqueued to
agent_messagesimmediately on receipt, improving perceived responsiveness (94df8c7)
Improvements
- Agent routing is now resolved at enqueue time rather than at processing time, preventing stale routing decisions (d7fe0c3)
- Setup and system prompt configuration moved to workspace-level
AGENTS.md, simplifying per-agent docs (fb0a449) binentry added to rootpackage.jsonfor direct CLI invocation (9ca9e0d)
Bug Fixes
- Fixed subprocess lifecycle tracking: workers now manage child processes with proper cleanup and expose a manual kill API for stuck sessions (786b7fa)
- Fixed Telegram watchdog timer bug that prevented polling from restarting after connection drops (51e40c7)
- Fixed agent routing to resolve at enqueue time, avoiding misrouted messages when agent config changes between enqueue and processing (d7fe0c3)
Stats
- 20 files changed, 687 insertions, 2,516 deletions
- 9 commits
Changelog (since v0.0.16)
- 83b9374 feat(skills): add skills-manager skill for searching and installing skills (#254)
- 94df8c7 feat(queue): enqueue user message to agent_messages immediately (#250)
- 786b7fa fix(queue): add subprocess lifecycle management and manual session kill API (#251)
- fb0a449 docs(agents): move setup and system prompt config to workspace-level AGENTS.md (#253)
- 3d20d8f refactor(telegram): migrate from node-telegram-bot-api to grammY (#248)
- d7fe0c3 fix(api): resolve agent routing at enqueue time (#247)
- 51e40c7 fix(telegram): fix watchdog timer bug that prevented polling restart (#246)
- 4cf62d8 chore: update readme
- 9ca9e0d chore: add bin entry to package.json, update README and office screenshot
v0.0.16
TinyAGI v0.0.16
Highlights
- Zero-Config Onboarding — Completely streamlined the first-run experience. Running
tinyaginow auto-creates default settings, bootstraps agent workspace directories, checks dependencies, and launches the daemon — no setup wizard required. Users can add channels later via the web UI ortinyagi channel setup. (8e5a1b9) - Live Office Workspace Redesign — Built an immersive pixel-art office scene with animated agent characters, furniture layouts, and a lounge area. Agents are visualized at desks or in the lounge with real-time activity overlays. The conversation panel now renders Markdown with avatar initials and a chat-view style layout matching the rest of TinyOffice. (55a30ad)
- CLI Adapter Pattern — Extracted provider-specific CLI logic (Claude, Codex, OpenCode) into independent adapter modules implementing a standardized
AgentAdapterinterface. Reducedinvoke.tsfrom ~400 lines to ~190 and made it straightforward to add new CLI backends. (e60adb4) - SSE Event System Redesign — Replaced the
chain_*event nomenclature with clearer semantic events:message:incoming,agent:invoke,agent:progress,agent:response,agent:mention,message:done. Extracted office page into composable hooks (use-office-data,use-office-sse,use-scene-layout) and modular components. (d5e0bb7)
New Features
- Pixel-art office scene with 6 character sprites, 25+ furniture items (desks, PCs, sofas, bookshelves, plants, whiteboards), configurable floor tiles, and wall textures (55a30ad)
- Conversation panel with Markdown rendering, agent avatar initials, and PromptInput with ArrowUp/Square button layout (55a30ad)
- Archive panel for viewing past office conversations (55a30ad)
- Overlay speech bubbles showing real-time agent activity in the office scene (55a30ad)
tinyagi channel setupcommand for interactive channel token configuration, replacing the removed setup wizard (8e5a1b9)- Auto-dependency checking on startup: verifies
tmux,jqavailability and soft-warns if neitherclaudenorcodexCLI is installed (8e5a1b9) - Office web UI automatically opens on
tinyagi,tinyagi start, andtinyagi restart(8e5a1b9) - Agent workspace bootstrapping: auto-creates
.claude/,heartbeat.md, andSOUL.mdtemplates in agent directories on first run (8e5a1b9)
Improvements
- Default agent renamed from
defaulttotinyagiacross all routing, config, and fallback logic (8e5a1b9) - Channels are now optional — daemon starts successfully without any channels configured (8e5a1b9)
- SSE events documentation (
SSE-EVENTS.md) rewritten with new event design, actual emission points, and visualization requirements (d5e0bb7) - Office page decomposed into composable hooks:
use-office-data(server state sync),use-office-sse(SSE event handling),use-scene-layout(scene management) (d5e0bb7) - Agent team information now includes team ID, grouped teammates by team, and team leader designation (69f4bcb)
AGENTS.mdrestructured with separate sections for Direct Messages and Team Chat Room, with clearer guidelines on when agents should post vs. stay silent (69f4bcb)- CLI prefers local repo
tinyagi.shover installed copy when running from source (dev workflow) (8e5a1b9) - Removed excessive console logging throughout the codebase (e816856)
Bug Fixes
- Chat room messages now display in correct chronological order (oldest-to-newest, top-to-bottom) instead of reversed (69f4bcb)
Breaking Changes
- Setup wizard (
setup-wizard.ts) and/setupweb page have been removed. Usetinyagi channel setupfor channel configuration instead (8e5a1b9) - SSE event names changed from
chain_*prefix tomessage:*andagent:*prefix. Clients consuming SSE events must update their event listeners (d5e0bb7) - Default agent ID changed from
defaulttotinyagi. Existing configurations referencingdefaultmay need to be updated (8e5a1b9)
Architecture
- New adapter modules at
packages/core/src/adapters/:claude.ts,codex.ts,opencode.ts,types.ts,index.ts— each implementsAgentAdapterinterface withbuildArgs(),parseOutput(), and provider metadata (e60adb4) - Provider registry pattern with automatic adapter registration and lookup by provider name (e60adb4)
- Office components extracted to
tinyoffice/src/components/office/:pixel-office-scene.tsx,pixel-office-char.tsx,conversation-panel.tsx,archive-panel.tsx,overlay-bubbles.tsx,types.ts(d5e0bb7, 55a30ad) - Scene layout engine (
use-scene-layout.ts, 443 lines) handles room zones, desk placement, furniture positioning, and agent distribution (55a30ad)
Stats
- 129 files changed, 3,569 insertions, 1,920 deletions
- 6 commits from 4 contributors
Changelog (since v0.0.15)
- 8e5a1b9 refactor(cli): streamline onboarding to single 'tinyagi' command (#244)
- d5e0bb7 refactor(office): redesign SSE events and extract page components (#245)
- 55a30ad feat(office): redesign the live office workspace (#212)
- e60adb4 refactor(core): extract CLI logic into adapter pattern (#242)
- e816856 chore: remove excessive logs
- 69f4bcb fix(chatroom): reverse message order for correct chronological display (#241)
v0.0.15
TinyAGI v0.0.15
Installation
curl -fsSL https://raw.githubusercontent.com/TinyAGI/tinyagi/main/scripts/install.sh | bashWhat's Changed
New Features
- One-line curl install —
curl -fsSL .../install.sh | bashis now the default install method - Auto-migration from tinyclaw — seamlessly migrates
~/.tinyclaw→~/.tinyagion install and startup
Refactoring
- Merged
packages/tinyagiintopackages/cli— simplified package structure, one fewer indirection layer - Moved
tinyagi.shtolib/tinyagi.sh— runtime script now lives with other lib scripts - Renamed
docs/images/tinyclaw.png→tinyagi.png
Bug Fixes
- Fixed duplicate
chmod +x/ symlink entries missingtinyclawbackward compatibility - Fixed
TMPDIRenv var shadowing in install script - Removed references to nonexistent
uninstall.shandremote-install.shin release workflow - Fixed uninstall instructions (was
npm uninstall -g, now correctrmcommand) - Added
npm rebuild better-sqlite3after install to fix native module errors on macOS - Removed redundant
scripts/migrate.sh(migration handled byinstall.sh)
Full Changelog: v0.0.14...v0.0.15
v0.0.14
TinyClaw v0.0.14
Highlights
- Schedule Management System — Migrated from system crontab to croner-based in-process scheduling. New REST API, CLI commands, and a fullscreen calendar UI in TinyOffice for managing both recurring (cron) and one-time (runAt) agent schedules. Schedules persist to
~/.tinyclaw/schedules.json. (99392f8) - Agent System Prompt at Creation — Agents can now be initialized with a custom system prompt via CLI or API. The prompt is written to
AGENTS.mdin the agent workspace and serves as the single source of truth, eliminating stale values in settings.json. (24988a7) - UI Component Refactor — Major restructuring of TinyOffice agent and task pages into modular components: SystemPromptTab, HeartbeatTab, MemoryTab, SkillsTab, ScheduleTab, and a full task component library (task-card, task-form, create/edit-task-modal). Added shared ChatContainer, PromptInput, and Markdown rendering primitives. (8c8059a)
- Heartbeat Override Persistence — Per-agent heartbeat enabled/interval settings now correctly persist to
settings.agents[id].heartbeatoverrides, fixing a bug where the cron script could not read per-agent configuration. (bdc602a)
New Features
- Schedule management: REST API endpoints for CRUD operations on schedules (99392f8)
- Schedule management: CLI command
tinyclaw schedule list|create|delete(99392f8) - Schedule management: Fullscreen calendar UI with day-cell click popovers in agent detail page (99392f8)
- Agent creation: optional
system_promptparameter in both CLI and API (24988a7) - TINYAGI ASCII banner displayed in CLI help, daemon start/status, and interactive commands (e461107)
- Consistent per-agent avatar colors using stable hash across sidebar, agent detail header, and chat view (8c8059a)
- New UI components: DatePicker, TimePicker, Switch, DropdownMenu, Popover, Tooltip, Separator, Label, CodeBlock, FullscreenCalendar (8c8059a)
Improvements
- Sidebar and metadata rebranded to TinyOffice with custom logo icon (bd97ff8)
- SaveButton moved from top bar into individual tabs (system-prompt, heartbeat) for clearer UX (8c8059a)
- Memory tab simplified: removed conversation history section and manage-memory skill reference (8c8059a)
- Applied
@tailwindcss/typographyplugin for prose markdown styling (8c8059a) - Schedule skill updated to use REST API instead of direct crontab manipulation (99392f8)
AGENTS.mdis now the single source of truth for system prompts (24988a7)
Bug Fixes
- Heartbeat API GET endpoint now returns enabled/interval from agent settings (bdc602a)
- Heartbeat API PUT endpoint persists per-agent overrides correctly (bdc602a)
- Fixed stale closure: added
heartbeatEnabledtohandleSaveHeartbeatdependency array (8c8059a) - Removed dead
lastIdRefplain object in chatroom-view that was recreated every render (8c8059a) - Wrapped
cronNextOccurrencescalendar data computation inuseMemoto avoid expensive recalculation on every render (8c8059a) - Replaced custom toggle with shadcn Switch in heartbeat tab to fix hover style issues (8c8059a)
Changelog (since v0.0.13)
- bdc602a fix(heartbeat): persist per-agent enabled and interval settings to heartbeat overrides (#230)
- 8c8059a refactor(ui): refactor agent and task components into modules (#229)
- 99392f8 feat(schedule): internalize schedule management with API and calendar UI (#225)
- 24988a7 feat(agents): add system prompt option when creating agents (#215)
- e461107 feat(cli): add TINYAGI ASCII banner to CLI and shell scripts (#216)
- bd97ff8 chore: rebrand sidebar and metadata to TinyOffice
v0.0.13
TinyClaw v0.0.13
Highlights
- Agent configuration UI with skills, system prompt, memory, and heartbeat tabs. (74c3e91)
- Agent provisioning refactor that consolidates workspace creation and uses symlinks for skills. (44ad272)
- Hierarchical memory system for agents. (aaca334)
- AGENTS.md is now passed as an in-memory system prompt to CLIs. (b66d6d8)
Improvements
- README updated with office.tinyagicompany.com as the primary TinyOffice access URL. (95ea27b)
- Release workflow hardened to extract annotated tag notes reliably. (2e796fd, edf9fa7, 2752e94)
Changelog (since v0.0.12)
- 74c3e91 feat(agents): add agent configuration page with skills, prompts, and heartbeat (#207)
- 44ad272 refactor: consolidate agent directory provisioning and use symlinks for skills (#211)
- aaca334 Add hierarchical memory system for agents (#209)
- b66d6d8 feat(core): pass AGENTS.md as in-memory system prompt to CLIs (#208)
- 95ea27b docs: update README with office.tinyagicompany.com as primary TinyOffice access
- 2e796fd chore(ci): clean up release notes debug output
- edf9fa7 fix(ci): debug and re-fetch tag object for release notes extraction
- 2752e94 fix(ci): use git cat-file for reliable tag message extraction
v0.0.12
TinyClaw v0.0.12
Features
-
Agent Message Persistence & Event Stream (#202) — Added
agent_messagesSQLite table for persisting all agent chat history. New simplifiedagent_messageSSE event fires once per agent response, replacing the need to listen to the full chain_step lifecycle. Added REST API endpoints:GET /api/agent-messagesandGET /api/agents/:id/messages. Includes agent chat view with optimistic send and timestamp reconciliation. -
Interactive Setup Wizard (#204) — Migrated the CLI setup flow to a step-by-step web-based wizard in TinyOffice at
/setup. Walks through channels, provider/model, workspace, and agents configuration, then writessettings.jsonand creates directories viaPOST /api/setup. -
Organization Chart Visualization (#201) — New Org Chart tab in
/officethat visualizes teams and agents in a hierarchical layout using ReactFlow. Teams render as parent nodes with member agents below, leaders highlighted with a crown icon and animated edges. Clicking nodes navigates to chat views. -
Chat Rooms & Projects (#199) — Replaced sidebar Teams section with Slack-style Chat Rooms displaying agent message history. Added Projects as a higher-level abstraction over Tasks — each project has a filtered kanban board. Tasks now support an optional
projectIdfield for linking.
Bug Fixes
-
CLI ESM Conversion (#206) — Converted the CLI package from CommonJS to ESM to resolve
ERR_REQUIRE_ESMerrors with@clack/promptsv1.x. Updated tsconfig to Node16 module resolution withrewriteRelativeImportExtensions. -
Telegram Polling Stability (#200) — Added 30s client-side request timeout to detect and recover from stale long-poll connections after laptop sleep/wake or network changes. Improved watchdog to force-restart polling after 10 minutes of silence. Fixed issue where bot would stop receiving messages after network disconnection.
-
TinyOffice Build Fix — Fixed
asChildprop build error in settings page. Auto-detect whennpm installandnpm run buildare needed aftertinyclaw update. -
Release Notes Extraction — Fixed CI workflow to reliably extract annotated tag messages using
git cat-file. -
TinyOffice Styling — Minor CSS and layout fixes across the TinyOffice UI.
v0.0.11
fix: breaking imports from old setup-wizard shell scripts
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com