Agenty is a local-first AI agent application. The current product path consists of
agenty-cli, agenty-core, the Rust patch-applier helper, and the self-extracting
agenty-bootstrap launcher.
The CLI communicates with core exclusively through line-delimited JSON-RPC 2.0 over
the child process's stdin/stdout; it does not start an HTTP server.
The current core supports provider/model/agent management, persistent sessions, streaming model output, agentic tool loops, session compaction, and built-in filesystem tools. Skills, MCP, memory, and remote-client mode remain hidden until equivalent core implementations exist.
Download the archive for your operating system and architecture from the
latest release, extract it,
and install the agenty executable:
chmod +x agenty
sudo install -m 755 agenty /usr/local/bin/agenty
agentyOn first run, the launcher verifies and extracts the bundled CLI, core, and patch helper into
~/.agenty/bin/{cli,core,apply_patch}. The CLI starts core as a child process and opens a setup
wizard. The wizard creates one provider, one chat model, and one default agent through
the existing provider.* and agent.* IPC methods, then calls initialize.complete.
The launcher contains three XZ-compressed payloads and their decompressed SHA3-256 digests. Matching extracted files are reused; missing or mismatched files are verified and atomically replaced. The CLI resolves core in this order:
AGENTY_CORE_BINpackages/agenty-core/bin/agenty-coreduring repository development~/.agenty/bin/corefrom the launcher
Before starting core, the CLI prepends core's directory to PATH, making the bundled
apply_patch command available to core and shell tool calls.
Core reads one compact JSON-RPC message per stdin line and writes responses and
notifications to stdout. After session.start, core sends ordered session.event
notifications for round lifecycle, persisted messages, model stream deltas, tool calls,
and the terminal round status. Notifications may arrive before the session.start
response, so clients must subscribe before sending the request. Core exits when stdin
reaches EOF.
The TUI currently exposes /provider, /model, /agents, /cwd, /effort, /status,
/new, /resume, /help, and /exit. Features not yet implemented by core are hidden.
Core stores data under ~/.agenty by default. Pass --data-dir <path> to the CLI or set
AGENTY_DATA_DIR for core to use another root. Important files are:
| Data | Path |
|---|---|
| Configuration | ~/.agenty/config.json |
| Session transcripts | ~/.agenty/sessions/<yyyy>/<mm>/<dd>/<session-id>.jsonl |
| Session index | ~/.agenty/agenty.sqlite |
| Providers and models | Built-in catalog is embedded in the core binary; custom providers use ~/.agenty/providers/<provider-code>.json, while built-in provider files store only API keys |
| Model discovery cache | Kept only in the running core process for 8 hours; it is refreshed on demand and does not survive a core restart |
| Agents | ~/.agenty/agents/ |
| Patch transaction locks | ~/.agenty/locks/ |
| Logs | ~/.agenty/logs/<yyyy>/<mm>/<dd>/core.log |
AGENTY_LOG_LEVEL accepts debug, info, warn, or error.
AGENTY_LOG_FORMAT accepts text or jsonl.
pnpm install
pnpm cli:devpnpm cli:dev builds agenty-core first, then attaches the source TUI directly to the
terminal. Useful focused commands include:
pnpm core:test
pnpm core:test:integration
pnpm core:test:e2e
pnpm cli:typecheck
pnpm bootstrap:test
pnpm buildThe release version comes from the exported root AGENTY_VERSION value. Copy
.env.example to the ignored .env, source it, and run pnpm build for a complete
launcher build.
Licensed under the Apache License 2.0. See LICENSE.
Copyright (c) 2026 masteryyh