Skip to content

Releases: TinyAGI/tinyagi

v0.0.20

26 Mar 17:23

Choose a tag to compare

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_token schema, 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_key and oauth_token fields (5d6d745)

Improvements

  • Merged providers into the Services tab and removed the standalone /logs page 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=1 env 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

24 Mar 19:37

Choose a tag to compare

TinyAGI v0.0.19

Bug Fixes

  • Fixed scheduled messages not being persisted to the agent_messages table, ensuring scheduled content is properly stored and retrievable (#259)
  • Resolved signalDone grace 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)

  • 05c722b fix(schedules): persist scheduled messages to agent_messages table (#259)
  • afd2730 fix(invoke): resolve signalDone grace period race condition (#258)
  • fb29830 fix(channels): emit SSE event for proactive messages so channels deliver immediately (#257)

v0.0.18

24 Mar 13:12

Choose a tag to compare

TinyAGI v0.0.18

Bug Fixes

  • Fixed duplicate response stream in handleTeamResponse that caused redundant output when processing team messages (8dd7f42)

Changelog (since v0.0.17)

  • 8dd7f42 fix(teams): remove duplicate response stream from handleTeamResponse

v0.0.17

24 Mar 03:59
39eee74

Choose a tag to compare

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-api to 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_messages immediately 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)
  • bin entry added to root package.json for 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

20 Mar 19:59

Choose a tag to compare

TinyAGI v0.0.16

Highlights

  • Zero-Config Onboarding — Completely streamlined the first-run experience. Running tinyagi now 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 or tinyagi 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 AgentAdapter interface. Reduced invoke.ts from ~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 setup command for interactive channel token configuration, replacing the removed setup wizard (8e5a1b9)
  • Auto-dependency checking on startup: verifies tmux, jq availability and soft-warns if neither claude nor codex CLI is installed (8e5a1b9)
  • Office web UI automatically opens on tinyagi, tinyagi start, and tinyagi restart (8e5a1b9)
  • Agent workspace bootstrapping: auto-creates .claude/, heartbeat.md, and SOUL.md templates in agent directories on first run (8e5a1b9)

Improvements

  • Default agent renamed from default to tinyagi across 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.md restructured 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.sh over 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 /setup web page have been removed. Use tinyagi channel setup for channel configuration instead (8e5a1b9)
  • SSE event names changed from chain_* prefix to message:* and agent:* prefix. Clients consuming SSE events must update their event listeners (d5e0bb7)
  • Default agent ID changed from default to tinyagi. Existing configurations referencing default may 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 implements AgentAdapter interface with buildArgs(), 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

18 Mar 17:58
e815113

Choose a tag to compare

TinyAGI v0.0.15

Installation

curl -fsSL https://raw.githubusercontent.com/TinyAGI/tinyagi/main/scripts/install.sh | bash

What's Changed

New Features

  • One-line curl installcurl -fsSL .../install.sh | bash is now the default install method
  • Auto-migration from tinyclaw — seamlessly migrates ~/.tinyclaw~/.tinyagi on install and startup

Refactoring

  • Merged packages/tinyagi into packages/cli — simplified package structure, one fewer indirection layer
  • Moved tinyagi.sh to lib/tinyagi.sh — runtime script now lives with other lib scripts
  • Renamed docs/images/tinyclaw.pngtinyagi.png

Bug Fixes

  • Fixed duplicate chmod +x / symlink entries missing tinyclaw backward compatibility
  • Fixed TMPDIR env var shadowing in install script
  • Removed references to nonexistent uninstall.sh and remote-install.sh in release workflow
  • Fixed uninstall instructions (was npm uninstall -g, now correct rm command)
  • Added npm rebuild better-sqlite3 after install to fix native module errors on macOS
  • Removed redundant scripts/migrate.sh (migration handled by install.sh)

Full Changelog: v0.0.14...v0.0.15

v0.0.14

16 Mar 22:02

Choose a tag to compare

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.md in 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].heartbeat overrides, 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_prompt parameter 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/typography plugin for prose markdown styling (8c8059a)
  • Schedule skill updated to use REST API instead of direct crontab manipulation (99392f8)
  • AGENTS.md is 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 heartbeatEnabled to handleSaveHeartbeat dependency array (8c8059a)
  • Removed dead lastIdRef plain object in chatroom-view that was recreated every render (8c8059a)
  • Wrapped cronNextOccurrences calendar data computation in useMemo to 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

13 Mar 23:03

Choose a tag to compare

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

12 Mar 23:30

Choose a tag to compare

TinyClaw v0.0.12

Features

  • Agent Message Persistence & Event Stream (#202) — Added agent_messages SQLite table for persisting all agent chat history. New simplified agent_message SSE event fires once per agent response, replacing the need to listen to the full chain_step lifecycle. Added REST API endpoints: GET /api/agent-messages and GET /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 writes settings.json and creates directories via POST /api/setup.

  • Organization Chart Visualization (#201) — New Org Chart tab in /office that 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 projectId field for linking.

Bug Fixes

  • CLI ESM Conversion (#206) — Converted the CLI package from CommonJS to ESM to resolve ERR_REQUIRE_ESM errors with @clack/prompts v1.x. Updated tsconfig to Node16 module resolution with rewriteRelativeImportExtensions.

  • 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 asChild prop build error in settings page. Auto-detect when npm install and npm run build are needed after tinyclaw 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

12 Mar 13:21

Choose a tag to compare

fix: breaking imports from old setup-wizard shell scripts

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com