A fast, minimal AI Agent that runs in your terminal.
TUI Mode — split-pane interface with streaming output, vim navigation, and session management.
Plain IO Mode — stdin/stdout for scripts, pipes, and non-interactive use.
AlayaCore connects to any OpenAI-compatible or Anthropic-compatible LLM and gives it the tools to read, write, and edit files, and execute commands — all from an interactive TUI with streaming output, session persistence, and multi-step agentic tool-calling loops.
Option 1: Download from GitHub Releases
Download the binary for your platform, extract it, and add it to your PATH.
Option 2: Install with Go
go install github.com/alayacore/alayacore@latestThen run alayacore.
On first run, AlayaCore auto-creates a default model config at ~/.alayacore/model.conf configured for Ollama. Edit it to point at your preferred provider — press Ctrl+L then e in the terminal, or edit the file directly.
- Autonomous tool-calling loop — The LLM plans, calls tools, and iterates until the task is done (no step limit by default; optionally bounded with
--max-steps). - Five built-in tools —
read_file,edit_file,write_file,execute_command,search_content(when ripgreprgis available). - Cross-platform — Runs on Linux, macOS, and Windows. The
execute_commandtool auto-detects the shell (bash/zsh/sh on Unix, PowerShell/cmd on Windows). - Any LLM provider — OpenAI, Anthropic, DeepSeek, Qwen, Ollama, LM Studio. Multiple models in one config, switch at runtime.
- Streaming TUI — Real-time output with virtual scrolling, foldable windows, and vim-like keybindings.
- Plain IO mode —
--plainiofor scripting and piping. No TUI, just stdin/stdout. - Session persistence — Save and resume conversations automatically when
--sessionis specified. - Skills system — Extend the agent with instruction packages following the Agent Skills spec.
- Themes — Customizable color schemes with live switching.
AlayaCore does not send Anthropic-specific cache_control in the request body. This project targets anthropic-compatible providers (DeepSeek, MiniMax, MiMo, Ollama, LM Studio, etc.) that handle caching transparently.
If you connect directly to the Anthropic API and want prompt caching, place a proxy between AlayaCore and Anthropic that injects "cache_control":{"type":"ephemeral"} into the JSON request body. Tools like mitmproxy, OpenResty (nginx + Lua), or a small custom script all work well for this.
| Document | Description |
|---|---|
| Getting Started | Installation, CLI flags, and usage examples |
| Configuration | Model config, runtime config, and themes |
| Terminal UI | Keybindings, commands, windows, task queue |
| Plain IO Mode | stdin/stdout for scripts and pipes |
| Skills System | Agent Skills specification, directory structure, SKILL.md format |
| Architecture | Layered architecture, TLV protocol, data flow, design decisions |
| Step Messages | Message structure within an agentic step (assistant + tool results) |
| Providers | Provider-specific gotchas (tool call chunking, null args, reasoning mode) |
MIT

