Agent Fleet is an Obsidian plugin for building and running autonomous AI agents — on Claude Code or OpenAI Codex. Schedule tasks, chat in real time, connect Slack, Telegram, and Discord. Every agent is markdown you own.
Backends
No separate API bill required. Each agent picks its engine — mix freely in the same fleet. Chat, tasks, heartbeat, channels, and memory work identically on both.
Works with a Claude Max or Pro subscription — or an Anthropic API key. Aliases opus / sonnet / haiku, pinned IDs, Bedrock, Vertex, Foundry.
Works with a ChatGPT Plus/Pro plan — or an OpenAI API key. Set an agent's adapter to Codex and everything else stays the same: pick the engine, keep the workflow.
Features
Agents with their own prompts, permissions, schedules, and memory — working while you're not asking.
agents/site-monitor/ ├── agent.md identity & system prompt ├── config.md model, timeout, permissions ├── SKILLS.md shared skill library └── HEARTBEAT.md autonomous schedule
Every agent is a folder in your vault: system prompt, model, permission mode, allow/deny lists, skills, memory. Edit the files or use the UI — same thing.
Define what an agent does when no one is asking — monitoring, reports, health checks — with results posted straight to a channel.
Dock a chat panel anywhere. Stream responses, steer mid-task, attach docs and images. Inline threads let you tangent without polluting the main conversation.
Kanban with cron scheduling, priorities, real-time progress, and abort. Route a nightly summary to Haiku while the agent stays on Opus.
Full agent sessions over Slack, Telegram, and Discord — @agent-name routing, typing indicators, image attachments, sessions that survive restarts.
Agents record facts via a remember tool. A nightly reflection dedups, resolves contradictions, and can even propose new skills from recurring patterns — approval-gated.
One registry, every agent, both backends. One-click OAuth 2.1 with tokens in your OS keychain. Your native configs are never touched.
Turn any folder into a self-maintaining wiki. Drop sources in an inbox; a scoped keeper agent files them into an interlinked topic tree with citations. Answers compound back in.
Run charts, success rates, streaming output from active agents, and token & cost tracking across every run — tasks, heartbeats, chat, and channels.
Philosophy
Every agent, skill, task, run log, and memory is a plain markdown file in your vault. Searchable, diffable, version-controllable — fully yours.
_fleet/ ├── agents/ one folder per agent ├── skills/ 22 built-in, add your own ├── tasks/ frontmatter + cron ├── channels/ Slack · Telegram · Discord ├── mcp/ one file per server ├── runs/ every execution, logged └── memory/ working set + raw archive
Quick start
Settings → Community plugins → Browse → "Agent Fleet"
Right from Obsidian's community plugin directory. Prefer the terminal? npm install -g obsidian-agent-fleet works too.
npm install -g @anthropic-ai/claude-code
Claude Code (Max/Pro subscription or API key) — or OpenAI Codex with a ChatGPT plan.
"Create an agent that summarizes my Slack channels every morning"
Enable the plugin and chat with the built-in Fleet Orchestrator — it creates agents, tasks, and skills for you.
FAQ
Not necessarily. Agent Fleet works with your Claude Max or Pro subscription via the Claude Code CLI — no separate billing. An Anthropic API key works too, as does a ChatGPT plan for Codex agents.
Yes. The adapter is set per agent, so some agents can run on Claude Code and others on Codex in the same fleet. Chat, tasks, heartbeat, channels, and memory work the same on both.
Your _fleet/ folder stays. All agents, tasks, skills, run logs, and memory are plain markdown files in your vault.
No — channels run inside Obsidian, so the bot goes offline when Obsidian is closed. All connections are outbound (Socket Mode, long-poll, WebSocket), so no public URL is needed.
Yes, up to a configurable concurrency limit (default 2). Additional tasks queue until a slot opens.
All secrets — MCP OAuth/bearer tokens and channel credentials — are stored in your OS keychain via Obsidian's SecretStorage API, never in the vault. Agents respect per-agent permission modes and allow/deny lists.