Octo
This project is a hard fork of clacky-ai/openclacky. The original MIT copyright is preserved in LICENSE.txt; modifications are © 2026 Leihb (roy).
A functionality-first AI agent with three equal interfaces.
Octo is a Ruby tool for interacting with AI models. It speaks Anthropic Messages, OpenAI (Chat Completions + Responses), and AWS Bedrock natively, and works with any other provider that exposes one of those API shapes. It provides chat functionality and autonomous AI agent capabilities with tool use. Use it in the terminal, in a web browser, or through instant messaging — all three interfaces are first-class citizens with identical capabilities.
Philosophy
- Three faces, one agent — CLI, Web, and IM are all first-class. No interface is secondary
- Open skills — Compatible with Claude Code skill format. Install any community skill without friction
- Token-pragmatic — Uses tokens wisely, but never at the expense of getting the job done right
What Octo Is Not
- Not a token-minimization obsession — functionality comes first
- Not web-first — no master-worker architecture imposed on local CLI usage
- Not a marketplace — no encrypted skills, no commercial skill ecosystem
Features
| Feature | Description |
|---|---|
| Interactive CLI | Start an agent session directly in your terminal |
| Web UI | Full chat interface with multi-session support at localhost:7070 |
| IM Integration | Feishu, WeCom, WeChat, Discord, Telegram — all with full parity |
| Skills | Install, create, and evolve skills in standard Markdown format |
| BYOK | Bring your own API key — any Anthropic / OpenAI / Bedrock-compatible model |
| Autonomous agent | ReAct pattern with tool execution for complex tasks |
Installation
RubyGem
Requires Ruby >= 3.1.0
gem install octo
One-line installer (macOS / Ubuntu)
/bin/bash -c "$(curl -sSL https://raw.githubusercontent.com/Leihb/octo/main/scripts/install.sh)"
Windows
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/Leihb/octo/main/scripts/install.ps1')))"
Quick Start
Terminal
octo # start interactive agent in current directory
Web UI
octo server # default: http://localhost:7070
Options:
octo server --port 8080 # custom port
octo server --host 0.0.0.0 # listen on all interfaces
Configuration
$ octo
> /config
Set your API Key, Model, and Base URL. Octo routes each model to its native protocol — Anthropic Messages, OpenAI (Chat Completions / Responses), or AWS Bedrock — so you keep features like Claude's cache_control byte-for-byte instead of going through a lossy OpenAI shim.
Supported out of the box: Claude (Anthropic) · GPT (OpenAI) · DeepSeek · Kimi (Moonshot) · MiniMax · OpenRouter · AWS Bedrock · Qwen — or any custom endpoint that speaks one of the three protocols.
Skills
Skills are the primary way to extend Octo's capabilities. A skill is a Markdown instruction file that guides the agent to accomplish a specific task using existing tools.
- Invoke with
/— fuzzy search and call any installed skill - Create in natural language — describe what you want; the agent drafts
SKILL.md - Self-evolving — skills improve based on execution context and results
- Open format — compatible with Claude Code / Markdown Pack / custom formats
Skill directories:
- Built-in:
lib/octo/default_skills/ - Project-level:
.octo/skills/ - User-level:
~/.octo/skills/
Example Usage
$ octo
> /new my-app # scaffold a new project
> Add user auth with email and password
> How does the payment module work?
Install from Source
git clone https://github.com/Leihb/octo.git
cd octo
bundle install
bin/octo
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/Leihb/octo. Please read CONTRIBUTING.md before opening a PR.
License
Available as open source under the MIT License.