OpenHanako (HanaAgent) is a desktop AI agent for macOS, Windows, and Linux aimed at people who work at a computer rather than only at developers. Each agent has its own memory, a personality defined by templates or custom persona files, and a graphical interface; several agents can run side by side, chat in shared channels, and delegate tasks to each other.
The application is an Electron shell with a React front end over a separate Node.js server (Hono HTTP and WebSocket) that hosts the agent runtime built on the Pi SDK. Session state lives in SQLite. On first launch a wizard collects a model provider (API key and base URL) and three model slots: a conversation model, a small tool model for light tasks, and a large tool model for memory compilation and deep analysis; a separate vision model can handle image attachments. OpenAI-compatible, Anthropic-style, OAuth, and Ollama local providers are supported.
Agents run inside a two-layer sandbox: an application-level PathGuard with four access levels, plus an operating-system sandbox (macOS Seatbelt, Linux Bubblewrap, or a Windows restricted token). By default the agent reads ordinary system files but writes and deletes only inside its working and data directories; the level is adjustable from the settings page.
Features
- Memory and personality: per-agent long-term memory and persona files; an agent is a folder, so it can be backed up or moved
- Tools: read and write files, run one-off commands or persistent terminal sessions, browse and search the web, take full-page screenshots, and preview media
- Skills: compatible with the community SKILLS ecosystem; an agent can install skills from GitHub or write its own, subject to a configurable review gate
- Character cards and skill bundles: export or import an agent as a local zip carrying persona, avatar, optional memory, and skills; group and export skill bundles separately
- Multi-agent collaboration: independent agents with their own memory, persona, and schedules that talk over channels and hand off tasks
- Desk: a per-agent workspace for files and notes that the agent reads and acts on, with drag-and-drop and file-tree change watching
- Scheduling and heartbeat: cron-style tasks, periodic checks of desk files, lightweight notifications, and scheduled plugin actions
- Plugin system: drag-in plugins contribute tools, skills, commands, agent templates, HTTP routes, Pi SDK extensions, LLM providers, pages, and sidebar widgets under a restricted or full-access permission model
- Messaging bridges: the same agent connects to Telegram, Feishu, QQ, and WeChat bots and can operate the computer remotely
- Mobile and LAN access: the server hosts a /mobile/ PWA, and another desktop can attach to an existing server over the LAN with an access key
- Localisation: Chinese, English, Japanese, Korean, and Traditional Chinese interfaces
