obsidian-agent-fleet 0.12.0 → 0.13.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 CHANGED
@@ -30,7 +30,7 @@ Agent Fleet is an Obsidian plugin that lets you build, configure, and run AI age
30
30
 
31
31
  🎛️ **Model picker** — Choose between aliases (`opus` / `sonnet` / `haiku` / `opusplan` — backend-agnostic), pinned IDs, or Bedrock/Vertex/Foundry formats. One place to configure: settings default, per-agent, or per-task override. Runs log both the requested alias and the concrete resolved model.
32
32
 
33
- 🔌 **MCP Integration** — Add, remove, authenticate, and inspect MCP servers from the dashboard. One-click OAuth 2.1 with automatic CLI token injection agents can use authenticated servers immediately.
33
+ 🔌 **MCP Integration** — Register an MCP server **once** and it's available to **any** agent on **either** adapter (Claude Code or Codex). Servers live in a fleet-owned registry (`_fleet/mcp/`) and are projected into each run; your native `~/.claude.json` and `~/.codex/config.toml` are never modified. One-click OAuth 2.1 (or a static bearer token), stored in your OS keychain and projected to both backends.
34
34
 
35
35
  🧠 **Agent Memory** — A two-tier, self-curating memory (curated working set + append-only ground truth) that agents write via a `remember` tool or `[REMEMBER]` tags, on both Claude and Codex. An optional nightly **reflection** consolidates it and can propose new skills from recurring patterns (approval-gated).
36
36
 
@@ -160,7 +160,7 @@ Each agent runs on one of two CLI backends, selected by the **Adapter** field in
160
160
  | Models | `opus` / `sonnet` / `haiku` / `opusplan` aliases, pinned IDs, Bedrock/Vertex/Foundry | Codex slugs (e.g. `gpt-5.5-codex`) + free-text |
161
161
  | Permission rules | Native — `.claude/settings.local.json` | execpolicy command rules via per-agent `CODEX_HOME` overlay |
162
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 |
163
+ | MCP servers | Fleet registry (`_fleet/mcp/`), projected via `--mcp-config` | Fleet registry (`_fleet/mcp/`), projected via `-c mcp_servers.*` |
164
164
 
165
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
166
 
@@ -311,40 +311,32 @@ A kanban view for managing agent tasks with five columns:
311
311
 
312
312
  ### MCP Servers
313
313
 
314
- Add, remove, authenticate, and manage MCP servers directly from the dashboardno terminal needed.
314
+ Register an MCP server **once** and it works for **any** agent on **either** adapter (Claude Code or Codex). Servers are a fleet-owned registry one markdown file per server under `_fleet/mcp/<name>.md` — and are *projected* into each run at spawn time (Claude via `--mcp-config`, Codex via `-c mcp_servers.*`). Your native `~/.claude.json` and `~/.codex/config.toml` are **read-only**; Agent Fleet never modifies them.
315
+
316
+ **One-time import.** On first load, your existing Claude and Codex MCP servers are imported into the registry (a server configured in both becomes one entry, marked `imported`), and any bearer tokens found are moved into your OS keychain. Idempotent.
315
317
 
316
318
  **Add Server UI:**
317
319
  - Click **"Add Server"** on the MCP page to open the form
318
320
  - **stdio** — command, arguments, environment variables
319
- - **HTTP / SSE** — URL, API key (stored securely), custom headers
320
- - Scope selection (user or local) — defaults to "user" so servers are visible across projects
321
- - Servers appear immediately after adding, with tools auto-discovered
322
-
323
- **Remove Server:**
324
- - Open any server's detail slideover → click **"Remove Server"**
325
- - Cleans up CLI registration and stored secrets in one step
321
+ - **HTTP / SSE** — URL, custom headers, and authentication: none, a static **bearer token** (stored in the keychain), or **OAuth** (authenticate after saving)
322
+ - Servers are written to `_fleet/mcp/`; secrets never touch the vault
326
323
 
327
- **Discovery:**
328
- - **stdio servers** spawned and probed directly via JSON-RPC (~1-2s)
329
- - **HTTP/SSE servers** probed with OAuth tokens for full tool schemas
330
- - **Plugin metadata** descriptions from Claude's plugin directory
324
+ **Server Management:**
325
+ - Enable/disable toggle per server (writes the registry file's frontmatter)
326
+ - Per-server **"Probe tools"** action — stdio servers are spawned and probed via JSON-RPC; HTTP/SSE servers are probed with the stored token
327
+ - Detail slideover with transport, auth state, and the discovered tool list
328
+ - **Remove Server** trashes the registry file and clears any stored token
329
+ - Grant servers to specific agents in the agent editor — leave an agent's list empty to grant every enabled server
331
330
 
332
331
  **OAuth 2.1 Authentication:**
333
332
 
334
- One-click browser-based auth with unified CLI token injection:
335
- 1. Click "Authenticate" on any server card
336
- 2. Plugin discovers OAuth endpoints automatically
337
- 3. Registers via Dynamic Client Registration
338
- 4. Opens browser for approval (PKCE flow)
339
- 5. Tokens stored securely in OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
340
- 6. Token automatically injected into Claude CLI config agents can use the server immediately without separate CLI authentication
341
- 7. Background token refresh — expiring tokens are refreshed and re-injected automatically
342
-
343
- **Server Management:**
344
- - Enable/disable toggle per server (writes to Claude's settings)
345
- - Server cards show status, tool count, type, description
346
- - Detail slideover with full tool list, descriptions, input schemas, parameters
347
- - Assign MCP servers to specific agents in the agent editor
333
+ One-click browser-based auth, projected to both backends:
334
+ 1. Click "Authenticate" on any HTTP/SSE server card
335
+ 2. Plugin discovers OAuth endpoints automatically and registers via Dynamic Client Registration (PKCE flow)
336
+ 3. Opens browser for approval
337
+ 4. Tokens stored securely in the OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
338
+ 5. The token is projected into each run — to Claude as an `Authorization` header, to Codex via `bearer_token_env_var` (passed through the spawn environment, never written to argv or any config file)
339
+ 6. Background token refresh expiring tokens are refreshed automatically, and the next run picks up the fresh token
348
340
 
349
341
  ---
350
342
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-agent-fleet",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Obsidian plugin for file-backed AI agents, task scheduling, channels (Slack), heartbeat, and interactive chat.",
5
5
  "license": "MIT",
6
6
  "main": "plugin/main.js",