@onebrain-ai/cli 2.1.9 → 2.1.10
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 +168 -151
- package/dist/onebrain +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,8 +8,11 @@
|
|
|
8
8
|
<p align="center">
|
|
9
9
|
<a href="https://onebrain.run"><img alt="Website" src="https://img.shields.io/badge/onebrain.run-0a0a14?style=for-the-badge&labelColor=ff2d92"></a>
|
|
10
10
|
<a href="https://x.com/onebrain_run"><img alt="@onebrain_run on X" src="https://img.shields.io/badge/follow-@onebrain__run-000000?style=for-the-badge&logo=x&logoColor=white"></a>
|
|
11
|
-
<a href="https://www.npmjs.com/package/@onebrain-ai/cli"><img alt="npm" src="https://img.shields.io/npm/v/@onebrain-ai/cli?style=for-the-badge&logo=npm&color=cb3837&label=%40onebrain-ai%2Fcli"></a>
|
|
12
11
|
<a href="https://github.com/onebrain-ai/onebrain/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/onebrain-ai/onebrain?style=for-the-badge&color=00f3ff&logo=github"></a>
|
|
12
|
+
</p>
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://www.npmjs.com/package/@onebrain-ai/cli"><img alt="npm" src="https://img.shields.io/npm/v/@onebrain-ai/cli?style=for-the-badge&logo=npm&color=cb3837&label=%40onebrain-ai%2Fcli"></a>
|
|
15
|
+
<a href="PLUGIN-CHANGELOG.md"><img alt="Plugin version" src="https://img.shields.io/github/package-json/v/onebrain-ai/onebrain?filename=.claude%2Fplugins%2Fonebrain%2F.claude-plugin%2Fplugin.json&style=for-the-badge&label=plugin&color=ff2d92"></a>
|
|
13
16
|
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-7c3aed?style=for-the-badge"></a>
|
|
14
17
|
</p>
|
|
15
18
|
|
|
@@ -43,129 +46,49 @@ Unlike chat-based AI tools, OneBrain lives in plain Markdown files you own forev
|
|
|
43
46
|
- **Human → Agent** — Every preference, decision, and correction becomes persistent memory. The agent calibrates to you with every interaction.
|
|
44
47
|
- **Agent → Human** — Captures, classifies, links, and synthesizes the noise of your day — so your attention stays on what only you can do.
|
|
45
48
|
|
|
49
|
+
<p align="center">
|
|
50
|
+
<picture>
|
|
51
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/diagrams/bidir-flow-dark.svg">
|
|
52
|
+
<img alt="Bidirectional flow — Human sends preferences, decisions, and corrections to Agent; Agent returns captures, links, and synthesis. Every interaction sharpens both." src="assets/diagrams/bidir-flow-light.svg" width="640">
|
|
53
|
+
</picture>
|
|
54
|
+
</p>
|
|
55
|
+
|
|
46
56
|
**Harness-agnostic** — Claude Code · Gemini CLI · OpenAI Codex · Qwen · or BYO LLM via API key. [See the architecture ↓](#the-harness-os-architecture)
|
|
47
57
|
|
|
48
58
|
---
|
|
49
59
|
|
|
50
60
|
## The Harness OS Architecture
|
|
51
61
|
|
|
52
|
-
OneBrain doesn't compete with Claude Code, Gemini CLI, or any other AI harness
|
|
62
|
+
OneBrain doesn't compete with Claude Code, Gemini CLI, or any other AI harness — **it extends them**. Whichever harness you drive, OneBrain adds the persistent memory, skill surface, and personal calibration that harnesses don't ship with. Same harness; suddenly it remembers who you are, what you're working on, and how you like to work — all while your Obsidian vault stays the durable source of truth underneath.
|
|
53
63
|
|
|
54
64
|
<p align="center">
|
|
55
|
-
<
|
|
65
|
+
<picture>
|
|
66
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/diagrams/harness-os-stack-dark.svg">
|
|
67
|
+
<img alt="OneBrain Harness OS — 4-layer architecture: OneBrain (plugin + CLI) on top, Harness, LLM, Obsidian Vault as the source of truth at the base" src="assets/diagrams/harness-os-stack-light.svg" width="780">
|
|
68
|
+
</picture>
|
|
56
69
|
</p>
|
|
57
70
|
|
|
58
71
|
| # | Layer | Role | What lives here |
|
|
59
72
|
|---|---|---|---|
|
|
60
|
-
| 01 | **
|
|
61
|
-
| 02 | **
|
|
62
|
-
| 03 | **
|
|
63
|
-
| 04 | **
|
|
64
|
-
| 05 | **LLM** | Intelligence source | Local (mlx, ollama) · cloud (claude, gemini, gpt) · raw API |
|
|
73
|
+
| 01 | **OneBrain** | OS layer (plugin + CLI) | 24+ skills · lifecycle hooks · vault sync · indexing · checkpoints · harness routing |
|
|
74
|
+
| 02 | **Harness** | Agentic runtime | Bring your own — Claude Code · Gemini CLI · Codex · Qwen · ... |
|
|
75
|
+
| 03 | **LLM** | Intelligence source | Local (mlx, ollama) · cloud (claude, gemini, gpt) · raw API |
|
|
76
|
+
| 04 | **Obsidian Vault** | Source of truth | Plain Markdown — notes, memory, decisions, knowledge graph |
|
|
65
77
|
|
|
66
78
|
The **Harness** layer is where most AI tools pick a fight with each other. We don't — pick whichever harness you love. By familiarity, by task, or by cost. Your vault stays the same.
|
|
67
79
|
|
|
68
|
-
###
|
|
69
|
-
|
|
70
|
-
Each harness reads OneBrain's instruction file automatically. Install it, run it inside your vault, and the plugin loads on first prompt.
|
|
71
|
-
|
|
72
|
-
| Harness | Install | Run | Reads |
|
|
73
|
-
|---|---|---|---|
|
|
74
|
-
| **Claude Code** *(recommended)* | `npm install -g @anthropic-ai/claude-code` | `claude` | `CLAUDE.md` |
|
|
75
|
-
| **Gemini CLI** | `npm install -g @google/gemini-cli` | `gemini` | `GEMINI.md` |
|
|
76
|
-
| **OpenAI Codex** | `npm install -g @openai/codex` | `codex` | `AGENTS.md` |
|
|
77
|
-
| **Qwen Code** | `npm install -g @qwen-code/qwen-code` | `qwen` | `AGENTS.md` |
|
|
78
|
-
|
|
79
|
-
> Auto-checkpoint and the Stop hook are wired up for Claude Code today. The other harnesses get the rest of the skill surface (24+ commands) immediately, and gain hook coverage as upstream support lands.
|
|
80
|
-
|
|
81
|
-
### Bring Your Own LLM (via Claude Code)
|
|
82
|
-
|
|
83
|
-
Already love Claude Code? Use it as a universal frontend. Point `ANTHROPIC_BASE_URL` at any OpenAI-compatible endpoint — Claude Code stays the harness, the LLM behind it changes per task.
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# Recommended: claude-code-router handles Anthropic ↔ provider translation
|
|
87
|
-
npm install -g @musistudio/claude-code-router
|
|
88
|
-
ccr code # first-run config, then launches Claude Code via the router
|
|
89
|
-
# (later) ccr stop # tear down the router before going native again
|
|
90
|
-
|
|
91
|
-
# Or direct: point ANTHROPIC_BASE_URL at any Anthropic-protocol endpoint
|
|
92
|
-
export ANTHROPIC_BASE_URL=https://your-router-or-anthropic-compatible-host
|
|
93
|
-
export ANTHROPIC_API_KEY=sk-byok-key
|
|
94
|
-
cd vault && claude
|
|
80
|
+
### Extend, don't replace
|
|
95
81
|
|
|
96
|
-
|
|
97
|
-
unset ANTHROPIC_BASE_URL ANTHROPIC_API_KEY
|
|
98
|
-
claude
|
|
99
|
-
```
|
|
82
|
+
A great harness already knows how to talk to an LLM, edit files, and run shell commands. It does **not** know who you are, what you've decided last week, or how you prefer to work. OneBrain fills exactly that gap.
|
|
100
83
|
|
|
101
|
-
|
|
|
102
|
-
|---|---|
|
|
103
|
-
| **Local** (mlx, ollama, llama.cpp) | Cost-free routine work, full privacy. Pair with [`litellm`](https://github.com/BerriAI/litellm) or [`claude-code-router`](https://github.com/musistudio/claude-code-router). |
|
|
104
|
-
| **Cloud BYOK** (Claude, Gemini, GPT, Groq, OpenRouter) | Pay-as-you-go premium reasoning. One env-var swap, no code changes. |
|
|
105
|
-
| **Hybrid** (route by task or by cost) | Cheap models for routine, premium when it counts. |
|
|
106
|
-
|
|
107
|
-
Same vault. Same skills. Same memory. The LLM swaps; OneBrain doesn't notice.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Built for Synergetic Thinking
|
|
112
|
-
|
|
113
|
-
OneBrain doesn't just store markdown. Every feature exists to make you and the agent better at each other's job.
|
|
114
|
-
|
|
115
|
-
| | Feature | Description |
|
|
84
|
+
| | What OneBrain adds | Why it matters |
|
|
116
85
|
|---|---|---|
|
|
117
|
-
| 🧠 | **
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
| 🔀 | **Multi-Harness OS** | Switch between Claude Code, Gemini CLI, Codex, Qwen, or BYO LLM — context never breaks. [See architecture ↑](#the-harness-os-architecture) |
|
|
122
|
-
| 🔌 | **Zero Config** | Clone, open in Obsidian, run `/onboarding`. Ready in under 2 minutes |
|
|
123
|
-
| 📓 | **Session Logs & Checkpoints** | Every conversation saved with summaries and action items. Auto-checkpoints fire every 15 messages or 30 min so nothing is lost mid-session *(auto-checkpoint requires Claude Code)* |
|
|
124
|
-
| 💾 | **Auto Session Summary** | When you say "bye", the agent silently saves a complete session log — no `/wrapup` needed |
|
|
125
|
-
| 🔗 | **Knowledge Synthesis** | `/consolidate` turns inbox captures into permanent connected knowledge |
|
|
126
|
-
| 🔬 | **Confidence-scored Memory** | Every insight carries `[conf:high/medium/low]` + `[verified:YYYY-MM-DD]` — knowledge that grows more reliable with use |
|
|
127
|
-
| 💎 | **Knowledge Distillation** | `/distill` crystallizes a completed research thread into a permanent structured note in your knowledge base |
|
|
128
|
-
| 🩺 | **Vault Doctor** | `/doctor` audits broken links, orphan notes, stale memory, and inbox backlog; `--fix` auto-repairs confidence scores and wikilinks |
|
|
129
|
-
| 🎓 | **Teachable AI** | `/learn` permanently shapes how your agent thinks and responds |
|
|
130
|
-
| 🪄 | **Smart Memory Review** | `/memory-review` lets you interactively prune, update, or archive memory entries one by one |
|
|
131
|
-
| 🔒 | **Concurrent-session Safe** | Each session generates an isolated 6-char token — multiple parallel sessions never mix checkpoints |
|
|
132
|
-
| 📱 | **Mobile Access** | Send instructions and receive briefings from anywhere via Telegram |
|
|
133
|
-
| ⚙️ | **CLI Binary** | `onebrain` binary handles checkpoints, session init, doctor, vault-sync, and updates — no Bun, Python, or Node.js required |
|
|
86
|
+
| 🧠 | **Memory** — Identity, preferences, decisions, project state — promoted across four tiers as it earns trust | The harness alone starts every session from zero. OneBrain doesn't. |
|
|
87
|
+
| ⚡ | **Skills** — 24+ vault-aware verbs (`/braindump`, `/research`, `/distill`, `/learn`, `/wrapup`, …) | Pre-built workflows the harness would otherwise need you to script every time. |
|
|
88
|
+
| 🎯 | **Calibration** — Every correction, every preference, every learned habit tunes the agent to *you* | The longer you use it, the sharper it gets — your vault is the training data. |
|
|
89
|
+
| 🔀 | **Continuity** — Context lives in the vault, not the harness | Switch from Claude Code to Gemini CLI to Codex. Same memory. Same skills. Same agent. |
|
|
134
90
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
## Use Cases
|
|
138
|
-
|
|
139
|
-
### 🖥️ Personal AI OS
|
|
140
|
-
|
|
141
|
-
Run OneBrain as your personal AI operating system — a complete AI environment that runs locally with no cloud infrastructure required.
|
|
142
|
-
|
|
143
|
-
**Recommended stack:**
|
|
144
|
-
|
|
145
|
-
| Tool | Role |
|
|
146
|
-
|------|------|
|
|
147
|
-
| [Claude Code](https://claude.ai/code) | Your AI agent, running in the terminal |
|
|
148
|
-
| [Obsidian](https://obsidian.md) | Your vault — single source of truth for memory and knowledge |
|
|
149
|
-
| [tmux](https://github.com/tmux/tmux) | Persistent sessions that survive disconnects and reboots |
|
|
150
|
-
| [Telegram](https://telegram.org) | Mobile access: send instructions, receive briefings from anywhere |
|
|
151
|
-
|
|
152
|
-
**Setting up the full stack:**
|
|
153
|
-
|
|
154
|
-
1. Install OneBrain and open your vault in Obsidian ([Get Started](#installation))
|
|
155
|
-
2. Start a tmux session: `tmux new -s onebrain`
|
|
156
|
-
3. Start Claude Code in your vault directory: `claude`
|
|
157
|
-
4. Run `/telegram:configure` to connect Claude Code's built-in Telegram channel — no custom bot or external infra needed
|
|
158
|
-
5. From any device, open Telegram and send instructions directly to your OneBrain agent
|
|
159
|
-
|
|
160
|
-
Your agent, your vault, your data — forever.
|
|
161
|
-
|
|
162
|
-
### 🧠 Thinking Partner
|
|
163
|
-
|
|
164
|
-
Use OneBrain as a daily thinking partner. Capture ideas with `/braindump`, research topics with `/research`, synthesize knowledge with `/consolidate`, and surface connections you'd never find manually with `/connect`.
|
|
165
|
-
|
|
166
|
-
### 📚 Knowledge Base Builder
|
|
167
|
-
|
|
168
|
-
Turn your AI into a knowledge curator: research, summarize, import files, and build a connected Markdown knowledge base that grows smarter over time.
|
|
91
|
+
> Pick a harness for **how it lets you work** (CLI, IDE, mobile, API). Pick OneBrain for **how it remembers you** across all of them.
|
|
169
92
|
|
|
170
93
|
---
|
|
171
94
|
|
|
@@ -177,15 +100,27 @@ Obsidian becomes your dispatch hub for everything you do:
|
|
|
177
100
|
- **Code in repos, orchestration in vault** — agent dispatches from here to wherever the work actually lives.
|
|
178
101
|
- **Markdown replaces Slack / Linear / Notion** — version-controlled, AI-readable, yours forever.
|
|
179
102
|
|
|
180
|
-
|
|
103
|
+
<p align="center">
|
|
104
|
+
<picture>
|
|
105
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/diagrams/vault-hub-dark.svg">
|
|
106
|
+
<img alt="Obsidian as command center — eight spokes radiate from the vault to CLI/repo, website, cloud infra, social media, office docs, project notes, research, and MCP server" src="assets/diagrams/vault-hub-light.svg" width="640">
|
|
107
|
+
</picture>
|
|
108
|
+
</p>
|
|
181
109
|
|
|
182
|
-
No tab juggling. No tool sprawl.
|
|
110
|
+
The agent reaches outward FROM the vault to every surface where the work actually lives. No tab juggling. No tool sprawl.
|
|
183
111
|
|
|
184
112
|
---
|
|
185
113
|
|
|
186
|
-
##
|
|
114
|
+
## The Path to Co-Evolution
|
|
187
115
|
|
|
188
|
-
A tightening 3-step loop
|
|
116
|
+
A tightening 3-step loop that sharpens with every cycle.
|
|
117
|
+
|
|
118
|
+
<p align="center">
|
|
119
|
+
<picture>
|
|
120
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/diagrams/coevo-loop-dark.svg">
|
|
121
|
+
<img alt="Co-Evolution loop — three nodes (01 INITIATE at top, 02 CAPTURE_INTENT at bottom-right, 03 MUTUAL_EVOLUTION at bottom-left) connected by curved arrows flowing clockwise" src="assets/diagrams/coevo-loop-light.svg" width="540">
|
|
122
|
+
</picture>
|
|
123
|
+
</p>
|
|
189
124
|
|
|
190
125
|
1. **Initiate** — Install the CLI, run `/onboarding`. The agent learns your name, vault, and identity. → `npm install -g @onebrain-ai/cli`
|
|
191
126
|
2. **Capture intent** — Talk in natural language. The agent writes, classifies, and links in real time. → `/braindump` · `/capture` · `/bookmark`
|
|
@@ -200,9 +135,18 @@ After `/onboarding`, your AI agent:
|
|
|
200
135
|
3. **Remembers everything** — decisions, preferences, and insights accumulate over time
|
|
201
136
|
4. **Suggests next actions** — based on what's in your vault, not what it can infer from scratch
|
|
202
137
|
|
|
203
|
-
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Memory System
|
|
141
|
+
|
|
142
|
+
OneBrain uses a four-tier memory system — knowledge sinks downward as it gets validated, while the agent recalls upward on demand. The Semantic tier has two loading modes (always-loaded and lazy-loaded).
|
|
204
143
|
|
|
205
|
-
|
|
144
|
+
<p align="center">
|
|
145
|
+
<picture>
|
|
146
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/diagrams/memory-tiers-dark.svg">
|
|
147
|
+
<img alt="Memory tiers — four-stage persistence stack: WORKING (00-inbox + current session) at top, EPISODIC (07-logs), SEMANTIC (05-agent/MEMORY.md + memory/), and KNOWLEDGE (03-knowledge) at the base" src="assets/diagrams/memory-tiers-light.svg" width="780">
|
|
148
|
+
</picture>
|
|
149
|
+
</p>
|
|
206
150
|
|
|
207
151
|
| Tier | Location | What it stores | Promoted by |
|
|
208
152
|
|------|----------|---------------|-------------|
|
|
@@ -212,11 +156,9 @@ OneBrain uses a four-tier memory system — each tier is more compressed and lon
|
|
|
212
156
|
| **Semantic** (lazy-loaded) | `05-agent/memory/` | Behavioral patterns, domain facts — loaded on demand via MEMORY-INDEX.md | `/learn`, `/recap`, `/memory-review` |
|
|
213
157
|
| **Knowledge** | `03-knowledge/` | Permanent synthesized notes | `/distill` |
|
|
214
158
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
## Memory Promotion
|
|
159
|
+
### Memory Promotion
|
|
218
160
|
|
|
219
|
-
|
|
161
|
+
Each tier has specific skills responsible for writing to it. Knowledge moves down the stack only as fast as it earns trust.
|
|
220
162
|
|
|
221
163
|
| Layer | Storage | Written by |
|
|
222
164
|
|---|---|---|
|
|
@@ -237,11 +179,9 @@ session → session log (`/wrapup`) → `memory/` files (`/recap`) → `MEMORY.m
|
|
|
237
179
|
- Only behaviors applying every session with high-impact failure if missed → MEMORY.md Critical Behaviors
|
|
238
180
|
- `MEMORY-INDEX.md` is loaded every session alongside `MEMORY.md` — it is the registry that enables lazy-loading of `memory/` files; updated automatically by any skill that writes to `memory/`
|
|
239
181
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
## Automatic Session Saving
|
|
182
|
+
### Automatic Session Saving
|
|
243
183
|
|
|
244
|
-
OneBrain has
|
|
184
|
+
OneBrain has automatic behaviors that run without you doing anything:
|
|
245
185
|
|
|
246
186
|
| Behavior | Trigger | What it does |
|
|
247
187
|
|----------|---------|-------------|
|
|
@@ -262,9 +202,83 @@ OneBrain has three automatic behaviors that run without you doing anything:
|
|
|
262
202
|
|
|
263
203
|
---
|
|
264
204
|
|
|
205
|
+
## Built for Synergetic Thinking
|
|
206
|
+
|
|
207
|
+
OneBrain doesn't just store markdown. Every feature exists to make you and the agent better at each other's job.
|
|
208
|
+
|
|
209
|
+
| | Feature | Description |
|
|
210
|
+
|---|---|---|
|
|
211
|
+
| 🧠 | **Persistent Memory** | Remembers your name, goals, preferences, and decisions across every session |
|
|
212
|
+
| 🖥️ | **Personal AI OS** | Full local stack: Claude Code + Obsidian + tmux + Telegram — no cloud infra needed |
|
|
213
|
+
| ⚡ | **24+ Skills** | Braindump, research, consolidate, bookmark, import files, daily briefing, and more |
|
|
214
|
+
| 📂 | **Vault-native Markdown** | Plain Markdown, no lock-in. Your data stays yours forever |
|
|
215
|
+
| 🔀 | **Multi-Harness OS** | Switch between Claude Code, Gemini CLI, Codex, Qwen, or BYO LLM — context never breaks. [See architecture ↑](#the-harness-os-architecture) |
|
|
216
|
+
| 🔌 | **Zero Config** | Clone, open in Obsidian, run `/onboarding`. Ready in under 2 minutes |
|
|
217
|
+
| 📓 | **Session Logs & Checkpoints** | Every conversation saved with summaries and action items. Auto-checkpoints fire every 15 messages or 30 min so nothing is lost mid-session *(auto-checkpoint requires Claude Code)* |
|
|
218
|
+
| 💾 | **Auto Session Summary** | When you say "bye", the agent silently saves a complete session log — no `/wrapup` needed |
|
|
219
|
+
| 🔗 | **Knowledge Synthesis** | `/consolidate` turns inbox captures into permanent connected knowledge |
|
|
220
|
+
| 🔬 | **Confidence-scored Memory** | Every insight carries `[conf:high/medium/low]` + `[verified:YYYY-MM-DD]` — knowledge that grows more reliable with use |
|
|
221
|
+
| 💎 | **Knowledge Distillation** | `/distill` crystallizes a completed research thread into a permanent structured note in your knowledge base |
|
|
222
|
+
| 🩺 | **Vault Doctor** | `/doctor` audits broken links, orphan notes, stale memory, and inbox backlog; `--fix` auto-repairs confidence scores and wikilinks |
|
|
223
|
+
| 🎓 | **Teachable AI** | `/learn` permanently shapes how your agent thinks and responds |
|
|
224
|
+
| 🪄 | **Smart Memory Review** | `/memory-review` lets you interactively prune, update, or archive memory entries one by one |
|
|
225
|
+
| 🔒 | **Concurrent-session Safe** | Each session generates an isolated 6-char token — multiple parallel sessions never mix checkpoints |
|
|
226
|
+
| 📱 | **Mobile Access** | Send instructions and receive briefings from anywhere via Telegram |
|
|
227
|
+
| ⚙️ | **CLI Binary** | `onebrain` binary handles checkpoints, session init, doctor, vault-sync, and updates — no Bun, Python, or Node.js required |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Use Cases
|
|
232
|
+
|
|
233
|
+
### 🖥️ Personal AI OS
|
|
234
|
+
|
|
235
|
+
Run OneBrain as your personal AI operating system — a complete AI environment that runs locally with no cloud infrastructure required.
|
|
236
|
+
|
|
237
|
+
**Recommended stack:**
|
|
238
|
+
|
|
239
|
+
| Tool | Role |
|
|
240
|
+
|------|------|
|
|
241
|
+
| [Claude Code](https://claude.ai/code) | Your AI agent, running in the terminal |
|
|
242
|
+
| [Obsidian](https://obsidian.md) | Your vault — single source of truth for memory and knowledge |
|
|
243
|
+
| [tmux](https://github.com/tmux/tmux) | Persistent sessions that survive disconnects and reboots |
|
|
244
|
+
| [Telegram](https://telegram.org) | Mobile access: send instructions, receive briefings from anywhere |
|
|
245
|
+
|
|
246
|
+
**Setting up the full stack:**
|
|
247
|
+
|
|
248
|
+
1. Install OneBrain and open your vault in Obsidian ([Get Started](#installation))
|
|
249
|
+
2. Start a tmux session: `tmux new -s onebrain`
|
|
250
|
+
3. Start Claude Code in your vault directory: `claude`
|
|
251
|
+
4. Run `/telegram:configure` to connect Claude Code's built-in Telegram channel — no custom bot or external infra needed
|
|
252
|
+
5. From any device, open Telegram and send instructions directly to your OneBrain agent
|
|
253
|
+
|
|
254
|
+
Your agent, your vault, your data — forever.
|
|
255
|
+
|
|
256
|
+
### 🧠 Thinking Partner
|
|
257
|
+
|
|
258
|
+
Use OneBrain as a daily thinking partner. Capture ideas with `/braindump`, research topics with `/research`, synthesize knowledge with `/consolidate`, and surface connections you'd never find manually with `/connect`.
|
|
259
|
+
|
|
260
|
+
### 📚 Knowledge Base Builder
|
|
261
|
+
|
|
262
|
+
Turn your AI into a knowledge curator: research, summarize, import files, and build a connected Markdown knowledge base that grows smarter over time.
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
265
266
|
## Installation
|
|
266
267
|
|
|
267
|
-
###
|
|
268
|
+
### Pick Your Harness
|
|
269
|
+
|
|
270
|
+
Each harness reads OneBrain's instruction file automatically. Install it, run it inside your vault, and the plugin loads on first prompt.
|
|
271
|
+
|
|
272
|
+
| Harness | Install | Run | Reads |
|
|
273
|
+
|---|---|---|---|
|
|
274
|
+
| **Claude Code** *(recommended)* | `npm install -g @anthropic-ai/claude-code` | `claude` | `CLAUDE.md` |
|
|
275
|
+
| **Gemini CLI** | `npm install -g @google/gemini-cli` | `gemini` | `GEMINI.md` |
|
|
276
|
+
| **OpenAI Codex** | `npm install -g @openai/codex` | `codex` | `AGENTS.md` |
|
|
277
|
+
| **Qwen Code** | `npm install -g @qwen-code/qwen-code` | `qwen` | `AGENTS.md` |
|
|
278
|
+
|
|
279
|
+
> Auto-checkpoint and the Stop hook are wired up for Claude Code today. The other harnesses get the rest of the skill surface (24+ commands) immediately, and gain hook coverage as upstream support lands.
|
|
280
|
+
|
|
281
|
+
### 1. Install the OneBrain CLI
|
|
268
282
|
|
|
269
283
|
```bash
|
|
270
284
|
npm install -g @onebrain-ai/cli
|
|
@@ -286,25 +300,49 @@ File → Open Folder as Vault → select this folder
|
|
|
286
300
|
|
|
287
301
|
### 4. Personalize your vault
|
|
288
302
|
|
|
289
|
-
In
|
|
303
|
+
In your harness: `/onboarding`
|
|
290
304
|
|
|
291
305
|
> **Adding OneBrain to an existing vault?** `cd` into it and run `onebrain init`
|
|
292
306
|
|
|
293
|
-
|
|
307
|
+
### Bring Your Own LLM (via Claude Code)
|
|
294
308
|
|
|
295
|
-
|
|
309
|
+
Already love Claude Code? Use it as a universal frontend. Point `ANTHROPIC_BASE_URL` at any OpenAI-compatible endpoint — Claude Code stays the harness, the LLM behind it changes per task.
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# Recommended: claude-code-router handles Anthropic ↔ provider translation
|
|
313
|
+
npm install -g @musistudio/claude-code-router
|
|
314
|
+
ccr code # first-run config, then launches Claude Code via the router
|
|
315
|
+
# (later) ccr stop # tear down the router before going native again
|
|
316
|
+
|
|
317
|
+
# Or direct: point ANTHROPIC_BASE_URL at any Anthropic-protocol endpoint
|
|
318
|
+
export ANTHROPIC_BASE_URL=https://your-router-or-anthropic-compatible-host
|
|
319
|
+
export ANTHROPIC_API_KEY=sk-byok-key
|
|
320
|
+
cd vault && claude
|
|
321
|
+
|
|
322
|
+
# Switch back to native Claude any time (manual-export route)
|
|
323
|
+
unset ANTHROPIC_BASE_URL ANTHROPIC_API_KEY
|
|
324
|
+
claude
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
| Route | What it gets you |
|
|
328
|
+
|---|---|
|
|
329
|
+
| **Local** (mlx, ollama, llama.cpp) | Cost-free routine work, full privacy. Pair with [`litellm`](https://github.com/BerriAI/litellm) or [`claude-code-router`](https://github.com/musistudio/claude-code-router). |
|
|
330
|
+
| **Cloud BYOK** (Claude, Gemini, GPT, Groq, OpenRouter) | Pay-as-you-go premium reasoning. One env-var swap, no code changes. |
|
|
331
|
+
| **Hybrid** (route by task or by cost) | Cheap models for routine, premium when it counts. |
|
|
332
|
+
|
|
333
|
+
Same vault. Same skills. Same memory. The LLM swaps; OneBrain doesn't notice.
|
|
296
334
|
|
|
297
335
|
---
|
|
298
336
|
|
|
299
|
-
> **
|
|
337
|
+
> **After `/update`:** Run `/reload-plugins` to pick up changes in your current session, or simply start a new session.
|
|
300
338
|
|
|
301
339
|
---
|
|
302
340
|
|
|
303
341
|
<a id="commands"></a>
|
|
304
342
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
343
|
+
## 📋 24+ Commands
|
|
344
|
+
|
|
345
|
+
The full skill surface, alphabetized by workflow.
|
|
308
346
|
|
|
309
347
|
| Command | What it does |
|
|
310
348
|
|---------|-------------|
|
|
@@ -334,8 +372,6 @@ In Claude Code: `/onboarding`
|
|
|
334
372
|
| `/update` | Update skills, config, and plugins from GitHub |
|
|
335
373
|
| `/help` | List all available commands with descriptions |
|
|
336
374
|
|
|
337
|
-
</details>
|
|
338
|
-
|
|
339
375
|
<details>
|
|
340
376
|
<summary><strong>📁 Vault Structure</strong></summary>
|
|
341
377
|
<br>
|
|
@@ -403,28 +439,9 @@ Checkpoints: `07-logs/YYYY/MM/YYYY-MM-DD-{session_token}-checkpoint-NN.md` — a
|
|
|
403
439
|
|
|
404
440
|
</details>
|
|
405
441
|
|
|
406
|
-
|
|
407
|
-
<summary><strong>🧠 Memory System</strong></summary>
|
|
408
|
-
<br>
|
|
409
|
-
|
|
410
|
-
OneBrain uses a four-tier memory system, where knowledge flows upward as it gets validated. The Semantic tier has two loading modes (always-loaded and lazy-loaded):
|
|
442
|
+
## Task Syntax
|
|
411
443
|
|
|
412
|
-
|
|
413
|
-
Everything that hasn't been processed yet. Captures from `/braindump`, `/capture`, and quick notes land here. Process with `/consolidate` to move into the knowledge base.
|
|
414
|
-
|
|
415
|
-
**Tier 2 — Episodic memory** (`07-logs/`)
|
|
416
|
-
Session logs: `YYYY-MM-DD-session-NN.md` in `YYYY/MM/` subfolders. Contains summaries, decisions, insights, and action items from each session. Generated by `/wrapup`.
|
|
417
|
-
Checkpoints: `YYYY-MM-DD-{session_token}-checkpoint-NN.md` — auto-generated mid-session by hooks. Incorporated and deleted by `/wrapup`.
|
|
418
|
-
|
|
419
|
-
**Tier 3 — Semantic memory** (`05-agent/MEMORY.md` + `05-agent/MEMORY-INDEX.md` + `05-agent/memory/`)
|
|
420
|
-
Always loaded at session start: `MEMORY.md` holds Identity, Active Projects, and Critical Behaviors (~55 lines target). `MEMORY-INDEX.md` is the registry of all `memory/` files — loaded every session, enables lazy-loading. Individual `memory/` files are lazy-loaded on demand via MEMORY-INDEX.md. Only `/learn` writes to MEMORY.md Critical Behaviors. Use `/doctor --fix` to audit and repair stale entries.
|
|
421
|
-
|
|
422
|
-
**Tier 4 — Knowledge base** (`03-knowledge/`)
|
|
423
|
-
Permanent, synthesized notes. `/distill` crystallizes a completed topic thread into a structured note in `03-knowledge/`.
|
|
424
|
-
|
|
425
|
-
### Task Syntax
|
|
426
|
-
|
|
427
|
-
OneBrain uses the [Obsidian Tasks](https://publish.obsidian.md/tasks/) plugin format:
|
|
444
|
+
OneBrain creates tasks in [Obsidian Tasks](https://publish.obsidian.md/tasks/) plugin format:
|
|
428
445
|
|
|
429
446
|
```
|
|
430
447
|
- [ ] Task description 📅 2026-03-25
|
|
@@ -433,7 +450,7 @@ OneBrain uses the [Obsidian Tasks](https://publish.obsidian.md/tasks/) plugin fo
|
|
|
433
450
|
|
|
434
451
|
Tasks live inline in your notes — the Tasks plugin surfaces them across the vault. Run `/tasks` to open a live dashboard in Obsidian (`TASKS.md` at vault root) with sections for overdue, due this week, unscheduled, due later, and recently completed.
|
|
435
452
|
|
|
436
|
-
|
|
453
|
+
---
|
|
437
454
|
|
|
438
455
|
## OneBrain Cloud
|
|
439
456
|
|
package/dist/onebrain
CHANGED
|
@@ -9459,7 +9459,7 @@ var init_lib = __esm(() => {
|
|
|
9459
9459
|
var require_package = __commonJS((exports, module) => {
|
|
9460
9460
|
module.exports = {
|
|
9461
9461
|
name: "@onebrain-ai/cli",
|
|
9462
|
-
version: "2.1.
|
|
9462
|
+
version: "2.1.10",
|
|
9463
9463
|
description: "CLI for OneBrain \u2014 personal AI OS for Obsidian with persistent memory, 24+ skills, and Claude Code integration",
|
|
9464
9464
|
keywords: [
|
|
9465
9465
|
"onebrain",
|
|
@@ -10761,7 +10761,7 @@ var import_picocolors5 = __toESM(require_picocolors(), 1);
|
|
|
10761
10761
|
var import_picocolors = __toESM(require_picocolors(), 1);
|
|
10762
10762
|
function resolveBinaryVersion() {
|
|
10763
10763
|
if (true)
|
|
10764
|
-
return "2.1.
|
|
10764
|
+
return "2.1.10";
|
|
10765
10765
|
try {
|
|
10766
10766
|
const pkg = require_package();
|
|
10767
10767
|
return pkg.version ?? "dev";
|
|
@@ -12258,7 +12258,7 @@ async function runBackfillRecapped(logsFolder, cutoffDate) {
|
|
|
12258
12258
|
const files = await listMdFiles(monthPath);
|
|
12259
12259
|
for (const fname of files) {
|
|
12260
12260
|
const fpath = join8(monthPath, fname);
|
|
12261
|
-
if (fname.includes("-
|
|
12261
|
+
if (!fname.includes("-session-")) {
|
|
12262
12262
|
continue;
|
|
12263
12263
|
}
|
|
12264
12264
|
if (cutoffDate) {
|
|
@@ -12355,7 +12355,7 @@ async function listMdFiles2(dir) {
|
|
|
12355
12355
|
}
|
|
12356
12356
|
async function hasManualSessionLog(monthDir, date) {
|
|
12357
12357
|
const files = await listMdFiles2(monthDir);
|
|
12358
|
-
const sessionLogs = files.filter((f2) => f2.startsWith(date) &&
|
|
12358
|
+
const sessionLogs = files.filter((f2) => f2.startsWith(date) && f2.includes("-session-") && f2.endsWith(".md"));
|
|
12359
12359
|
for (const logName of sessionLogs) {
|
|
12360
12360
|
try {
|
|
12361
12361
|
const content = await readFile5(join9(monthDir, logName), "utf8");
|
|
@@ -12848,7 +12848,7 @@ function patchUtf8(stream) {
|
|
|
12848
12848
|
}
|
|
12849
12849
|
|
|
12850
12850
|
// src/index.ts
|
|
12851
|
-
var VERSION = "2.1.
|
|
12851
|
+
var VERSION = "2.1.10";
|
|
12852
12852
|
var RELEASE_DATE = "2026-05-05";
|
|
12853
12853
|
patchUtf8(process.stdout);
|
|
12854
12854
|
patchUtf8(process.stderr);
|