agenr 0.8.39 → 0.9.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/CHANGELOG.md +45 -8
- package/README.md +140 -92
- package/dist/chunk-2HANITK2.js +1737 -0
- package/dist/chunk-5K2G3I2J.js +1736 -0
- package/dist/chunk-BGBXNBNL.js +1649 -0
- package/dist/chunk-DMPHUNM6.js +1737 -0
- package/dist/chunk-I5EOJBPQ.js +1737 -0
- package/dist/chunk-ONK37URD.js +1714 -0
- package/dist/chunk-ZX2D3JMQ.js +1745 -0
- package/dist/cli-main.d.ts +6 -0
- package/dist/cli-main.js +2491 -904
- package/dist/openclaw-plugin/index.js +1 -1
- package/package.json +8 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.9.0 (2026-02-25)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
6
|
+
- Interactive onboarding wizard for `agenr init` (#170)
|
|
7
|
+
- Auth setup with API key links and connection testing
|
|
8
|
+
- Embeddings API key connectivity check during setup
|
|
9
|
+
- Platform auto-detection for OpenClaw and Codex (macOS, Linux, Windows)
|
|
10
|
+
- OpenClaw directory confirmation with custom path support
|
|
11
|
+
- DB isolation prompt for non-default OpenClaw paths (shared vs isolated)
|
|
12
|
+
- Project slug derivation with interactive edit
|
|
13
|
+
- Reconfigure mode with "keep current" defaults
|
|
14
|
+
- Change tracking for auth, model, embeddings, directory, and DB path
|
|
15
|
+
- Global projects map in `~/.agenr/config.json` for OpenClaw and Codex
|
|
16
|
+
- Keyed by directory path (multiple instances can share the same project slug)
|
|
17
|
+
- Stores platform, project slug, and optional dbPath per instance
|
|
18
|
+
- Per-repo platforms (Cursor, Claude Code, Windsurf) unchanged
|
|
19
|
+
- Current config display shows all registered projects with directories and DB isolation status
|
|
20
|
+
- `resolveProjectFromGlobalConfig()` helper for O(1) project lookup by directory
|
|
21
|
+
- Shared DB warning when same project slug and same database across instances
|
|
22
|
+
- Fix: OpenClaw sessionsDir correctly resolves to agents/main/sessions
|
|
23
|
+
- OpenClaw plugin auto-install with gateway restart during wizard
|
|
24
|
+
- Isolated DB path auto-written to OpenClaw plugin config (no manual editing)
|
|
25
|
+
- Session file scanner with recursive discovery, mtime filtering, size totals
|
|
26
|
+
- Cost estimation before ingest using model pricing from @mariozechner/pi-ai
|
|
27
|
+
- "Recent" ingest passes only last-7-day file paths; "full" uses directory glob
|
|
28
|
+
- Bulk ingest integration (--workers 10 --concurrency 1 --whole-file)
|
|
29
|
+
- Post-ingest consolidation prompt (merges near-duplicates from bulk ingest)
|
|
30
|
+
- Watcher daemon setup on macOS with launchd (120s interval)
|
|
31
|
+
- Re-ingest flow on model/auth change: stops watcher, resets DB, re-ingests
|
|
32
|
+
- Expanded setup summary with plugin/ingest/consolidate/watcher status
|
|
33
|
+
- Next steps section for skipped or failed wizard steps
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
- Refactored setup.ts: extracted `runSetupCore()` for programmatic use
|
|
37
|
+
- Subscription auth methods moved to "Advanced options" submenu
|
|
38
|
+
- Default recommended model changed to gpt-4.1-mini
|
|
39
|
+
- Non-interactive init behavior preserved when CLI flags are provided
|
|
40
|
+
- Skip .gitignore writes for OpenClaw and Codex (not git repos)
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- Test isolation: init wizard tests use isolated config path via `AGENR_CONFIG_PATH`
|
|
44
|
+
- fix(init): `installOpenClawPlugin` no longer forces the `OPENCLAW_HOME`
|
|
45
|
+
environment variable on OpenClaw CLI calls, preventing production config
|
|
46
|
+
overwrites when targeting a non-default directory (e.g. sandbox)
|
|
47
|
+
- fix(init): wizard now adds `"agenr"` to `plugins.allow` in the target
|
|
48
|
+
OpenClaw config, ensuring the plugin is explicitly trusted and suppressing
|
|
49
|
+
the auto-load warning
|
|
11
50
|
|
|
12
|
-
### Tests
|
|
13
|
-
- Add tests for ingest debug logging: file creation, sampling, dedup logs, graceful failure on bad logDir
|
|
14
51
|
## [0.8.40] - 2026-02-25
|
|
15
52
|
|
|
16
53
|
### Added
|
package/README.md
CHANGED
|
@@ -1,63 +1,72 @@
|
|
|
1
|
+
```text
|
|
2
|
+
█████╗ ██████╗ ███████╗███╗ ██╗██████╗
|
|
3
|
+
██╔══██╗██╔════╝ ██╔════╝████╗ ██║██╔══██╗
|
|
4
|
+
███████║██║ ███╗█████╗ ██╔██╗ ██║██████╔╝
|
|
5
|
+
██╔══██║██║ ██║██╔══╝ ██║╚██╗██║██╔══██╗
|
|
6
|
+
██║ ██║╚██████╔╝███████╗██║ ╚████║██║ ██║
|
|
7
|
+
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝
|
|
8
|
+
AGENt memoRy
|
|
9
|
+
```
|
|
10
|
+
|
|
1
11
|
# AGENR
|
|
2
12
|
|
|
3
13
|
**AY-JEN-ER** - Human memory for AI agents.
|
|
4
14
|
|
|
5
|
-
Your AI forgets everything between sessions. AGENR fixes that.
|
|
15
|
+
Your AI forgets everything between sessions. AGENR fixes that. It extracts structured knowledge from your conversation transcripts - facts, decisions, preferences, todos, relationships, events, lessons - and stores them in a local database with semantic search. Entries strengthen when reinforced, decay when stale, and resolve contradictions. One local database. Your memory stays on your machine.
|
|
6
16
|
|
|
7
|
-
|
|
17
|
+
## Quick Start
|
|
8
18
|
|
|
9
|
-
|
|
19
|
+
```bash
|
|
20
|
+
pnpm install -g agenr
|
|
21
|
+
agenr init
|
|
22
|
+
```
|
|
10
23
|
|
|
11
|
-
|
|
24
|
+
That's it. The interactive wizard handles everything: auth setup, platform detection, plugin installation, session ingestion, and watcher configuration. Run `agenr init` again anytime to reconfigure.
|
|
12
25
|
|
|
13
|
-
|
|
26
|
+
## What It Does
|
|
14
27
|
|
|
15
|
-
|
|
28
|
+
- **Extract** - An LLM reads your transcripts and pulls out structured entries. Smart filtering removes noise (tool calls, file contents, boilerplate - about 80% of a typical session) before the LLM sees it. Hedged or unverified agent claims are capped at importance 5 with an `unverified` tag.
|
|
29
|
+
- **Store** - Entries get embedded and compared against existing knowledge. Near-duplicates reinforce existing entries. New information gets inserted. Online dedup catches copies in real-time.
|
|
30
|
+
- **Recall** - Semantic search plus memory-aware ranking. Entries you recall often score higher. Stale entries decay. Contradicted entries get penalized.
|
|
31
|
+
- **Consolidate** - Periodic cleanup: rule-based expiry first, then optional LLM-assisted merging for entries that say the same thing differently.
|
|
16
32
|
|
|
17
|
-
```
|
|
18
|
-
|
|
33
|
+
```text
|
|
34
|
+
Transcript -> Filter -> Extract -> Store -> Recall
|
|
35
|
+
80% LLM dedup semantic
|
|
36
|
+
noise typed + embed + memory-
|
|
37
|
+
removed entries + dedup aware
|
|
19
38
|
```
|
|
20
39
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
### 1. Install and ingest your history
|
|
40
|
+
## What You Need
|
|
24
41
|
|
|
25
|
-
|
|
26
|
-
npm install -g agenr
|
|
42
|
+
An **OpenAI API key** for embeddings (`text-embedding-3-small`). Embeddings cost fractions of a penny per operation - a full ingestion of 100+ session transcripts runs about $0.10 total.
|
|
27
43
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
44
|
+
For the LLM extraction step, AGENR supports:
|
|
45
|
+
- **OpenAI API key** (recommended) - `gpt-4.1` is highly recommended for best extraction quality; `gpt-4.1-mini` is the default and works well if cost is a concern; `gpt-4.1-nano` is the budget option
|
|
46
|
+
- **OpenAI Pro subscription** - no API key needed
|
|
47
|
+
- **Anthropic Claude subscription** - no API key needed
|
|
32
48
|
|
|
33
|
-
|
|
49
|
+
The `agenr init` wizard walks you through all of this.
|
|
34
50
|
|
|
35
51
|
```bash
|
|
36
|
-
|
|
37
|
-
agenr daemon status
|
|
38
|
-
agenr daemon logs
|
|
52
|
+
export OPENAI_API_KEY=sk-... # for embeddings + extraction
|
|
39
53
|
```
|
|
40
54
|
|
|
41
|
-
|
|
55
|
+
## Platform Setup
|
|
42
56
|
|
|
43
|
-
|
|
57
|
+
### OpenClaw (recommended)
|
|
44
58
|
|
|
45
|
-
|
|
59
|
+
`agenr init` auto-detects OpenClaw, installs the native plugin, and restarts the gateway. The plugin handles everything automatically: three-phase memory injection at session start, mid-session signals when important entries arrive, cross-session handoff summaries, and native `agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire` tools.
|
|
46
60
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
tools registered directly in the agent toolset.
|
|
61
|
+
No AGENTS.md edits needed. No MCP config needed. The bundled SKILL.md loads automatically and instructs the agent when to call `agenr_store` proactively.
|
|
62
|
+
|
|
63
|
+
**Manual alternative:**
|
|
51
64
|
|
|
52
65
|
```bash
|
|
53
66
|
openclaw plugins install agenr
|
|
54
67
|
```
|
|
55
68
|
|
|
56
|
-
> **Security notice:** OpenClaw's code scanner will flag a critical warning during install: _"Shell command execution detected (child_process)."_ This is expected. agenr shells out to its own CLI binary
|
|
57
|
-
|
|
58
|
-
That's it. Memory injection happens via the plugin's `before_agent_start` hook.
|
|
59
|
-
No AGENTS.md edits needed. The bundled `SKILL.md` loads automatically and
|
|
60
|
-
instructs the agent when to call `agenr_store` proactively.
|
|
69
|
+
> **Security notice:** OpenClaw's code scanner will flag a critical warning during install: _"Shell command execution detected (child_process)."_ This is expected. agenr shells out to its own CLI binary for recall and store operations - it does not make external network calls, does not read your OpenClaw credentials, and does not send data anywhere. The plugin source is open and auditable.
|
|
61
70
|
|
|
62
71
|
Optional config in `openclaw.json`:
|
|
63
72
|
|
|
@@ -78,20 +87,25 @@ Optional config in `openclaw.json`:
|
|
|
78
87
|
}
|
|
79
88
|
```
|
|
80
89
|
|
|
81
|
-
Signal config controls how often mid-session notifications fire. See
|
|
82
|
-
[docs/OPENCLAW.md](./docs/OPENCLAW.md) for all available options.
|
|
90
|
+
Signal config controls how often mid-session notifications fire. See [docs/OPENCLAW.md](./docs/OPENCLAW.md) for all available options.
|
|
83
91
|
|
|
84
|
-
|
|
92
|
+
### Claude Code
|
|
85
93
|
|
|
86
94
|
```bash
|
|
87
95
|
agenr init --platform claude-code
|
|
88
96
|
```
|
|
89
97
|
|
|
90
|
-
Adds the `agenr_recall`/`agenr_store` instruction block to
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
Adds the `agenr_recall`/`agenr_store` instruction block to `~/.claude/CLAUDE.md` and wires `~/.mcp.json`.
|
|
99
|
+
|
|
100
|
+
### Codex
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
agenr init --platform codex
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Adds instructions to `~/.codex/AGENTS.md` and wires `~/.codex/config.toml`.
|
|
93
107
|
|
|
94
|
-
|
|
108
|
+
### Cursor
|
|
95
109
|
|
|
96
110
|
```bash
|
|
97
111
|
agenr init --platform cursor
|
|
@@ -99,28 +113,29 @@ agenr init --platform cursor
|
|
|
99
113
|
|
|
100
114
|
Adds instructions to `.cursor/rules/agenr.mdc` and wires `.cursor/mcp.json`.
|
|
101
115
|
|
|
102
|
-
|
|
116
|
+
### Windsurf
|
|
103
117
|
|
|
104
118
|
```bash
|
|
105
|
-
agenr init --platform
|
|
119
|
+
agenr init --platform windsurf
|
|
106
120
|
```
|
|
107
121
|
|
|
108
|
-
Adds instructions to `~/.
|
|
122
|
+
Adds instructions to `~/.codeium/windsurf/memories/global_rules.md` and wires `.mcp.json`.
|
|
109
123
|
|
|
110
|
-
|
|
124
|
+
### Generic / Any MCP Tool
|
|
111
125
|
|
|
112
126
|
```bash
|
|
113
127
|
agenr init # auto-detects platform, falls back to generic AGENTS.md
|
|
114
128
|
```
|
|
115
129
|
|
|
116
|
-
Or
|
|
117
|
-
`agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire` as tools.
|
|
130
|
+
Or start `agenr mcp` as a stdio MCP server and configure it in your tool's MCP settings manually. Your agent gets `agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire` as tools.
|
|
118
131
|
|
|
119
|
-
##
|
|
132
|
+
## How Memory Works
|
|
120
133
|
|
|
121
|
-
|
|
134
|
+
### Extraction & Storage
|
|
122
135
|
|
|
123
|
-
|
|
136
|
+
AGENR reads your session transcripts, filters out noise, and extracts structured knowledge entries. Each entry has a type, subject, content, importance, and expiry. Near-duplicates are caught automatically - if you discussed the same decision in three sessions, you get one entry with higher confirmations, not three copies.
|
|
137
|
+
|
|
138
|
+
```bash
|
|
124
139
|
agenr ingest ~/.openclaw/agents/main/sessions/ --glob '**/*.jsonl'
|
|
125
140
|
|
|
126
141
|
[1/108] session-abc123.jsonl (1.2MB) - 12 extracted, 10 stored, 1 skipped (duplicate), 1 reinforced
|
|
@@ -128,7 +143,7 @@ agenr ingest ~/.openclaw/agents/main/sessions/ --glob '**/*.jsonl'
|
|
|
128
143
|
...
|
|
129
144
|
```
|
|
130
145
|
|
|
131
|
-
|
|
146
|
+
### Recall (semantic + memory-aware)
|
|
132
147
|
|
|
133
148
|
```bash
|
|
134
149
|
agenr recall "package manager"
|
|
@@ -141,79 +156,108 @@ agenr recall "package manager"
|
|
|
141
156
|
tags: tooling, package-manager
|
|
142
157
|
```
|
|
143
158
|
|
|
144
|
-
|
|
159
|
+
Recall supports date range queries (`--since 14d --until 7d`) and temporal browse mode (`--browse --since 1d`) for recency-ordered lookups without embedding API calls.
|
|
145
160
|
|
|
146
|
-
|
|
161
|
+
### Cross-session Handoff
|
|
162
|
+
|
|
163
|
+
When you start a new session, the OpenClaw plugin runs a three-phase context injection:
|
|
164
|
+
|
|
165
|
+
1. **Phase 1A** - Reads the last 7 user+assistant turns from the most recent session file for immediate continuity
|
|
166
|
+
2. **Phase 1B** - Runs browse-mode recall for the last 24 hours, picking up importance-10 handoff entries written when the previous session ended
|
|
167
|
+
3. **Phase 2** - Semantic recall seeded from Phase 1A turns plus the first user message, deduplicated against Phase 1B results
|
|
168
|
+
|
|
169
|
+
When a session ends, the plugin builds a merged transcript from the current and prior sessions, summarizes it via LLM into a structured handoff entry at importance 10, and stores it. The next session consumes and retires the handoff entry after use.
|
|
170
|
+
|
|
171
|
+
A two-phase storage strategy prevents race conditions: Phase 1 stores a raw fallback immediately, then Phase 2 asynchronously upgrades it to the LLM summary and retires the fallback.
|
|
172
|
+
|
|
173
|
+
### Consolidation
|
|
174
|
+
|
|
175
|
+
Periodic cleanup merges near-duplicates and expires stale entries. Run manually or let the init wizard prompt you after a bulk ingest:
|
|
147
176
|
|
|
148
177
|
```bash
|
|
149
|
-
|
|
150
|
-
|
|
178
|
+
agenr consolidate
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Advanced
|
|
182
|
+
|
|
183
|
+
### Multi-instance & DB Isolation
|
|
184
|
+
|
|
185
|
+
When running multiple OpenClaw instances (or mixing OpenClaw and Codex), each instance gets registered in a global projects map at `~/.agenr/config.json`. By default, all instances share `~/.agenr/knowledge.db` with data separated by project tags.
|
|
151
186
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
agenr
|
|
187
|
+
For non-default OpenClaw paths, the init wizard offers isolated databases:
|
|
188
|
+
|
|
189
|
+
```text
|
|
190
|
+
~/.agenr/knowledge.db # shared (default)
|
|
191
|
+
~/my-openclaw/agenr-data/knowledge.db # isolated
|
|
156
192
|
```
|
|
157
193
|
|
|
158
|
-
|
|
194
|
+
The wizard writes the isolated DB path directly to the OpenClaw plugin config so no manual editing is needed.
|
|
195
|
+
|
|
196
|
+
### Manual Ingest
|
|
159
197
|
|
|
160
198
|
```bash
|
|
161
|
-
agenr
|
|
199
|
+
agenr ingest <paths...> --bulk --workers 10 --whole-file
|
|
162
200
|
```
|
|
163
201
|
|
|
164
|
-
|
|
202
|
+
The init wizard offers cost estimation before ingestion using model pricing, showing estimated token counts and costs for recent (last 7 days) vs full history ingestion.
|
|
165
203
|
|
|
166
|
-
|
|
204
|
+
### Live Watching & Watcher
|
|
167
205
|
|
|
168
|
-
|
|
206
|
+
The watcher tails your session files, extracts new knowledge every few minutes, and stores it. If you ingested history first, watch resumes right where ingest left off.
|
|
169
207
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
208
|
+
```bash
|
|
209
|
+
# Watch your sessions directory
|
|
210
|
+
agenr watch --platform openclaw
|
|
173
211
|
|
|
212
|
+
# Install as a background daemon (macOS launchd, 120s interval)
|
|
213
|
+
agenr watcher install
|
|
214
|
+
agenr watcher status
|
|
215
|
+
agenr watcher logs
|
|
174
216
|
```
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
217
|
+
|
|
218
|
+
### Benchmarking
|
|
219
|
+
|
|
220
|
+
Evaluate extraction quality against scored rubrics:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
agenr benchmark
|
|
179
224
|
```
|
|
180
225
|
|
|
181
|
-
|
|
226
|
+
Runs extraction against benchmark session fixtures, scores results against rubric JSON, and reports per-session plus overall metrics (recall, partial recall, precision proxy, composite score, pass rate). Supports multi-run aggregation with mean/min/stdev reporting.
|
|
182
227
|
|
|
183
|
-
|
|
184
|
-
`agenr_retire`.
|
|
228
|
+
### MCP Integration (manual)
|
|
185
229
|
|
|
186
|
-
|
|
187
|
-
natively; no MCP config needed)
|
|
230
|
+
If you prefer manual MCP setup over `agenr init`, start the stdio server:
|
|
188
231
|
|
|
189
|
-
|
|
190
|
-
|
|
232
|
+
```bash
|
|
233
|
+
agenr mcp
|
|
234
|
+
```
|
|
191
235
|
|
|
192
|
-
|
|
193
|
-
MCP settings.
|
|
236
|
+
This exposes four tools: `agenr_recall`, `agenr_store`, `agenr_extract`, `agenr_retire`. Configure it in your tool's MCP settings as a stdio server.
|
|
194
237
|
|
|
195
238
|
## Commands
|
|
196
239
|
|
|
197
240
|
| Command | What it does |
|
|
198
241
|
| --- | --- |
|
|
199
|
-
| `agenr
|
|
200
|
-
| `agenr
|
|
242
|
+
| `agenr init` | Interactive setup wizard: auth, platform detection, plugin install, ingestion, watcher. Replaces the old `setup` flow. Use `--platform` to skip auto-detection. |
|
|
243
|
+
| `agenr setup` | Configure LLM provider, auth, and model defaults (also available inside `init`) |
|
|
201
244
|
| `agenr config` | Show and update agenr configuration |
|
|
202
245
|
| `agenr auth` | Authentication status and diagnostics |
|
|
203
246
|
| `agenr ingest <paths...>` | Bulk-ingest files and directories |
|
|
204
247
|
| `agenr extract <files...>` | Extract knowledge entries from text files |
|
|
205
248
|
| `agenr store [files...]` | Store entries with semantic dedup |
|
|
206
|
-
| `agenr recall [query]` | Semantic + memory-aware recall. Use `--since
|
|
207
|
-
| `agenr retire [subject]` | Retire a stale entry (hidden, not deleted). Match by subject
|
|
249
|
+
| `agenr recall [query]` | Semantic + memory-aware recall. Use `--since`/`--until` for date ranges, `--browse` for temporal mode. |
|
|
250
|
+
| `agenr retire [subject]` | Retire a stale entry (hidden, not deleted). Match by subject or `--id`. |
|
|
208
251
|
| `agenr watch [file]` | Live-watch files/directories, auto-extract knowledge |
|
|
209
|
-
| `agenr
|
|
210
|
-
| `agenr
|
|
211
|
-
| `agenr
|
|
252
|
+
| `agenr watcher install` | Install background watch daemon (macOS launchd) |
|
|
253
|
+
| `agenr watcher status` | Show daemon status (running/stopped, pid, watched file, recent logs) |
|
|
254
|
+
| `agenr watcher logs` | Stream or show recent daemon logs |
|
|
212
255
|
| `agenr consolidate` | Clean up and merge near-duplicates |
|
|
256
|
+
| `agenr benchmark` | Run extraction against benchmark fixtures and score results |
|
|
213
257
|
| `agenr context` | Generate context file for AI tool integration |
|
|
214
258
|
| `agenr health` | Show database health and forgetting candidates |
|
|
215
259
|
| `agenr mcp` | Start MCP server (stdio) |
|
|
216
|
-
| `agenr todo <subcommand
|
|
260
|
+
| `agenr todo <subcommand>` | Manage todos in the knowledge base |
|
|
217
261
|
| `agenr db <cmd>` | Database management (stats, version, export, reset, path, check, rebuild-index) |
|
|
218
262
|
|
|
219
263
|
Full reference: [docs/CLI.md](./docs/CLI.md) | [docs/CONFIGURATION.md](./docs/CONFIGURATION.md)
|
|
@@ -221,20 +265,20 @@ Full reference: [docs/CLI.md](./docs/CLI.md) | [docs/CONFIGURATION.md](./docs/CO
|
|
|
221
265
|
## Architecture
|
|
222
266
|
|
|
223
267
|
- **Runtime:** Node.js 20+, TypeScript, ESM
|
|
224
|
-
- **Storage:** libsql/SQLite
|
|
268
|
+
- **Storage:** libsql/SQLite - default at `~/.agenr/knowledge.db`, optionally isolated per instance
|
|
225
269
|
- **Embeddings:** OpenAI `text-embedding-3-small`, 1024 dimensions
|
|
226
270
|
- **Recall scoring:** Vector similarity x recency x memory strength (max(importance, recall strength)), with contradiction penalties
|
|
271
|
+
- **Global config:** `~/.agenr/config.json` - stores auth, model, and a projects map keyed by directory path with platform, project slug, and optional isolated DB path per instance
|
|
227
272
|
|
|
228
273
|
Deep dive: [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)
|
|
229
274
|
|
|
230
275
|
## Status
|
|
231
276
|
|
|
232
|
-
The core pipeline is stable and tested
|
|
233
|
-
thousands of knowledge entries across OpenClaw sessions.
|
|
277
|
+
The core pipeline is stable and tested. We use it daily managing thousands of knowledge entries across OpenClaw sessions.
|
|
234
278
|
|
|
235
|
-
|
|
279
|
+
**Shipped:** extraction, storage, recall (semantic + browse), MCP integration, online dedup, consolidation, smart filtering, live watching, daemon mode, cross-session handoff (LLM-summarized), three-phase context injection, interactive init wizard, cost estimation, DB isolation, benchmarking.
|
|
236
280
|
|
|
237
|
-
|
|
281
|
+
**Next:** GUI Management Console (browse, search, and curate your knowledge database visually), Cursor live signals, Claude Code UserPromptSubmit adapter, transitive project dependencies.
|
|
238
282
|
|
|
239
283
|
## Philosophy
|
|
240
284
|
|
|
@@ -248,10 +292,14 @@ AGENR keeps your memory on your machine because it is yours. It's structured (no
|
|
|
248
292
|
|
|
249
293
|
| Problem | Fix |
|
|
250
294
|
|---|---|
|
|
295
|
+
| `agenr init` wizard fails to detect platform | Pass `--platform openclaw` (or `codex`, `claude-code`, etc.) explicitly |
|
|
296
|
+
| Plugin install fails during wizard | Run `openclaw plugins install agenr` manually, then `openclaw gateway restart` |
|
|
251
297
|
| Embeddings fail | Set `OPENAI_API_KEY` env var or `agenr config set-key openai <key>` |
|
|
252
298
|
| Database locked | Wait for consolidation to finish, or check `~/.agenr/consolidation.lock` |
|
|
253
299
|
| Recall returns nothing after force-kill | `agenr db rebuild-index` (vector index corruption) |
|
|
254
300
|
| Extraction fails mid-file | Retry - dedup skips already-stored entries |
|
|
301
|
+
| Stale handoff entries persist | Run `agenr recall --browse --since 1d` to check, then `agenr retire --id <id>` |
|
|
302
|
+
| Gateway doesn't pick up plugin | Run `openclaw gateway restart` after plugin install |
|
|
255
303
|
|
|
256
304
|
## License
|
|
257
305
|
|