obsidian-agent-fleet 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -9
- package/package.json +1 -1
- package/plugin/main.js +119 -92
- package/plugin/manifest.json +1 -1
- package/plugin/styles.css +208 -0
package/README.md
CHANGED
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
## What is Agent Fleet?
|
|
10
10
|
|
|
11
|
-
Agent Fleet is an Obsidian plugin that lets you build, configure, and run AI agents directly from your vault. Agents
|
|
11
|
+
Agent Fleet is an Obsidian plugin that lets you build, configure, and run AI agents directly from your vault. Agents run on the CLI backend of your choice — **Claude Code** (Claude Max/Pro subscription or Anthropic API key) or **OpenAI Codex** — selectable per agent. Every agent, skill, task, and run log is a markdown file. If the plugin disappears, your knowledge stays.
|
|
12
12
|
|
|
13
13
|
### Core Capabilities
|
|
14
14
|
|
|
15
15
|
🤖 **AI Agents** — Create specialized agents with system prompts, skills, permissions, heartbeat schedules, and memory. Each agent is a folder of markdown files you fully own and control.
|
|
16
16
|
|
|
17
|
+
🔀 **Dual CLI backends** — Run each agent on **Claude Code** or **OpenAI Codex**, set per agent. Models, chat, tasks, heartbeat, channels, and permission rules all work the same on either backend — pick the engine, keep the workflow.
|
|
18
|
+
|
|
17
19
|
📚 **Wiki Keeper** — Turn any folder in your vault into a self-maintaining wiki in the spirit of Karpathy's "LLM wiki" pattern. Drop sources into an inbox, point at existing note folders as passive watched sources, and a scoped keeper agent ingests them into an interlinked `_topics/` tree with cross-references, citations, and a log. Each topic page carries a refreshable `## Summary` block synthesized from its claims history, so query-time reads stay cheap as the wiki grows. Substantive Q&A answers compound back into the wiki — both as filed synthesis pages and as dated bullets on every cited topic. Weekly lint surfaces orphans, contradictions, dedup candidates, and stale summaries; the dashboard's Wiki Keepers tab renders the review queue. Scales from one whole-vault keeper to many project-scoped instances; any other agent (e.g. a PM agent) can reference a keeper's scope and query or contribute. See the [Wiki Keeper Guide](WIKI_KEEPER_GUIDE.md).
|
|
18
20
|
|
|
19
21
|
💬 **Interactive Chat** — Dock a chat panel anywhere in Obsidian. Switch between agents. Attach documents and images. Send follow-up messages while the agent works. **Inline threads** under any assistant reply let you tangent without polluting the main thread — each thread has its own Claude session, its own context, its own stats.
|
|
@@ -60,12 +62,21 @@ The installer automatically finds your Obsidian vaults and copies the plugin fil
|
|
|
60
62
|
### Requirements
|
|
61
63
|
|
|
62
64
|
- **Obsidian** 1.6.0+ (desktop — macOS, Windows, Linux)
|
|
63
|
-
- **
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
- **At least one CLI backend** — install whichever engine(s) your agents will use:
|
|
66
|
+
- **[Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)** (default):
|
|
67
|
+
```bash
|
|
68
|
+
npm install -g @anthropic-ai/claude-code
|
|
69
|
+
claude # authenticate on first run
|
|
70
|
+
```
|
|
71
|
+
Works with a **Claude Max or Pro subscription** or an **Anthropic API key** — no separate API costs if you already subscribe.
|
|
72
|
+
- **[OpenAI Codex CLI](https://github.com/openai/codex)** (optional, for `codex` agents):
|
|
73
|
+
```bash
|
|
74
|
+
npm install -g @openai/codex
|
|
75
|
+
codex login # authenticate on first run
|
|
76
|
+
```
|
|
77
|
+
Works with a **ChatGPT Plus/Pro plan** or an **OpenAI API key**.
|
|
78
|
+
|
|
79
|
+
You only need the backend(s) your agents are configured to use — Claude-only users never pay the Codex probe, and vice versa.
|
|
69
80
|
|
|
70
81
|
### First Launch
|
|
71
82
|
|
|
@@ -117,11 +128,11 @@ agents/my-agent/
|
|
|
117
128
|
| **Avatar** | Lucide icon picker (1,400+ icons) or emoji |
|
|
118
129
|
| **System Prompt** | Core instructions that define the agent's behavior |
|
|
119
130
|
| **Model** | Claude Opus 4.6, Sonnet 4.6, Haiku 4.5, Bedrock models, or custom |
|
|
120
|
-
| **Adapter** | Claude Code
|
|
131
|
+
| **Adapter** | Claude Code or OpenAI Codex — set per agent |
|
|
121
132
|
| **Working Directory** | Where the agent operates (defaults to vault root) |
|
|
122
133
|
| **Timeout** | Max execution time in seconds |
|
|
123
134
|
| **Permission Mode** | bypassPermissions, dontAsk, acceptEdits, or plan |
|
|
124
|
-
| **Allow/Deny Lists** | Fine-grained tool control (e.g., allow `Bash(curl *)`, deny `Bash(rm -rf *)`) |
|
|
135
|
+
| **Allow/Deny Lists** | Fine-grained tool control (e.g., allow `Bash(curl *)`, deny `Bash(rm -rf *)`). Enforced on both backends — Claude Code natively, Codex via execpolicy command rules (see [Backends](#backends)) |
|
|
125
136
|
| **Skills** | Shared skills from the skill library |
|
|
126
137
|
| **MCP Servers** | Which MCP servers the agent can access |
|
|
127
138
|
| **Memory** | Persistent context across sessions via `[REMEMBER]` tags |
|
|
@@ -138,6 +149,31 @@ agents/my-agent/
|
|
|
138
149
|
|
|
139
150
|
---
|
|
140
151
|
|
|
152
|
+
### Backends
|
|
153
|
+
|
|
154
|
+
Each agent runs on one of two CLI backends, selected by the **Adapter** field in the agent editor:
|
|
155
|
+
|
|
156
|
+
| | **Claude Code** (default) | **OpenAI Codex** |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| Engine | `@anthropic-ai/claude-code` | `@openai/codex` (`codex exec`) |
|
|
159
|
+
| Auth | Claude Max/Pro subscription or Anthropic API key | ChatGPT Plus/Pro plan or OpenAI API key |
|
|
160
|
+
| Models | `opus` / `sonnet` / `haiku` / `opusplan` aliases, pinned IDs, Bedrock/Vertex/Foundry | Codex slugs (e.g. `gpt-5.5-codex`) + free-text |
|
|
161
|
+
| Permission rules | Native — `.claude/settings.local.json` | execpolicy command rules via per-agent `CODEX_HOME` overlay |
|
|
162
|
+
| File/network sandbox | Permission Mode | Permission Mode (`workspace-write` / `read-only`); `codex exec` forces approval policy `never` |
|
|
163
|
+
| MCP servers | Claude's registry | Codex's `~/.codex/config.toml`, scoped per agent |
|
|
164
|
+
|
|
165
|
+
Everything else — chat, tasks, heartbeat, Slack/Telegram channels, memory, run logs, model picker — works identically on both. The picker switches its alias list based on the selected adapter; free-text remains the escape hatch for any model ID.
|
|
166
|
+
|
|
167
|
+
**How Codex permission rules work.** Your `Bash(...)` allow/deny rules are translated into Codex *execpolicy* rules and injected through a per-agent `CODEX_HOME` overlay (the agent's `~/.codex` with auth/config/sessions symlinked through, but its own rules directory). This enforcement is **lossy by design** and degrades safely:
|
|
168
|
+
|
|
169
|
+
- Only command-prefix patterns translate — `Bash(git push *)` → deny `git push …`. **Tool-name rules** (`Read`/`Write`/`Edit`) and **mid-pattern wildcards** (`Bash(* --force)`) are dropped; file/network access is governed by the **Permission Mode** sandbox instead.
|
|
170
|
+
- There's no closed allow-list — Codex `allow` rules are additive, so "only the allow-list runs" (Claude's `dontAsk`) is **not** reproducible; the sandbox is the real boundary.
|
|
171
|
+
- Requires a Codex build with execpolicy support. If it's missing (or `~/.codex` isn't set up, or symlinks are unavailable), the agent **falls back to sandbox-only enforcement** with a one-time console warning — the run never breaks.
|
|
172
|
+
|
|
173
|
+
> Codex reports no per-run dollar cost, so `cost_usd` is blank on Codex runs. Compact/rate-limit telemetry is Claude-only.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
141
177
|
### Heartbeat
|
|
142
178
|
|
|
143
179
|
A heartbeat gives an agent autonomous behavior — what it does when no one is asking. Think periodic monitoring, daily reports, health checks, or trend analysis.
|
|
@@ -467,6 +503,9 @@ Everything is searchable, version-controllable, and fully yours.
|
|
|
467
503
|
**Q: Do I need an API key?**
|
|
468
504
|
Not necessarily. Agent Fleet works with your **Claude Max or Pro subscription** via Claude Code CLI. No separate API key or billing. If you prefer, you can also use an Anthropic API key directly.
|
|
469
505
|
|
|
506
|
+
**Q: Can I use OpenAI Codex instead of Claude?**
|
|
507
|
+
Yes. Set an agent's **Adapter** to `OpenAI Codex` and it runs on the `@openai/codex` CLI (ChatGPT plan or OpenAI API key) instead of Claude Code. You can mix freely — some agents on Claude, others on Codex — in the same fleet. Chat, tasks, heartbeat, channels, and memory all work the same. See [Backends](#backends) for the per-backend differences (notably how command permission rules are enforced and that Codex runs report no dollar cost).
|
|
508
|
+
|
|
470
509
|
**Q: Does it work without internet?**
|
|
471
510
|
No — agents need the Claude API to run. But all your data (agents, tasks, skills, memory) is local markdown.
|
|
472
511
|
|
package/package.json
CHANGED