Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
octo
command
Command octo is the Go implementation of the Octo AI agent.
|
Command octo is the Go implementation of the Octo AI agent. |
|
octo-eval
command
Command octo-eval runs a lightweight, Docker-free eval suite against octo.
|
Command octo-eval runs a lightweight, Docker-free eval suite against octo. |
|
internal
|
|
|
agent
Package agent implements the Octo agent core: messages, history, and the run loop that ties an LLM provider to user input.
|
Package agent implements the Octo agent core: messages, history, and the run loop that ties an LLM provider to user input. |
|
app
Package app defines the provider-vendor registry and protocol mapping.
|
Package app defines the provider-vendor registry and protocol mapping. |
|
browser
Package browser is octo's owned, in-binary browser automation backend.
|
Package browser is octo's owned, in-binary browser automation backend. |
|
channel
Package channel provides IM platform bridging for octo-agent.
|
Package channel provides IM platform bridging for octo-agent. |
|
channel/adapters/dingtalk
Package dingtalk implements the DingTalk (钉钉) Stream Mode adapter.
|
Package dingtalk implements the DingTalk (钉钉) Stream Mode adapter. |
|
channel/adapters/discord
Package discord implements the Discord bot adapter.
|
Package discord implements the Discord bot adapter. |
|
channel/adapters/feishu
Package feishu implements the Feishu (飞书) adapter.
|
Package feishu implements the Feishu (飞书) adapter. |
|
channel/adapters/telegram
Package telegram implements the Telegram Bot API adapter.
|
Package telegram implements the Telegram Bot API adapter. |
|
channel/adapters/wecom
Package wecom implements the WeCom (Enterprise WeChat) intelligent-robot adapter.
|
Package wecom implements the WeCom (Enterprise WeChat) intelligent-robot adapter. |
|
channel/adapters/weixin
Package weixin implements the Weixin (微信) iLink adapter.
|
Package weixin implements the Weixin (微信) iLink adapter. |
|
channel/adapters/weixin/ilink
Package ilink implements the WeChat iLink Bot HTTP protocol.
|
Package ilink implements the WeChat iLink Bot HTTP protocol. |
|
config
Package config holds the user's persisted CLI defaults at ~/.octo/config.yml — a list of named model configurations plus global settings, so a fresh `octo` works without re-typing flags or re-exporting env vars every session.
|
Package config holds the user's persisted CLI defaults at ~/.octo/config.yml — a list of named model configurations plus global settings, so a fresh `octo` works without re-typing flags or re-exporting env vars every session. |
|
eval
Package eval is a lightweight, Docker-free task harness for measuring whether a prompt, tool, or model change made octo better or worse at real edits.
|
Package eval is a lightweight, Docker-free task harness for measuring whether a prompt, tool, or model change made octo better or worse at real edits. |
|
hooks
Package hooks implements C9 Phase 3 turn-boundary hooks.
|
Package hooks implements C9 Phase 3 turn-boundary hooks. |
|
mcp
Package mcp implements a Model Context Protocol client for octo.
|
Package mcp implements a Model Context Protocol client for octo. |
|
memory
Package memory implements octo's cross-session memory as plain markdown files the agent manages with its own file tools — the Claude Code model.
|
Package memory implements octo's cross-session memory as plain markdown files the agent manages with its own file tools — the Claude Code model. |
|
permission
Package permission gates tool calls through a rule-driven decision engine.
|
Package permission gates tool calls through a rule-driven decision engine. |
|
prompt
Package prompt assembles the agent's system prompt from layered sources.
|
Package prompt assembles the agent's system prompt from layered sources. |
|
provider
Package provider defines the contract every LLM backend implements.
|
Package provider defines the contract every LLM backend implements. |
|
provider/anthropic
Package anthropic implements the provider.Provider interface against Anthropic's native Messages API (POST /v1/messages).
|
Package anthropic implements the provider.Provider interface against Anthropic's native Messages API (POST /v1/messages). |
|
provider/openai
Package openai implements provider.Provider against OpenAI's Chat Completions API (POST /v1/chat/completions).
|
Package openai implements provider.Provider against OpenAI's Chat Completions API (POST /v1/chat/completions). |
|
provider/retry
Package retry adds bounded exponential-backoff retries to provider HTTP calls for transient failures — request timeouts, rate limits (429), the 5xx family, Anthropic's 529 "overloaded", and transient network errors — while honoring a server-supplied Retry-After header.
|
Package retry adds bounded exponential-backoff retries to provider HTTP calls for transient failures — request timeouts, rate limits (429), the 5xx family, Anthropic's 529 "overloaded", and transient network errors — while honoring a server-supplied Retry-After header. |
|
sandbox
Package sandbox confines an arbitrary shell command to an OS-enforced filesystem and network boundary — defense-in-depth beneath the permission engine (internal/permission), which only gates command strings.
|
Package sandbox confines an arbitrary shell command to an OS-enforced filesystem and network boundary — defense-in-depth beneath the permission engine (internal/permission), which only gates command strings. |
|
scheduler
Package scheduler provides a simple cron-based task scheduler for octo.
|
Package scheduler provides a simple cron-based task scheduler for octo. |
|
server
Package server provides the HTTP server for octo's REST API and Web UI.
|
Package server provides the HTTP server for octo's REST API and Web UI. |
|
skills
Package skills discovers Claude Code-compatible skills from disk and exposes them to the agent in two layers: a one-line manifest injected into the session-start system prompt (see RenderManifest), and full SKILL.md bodies loaded on demand through the `skill` tool.
|
Package skills discovers Claude Code-compatible skills from disk and exposes them to the agent in two layers: a one-line manifest injected into the session-start system prompt (see RenderManifest), and full SKILL.md bodies loaded on demand through the `skill` tool. |
|
tasks
Package tasks implements a session-scoped task tracker.
|
Package tasks implements a session-scoped task tracker. |
|
tools
Package tools provides built-in tool implementations for the octo agentic loop.
|
Package tools provides built-in tool implementations for the octo agentic loop. |
|
tools/rgembed
Package rgembed provides a bundled ripgrep (rg) binary for the current platform.
|
Package rgembed provides a bundled ripgrep (rg) binary for the current platform. |
|
trash
Package trash provides a simple file-level trash (recycle bin) for octo.
|
Package trash provides a simple file-level trash (recycle bin) for octo. |
|
tui
Package tui renders agent tool events as visual cards for the terminal REPL.
|
Package tui renders agent tool events as visual cards for the terminal REPL. |
|
upgrade
Package upgrade replaces the running octo binary with the latest GitHub release: resolve the latest version from the releases/latest redirect, download the platform archive plus checksums.txt, verify the archive's SHA-256, extract the binary, and atomically swap it into place.
|
Package upgrade replaces the running octo binary with the latest GitHub release: resolve the latest version from the releases/latest redirect, download the platform archive plus checksums.txt, verify the archive's SHA-256, extract the binary, and atomically swap it into place. |
|
version
Package version holds the build-time version metadata for the octo binary.
|
Package version holds the build-time version metadata for the octo binary. |
|
workflow
Package workflow runs a Ruby (mruby) DSL for deterministic agent orchestration.
|
Package workflow runs a Ruby (mruby) DSL for deterministic agent orchestration. |
Click to show internal directories.
Click to hide internal directories.