Releases: Lilac-Labs/gini-agent
Releases · Lilac-Labs/gini-agent
v0.3.0
Added
- Add relay device pairing: front the gateway over a tunnel and bring new web and mobile devices online through a QR-code and universal-link flow, with an operator approval dialog and a live active-sessions panel. (see ADR device-pairing-auth.md)
- Rebuild chat around one chat per agent with threads and channels — a thread view with a pinned parent and an also-to-main composer, a cross-agent Threads Inbox with All/Unread filters, a Channels screen, and agent-decided threading via a
start_threadtool. (web, mobile) (see ADR agent-chat-threads-and-channels.md) - Add a Google Workspace connector with guided setup, splitting provisioning from sign-in and reporting sign-in liveness separately from connector health.
- Make the agent aware of the current date and time, with a
get_current_timetool for on-demand checks. - Deliver non-image file attachments to the model by capability — native document parts, extracted text (PDF, DOCX, XLSX, plain text), or a file path — with a file-chip composer on web and mobile. (see ADR chat-file-attachments.md)
- Render referenced docs inline in chat via a
GET /api/docsendpoint, used by re-auth notes and the connector dialog. (see ADR in-app-doc-references.md) - Add a per-agent structured database primitive so the agent can keep and exhaustively query structured records (the access pattern memory recall can't serve). New
db_query/db_execute/db_import/db_schematools over a sandboxed per-agent SQLite database, isolated from Gini's system data.db_importloads a CSV/XLSX file into a table deterministically. See Per-Agent Structured Database Primitive. - Add a
people-crmskill that turns a LinkedInConnections.csvexport into a queryable personal CRM (find/count people by company/role/location, track who people are, map who-knows-whom) on top of the database primitive. - Add in-chat search that filters and jumps to matches in the current chat.
- Add a List/Calendar toggle to the Jobs tab and surface every agent's recurring jobs in the sidebar.
Changed
- Make
browser_navigatea core tool, refuse a coldbrowser_connectuntil a page is open, cap Connect cards per sign-in wall, and break identical tool-call loops. - Mark a chat or thread as read when it is opened.
Fixed
- Fix the mobile Files picker stalling behind a dismissing attachment sheet.
v0.2.0
Added
- Add voice messages with on-device speech-to-text: press-and-hold recording, a playable voice bubble, a first-run model setup notice, and
GET /api/stt/status. (iOS) - Add Brave and Exa web search as connector-backed providers, with an in-chat connect card and "Learn more" docs links.
- Add agent self-configuration tools so the agent can manage its own setup in chat: set approval mode, edit its toolset, add or remove providers and connectors, install and rotate connectors, run runtime updates, roll back skills, rename or delete agents, and manage the approval allowlist.
- Add
rename_agent(tool,PATCHroute, and CLI) and seed each agent's name into its per-agentSOUL.md. - Add
linear_attach_imageto attach a screenshot to a Linear issue. - Add generated-file support in chat: a
GET /api/filesendpoint with a raw download mode, an in-app file viewer, and a grouped files card with a side preview drawer that renders PDFs, images, and CSV. - Add full-screen image preview from chat. (mobile)
- Add consent-based crash reporting: a watchdog that revives and reports a dead web or runtime process, GitHub-issue filing, the
gini-bug-reportskill, and a restart-time prompt before any report is filed. - Add chat-driven credential provisioning so skills prompt for required credentials at install time, including templateless typed credentials via
request_connector. - Add a re-auth call-to-action that names the failed provider and routes OAuth and CLI providers to re-authentication on expired-token chat failures.
- Add an approval-needed indicator to the chat list.
- Add streaming (SSE) chat responses on mobile.
- Add a stop control for pausing an in-flight chat turn, and text selection in chat messages. (mobile)
- Persist the tool-calling transcript and replay it across chat turns.
Changed
- Serve the web app through the gateway via reverse proxy, aligning WebSocket and HTTP routing on a single origin.
- Rename the default agent to "Gini", derive each agent's identity line from its per-agent name, and drop framework branding from the preamble; existing instances migrate on boot.
- Default new installs to
approvalMode: yolo; existing instances stay onauto. - Default voice transcription to
whisper-small(q8). - Auto-apply clean
edit_souledits without an approval prompt. - Launch the detected branded Chrome for the agent browser, clear automation fingerprints, persist browser logins independently of the macOS Keychain, and self-heal when Chrome dies externally.
- Supervise instances as always-up under launchd so a crashed web or runtime process respawns automatically.
- Collapse tool-call details by default and open external links in the system browser. (mobile)
- Bump the memory schema to v8, purging legacy push devices on database open.
Removed
- Remove the Cloudflare quick-tunnel off-LAN subsystem.
Fixed
- Skip mobile OTA updates when a build includes native changes, so JS bundles never load against a mismatched native runtime.
- Fix the mobile chat drawer overlapping the Dynamic Island safe area and a blocked burger-menu tap.