agentxl 1.1.0 → 1.1.3

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
@@ -17,9 +17,6 @@
17
17
  <img src="https://img.shields.io/badge/node-%3E%3D20-brightgreen" alt="Node 20+" />
18
18
  </p>
19
19
 
20
- <!-- TODO: Replace with actual demo GIF showing: select local folder → ask question → trace answer to source → map into Excel -->
21
- <!-- <p align="center"><img src="https://raw.githubusercontent.com/satish860/agentxl/master/docs/demo.gif" alt="AgentXL demo" width="600" /></p> -->
22
-
23
20
  <p align="center">
24
21
  <a href="#quick-start">Quick Start</a> •
25
22
  <a href="#the-method">The Method</a> •
@@ -32,7 +29,7 @@
32
29
 
33
30
  Most spreadsheet work does not start in Excel. It starts in messy PDFs, statements, exports, agreements, and support folders.
34
31
 
35
- AgentXL is being built for that workflow:
32
+ AgentXL is built for that workflow:
36
33
 
37
34
  - **point to a local folder of source documents**
38
35
  - **ask a question or give an instruction**
@@ -41,51 +38,43 @@ AgentXL is being built for that workflow:
41
38
 
42
39
  Built for audit and diligence workflows first — useful anywhere document-heavy work ends in spreadsheets.
43
40
 
44
- ```bash
45
- npm install -g agentxl
46
- agentxl start
47
- ```
48
-
49
- No server. No cloud account with us. No classic RAG stack. You bring your own AI model.
50
-
51
41
  ---
52
42
 
53
43
  ## Quick Start
54
44
 
55
- ### 1. Install
56
-
57
- **Option A — npm**
45
+ ### 3 commands. That's it.
58
46
 
59
47
  ```bash
60
48
  npm install -g agentxl
49
+ agentxl install
50
+ agentxl start
61
51
  ```
62
52
 
63
- **Option B Windows installer**
53
+ | Command | What it does | When |
54
+ |---------|-------------|------|
55
+ | `npm install -g agentxl` | Installs AgentXL | Once |
56
+ | `agentxl install` | Registers the add-in with Excel (certs + manifest + loopback) | Once |
57
+ | `agentxl start` | Starts the local server | Every time |
64
58
 
65
- Use the packaged `AgentXL-Setup-<version>.exe`.
59
+ After `agentxl install`, open Excel → **AgentXL** appears on the **Home** ribbon. No Trust Center. No manual sideloading.
66
60
 
67
- The installer is self-contained. It:
68
- - bundles its own Node.js runtime
69
- - bundles the built AgentXL app and production dependencies
70
- - copies `manifest.xml` into a stable local folder for Excel catalog setup
71
- - creates Start Menu shortcuts for Start/Login/Open Taskpane
72
- - does not require a separate Node.js installation on the target machine
61
+ > On first run, `agentxl start` will ask you to sign in with your AI provider.
73
62
 
74
- ### 2. Start
63
+ ---
75
64
 
76
- ```bash
77
- agentxl start
78
- ```
65
+ ### Windows — no coding required
79
66
 
80
- The CLI walks you through setup:
67
+ 1. Download the latest `.zip` from [GitHub Releases](https://github.com/satish860/agentxl/releases)
68
+ 2. Extract to a folder (e.g. `Desktop\AgentXL`)
69
+ 3. Double-click **AgentXL.vbs**
70
+ 4. If sign-in is needed, run **AgentXL Login.vbs** first
71
+ 5. Excel opens with AgentXL in the **Home** ribbon
81
72
 
82
- ```
83
- ✅ Auth ready
84
- ✅ HTTPS certificate ready
85
- ✅ Server running at https://localhost:3001
86
- ```
73
+ The release ZIP is self-contained — bundled Node.js, no system install required.
74
+
75
+ ---
87
76
 
88
- ### 3. Choose your AI provider
77
+ ### Choose your AI provider
89
78
 
90
79
  On first run, the CLI asks how to connect:
91
80
 
@@ -99,39 +88,45 @@ On first run, the CLI asks how to connect:
99
88
 
100
89
  > **Already use Pi?** AgentXL shares credentials from `~/.pi/agent/auth.json`. No extra login needed.
101
90
 
102
- ### 4. Verify in browser
91
+ ---
103
92
 
104
- Open **https://localhost:3001/taskpane/** in your browser.
93
+ ### Start from a document folder
105
94
 
106
- You should see the AgentXL UI. This confirms the server, HTTPS, and UI all work before you touch Excel.
95
+ 1. Open Excel click **AgentXL** on the Home ribbon
96
+ 2. Link a **local folder** containing your source documents
97
+ 3. Ask a question — the agent searches the folder, reads the files, returns grounded answers
107
98
 
108
- ### 5. Add to Excel (one-time setup)
99
+ Example prompts:
109
100
 
110
- 1. **Excel** **File** **Options** **Trust Center** **Trust Center Settings**
111
- 2. Click **Trusted Add-in Catalogs**
112
- 3. Add the catalog path printed in your terminal
113
- - Windows installer default: `C:\Program Files\AgentXL\manifest`
114
- - npm install flow: use the path printed by `agentxl start`
115
- 4. Check **Show in Menu** → **OK** → **OK**
116
- 5. **Restart Excel**
117
- 6. **Insert** → **My Add-ins** → **SHARED FOLDER** tab → **AgentXL** → **Add**
101
+ - **"Extract the relevant values from the source documents and map them into Excel."**
102
+ - **"Compare this trial balance folder to the lead sheet and flag mismatches."**
103
+ - **"Pull lease terms from these agreements into the lease schedule."**
104
+ - **"Show me which workbook cells came from which source files."**
118
105
 
119
- ### 6. Start from a document folder
106
+ ---
120
107
 
121
- Open Excel, launch **AgentXL**, then use a workflow like:
108
+ ## Alternative install methods
122
109
 
123
- 1. select the workbook you want to populate
124
- 2. point AgentXL at a local folder of supporting files
125
- 3. ask a grounded question
126
- 4. review the answer and source traceability
127
- 5. map the output into Excel
110
+ ### Install the Excel add-in only (if you already have the server)
128
111
 
129
- Example prompts:
112
+ **Option A — Office Store (coming soon)**
113
+ 1. Open Excel → **Insert** → **Get Add-ins**
114
+ 2. Search **"AgentXL"** → click **Add**
130
115
 
131
- - **"Compare this trial balance folder to the lead sheet and flag mismatches."**
132
- - **"Extract the cash balance from the bank statement folder and map it to the cash workpaper."**
133
- - **"Pull lease terms from these agreements into the lease schedule."**
134
- - **"Show me which workbook cells came from which source files."**
116
+ > The Office Store listing is pending review. Use the `agentxl install` command or Option B/C below.
117
+
118
+ **Option B Upload hosted manifest**
119
+ 1. Download [`manifest.xml`](https://satish860.github.io/agentxl/manifest/manifest.xml)
120
+ 2. Open Excel → **Insert** → **Get Add-ins** → **My Add-ins** → **Upload My Add-in**
121
+ 3. Browse to the downloaded `manifest.xml` → **Upload**
122
+
123
+ **Option C — Shared folder catalog (persistent, Windows)**
124
+ 1. **Excel** → **File** → **Options** → **Trust Center** → **Trust Center Settings**
125
+ 2. Click **Trusted Add-in Catalogs**
126
+ 3. Add the `manifest` folder path from your release ZIP or the path printed by `agentxl start`
127
+ 4. Check **Show in Menu** → **OK** → **OK**
128
+ 5. **Restart Excel**
129
+ 6. **Insert** → **My Add-ins** → **SHARED FOLDER** → **AgentXL** → **Add**
135
130
 
136
131
  ---
137
132
 
@@ -164,7 +159,7 @@ This makes it a fit for:
164
159
  ## What AgentXL Is Not
165
160
 
166
161
  - **Not classic RAG.** No need to start with embeddings, vector DBs, and a retrieval stack.
167
- - **Not generic spreadsheet chat.** The primary action is not ask Excel a question.”
162
+ - **Not generic spreadsheet chat.** The primary action is not "ask Excel a question."
168
163
  - **Not automation theater.** The goal is reviewable outputs with sources, not flashy demos.
169
164
  - **Not a 36-tool architecture diagram.** One parser, one model, direct file search, and an eval loop beat unnecessary layers.
170
165
 
@@ -172,117 +167,23 @@ This makes it a fit for:
172
167
 
173
168
  ## The Method
174
169
 
175
- AgentXL follows a simple method inspired by real document-processing systems:
176
-
177
- 1. **Parse the files**
178
- - PDFs, Excel files, CSVs, statements, agreements, support docs
179
- 2. **Search the folder agentically**
180
- - inspect filenames, structure, metadata, and contents
181
- - read the right files instead of pre-building a giant stack
182
- 3. **Ask the model to extract or answer**
183
- - one grounded task at a time
184
- 4. **Map the result into Excel**
185
- - workpapers, schedules, exception lists, summaries
186
- 5. **Measure whether it was right**
187
- - evals, failure analysis, correction loops
188
- 6. **Improve the system**
189
- - fix repeated failure patterns, then measure again
170
+ AgentXL follows a simple method:
171
+
172
+ 1. **Parse the files** — PDFs, Excel files, CSVs, statements, agreements
173
+ 2. **Search the folder agentically** — inspect filenames, structure, metadata, and contents
174
+ 3. **Ask the model to extract or answer** — one grounded task at a time
175
+ 4. **Map the result into Excel** — workpapers, schedules, exception lists
176
+ 5. **Measure whether it was right** evals, failure analysis, correction loops
177
+ 6. **Improve the system** fix repeated failure patterns, then measure again
190
178
 
191
179
  ### The core loop
192
180
 
193
181
  **Parse → Search → Ask → Evaluate → Fix → Repeat**
194
182
 
195
- That is the product.
196
-
197
- ---
198
-
199
- ## Core Workflow
200
-
201
- AgentXL is designed around a folder-first workflow:
202
-
203
- 1. **Link a local folder** — point AgentXL at a folder of source documents (PDFs, CSVs, Excel files, text)
204
- 2. **AgentXL scans the folder** — builds an inventory of supported files, shows counts in the UI
205
- 3. **Ask a question or give an instruction** — the agent knows what files are available
206
- 4. **The agent searches and reads the relevant files** — using `read`, `grep`, `find`, `ls` tools (visible as live badges in the UI)
207
- 5. **Review the grounded result** — answers cite the source file and content
208
- 6. **Write the output into Excel** — as a workpaper, schedule, or exception list *(coming next)*
209
-
210
- The agent's working directory is set to your linked folder. When you say "list the files," it lists *your documents*, not the AgentXL project.
211
-
212
- ---
213
-
214
- ## Current Build Status
215
-
216
- | Area | Status |
217
- |------|--------|
218
- | Excel taskpane shell | ✅ Done |
219
- | Local server + auth flow | ✅ Done |
220
- | Model connection | ✅ Done |
221
- | Workbook identity resolution | ✅ Done |
222
- | Folder linking + native picker | ✅ Done |
223
- | Folder scanning + file inventory | ✅ Done |
224
- | Folder-aware agent (cwd, context) | ✅ Done |
225
- | Agentic file search (read, grep, find, ls) | ✅ Done |
226
- | Tool call visibility in UI | ✅ Done |
227
- | Source traceability into Excel | 🔜 Next |
228
- | Excel write tools | Planned |
229
- | Eval-driven extraction improvement loop | Planned |
230
-
231
- ---
232
-
233
- ## What It Does
234
-
235
- The target behavior looks like this:
236
-
237
- | You ask | AgentXL does |
238
- |---------|---------------|
239
- | "Extract the ending cash balance from the bank statement folder and map it to the cash workpaper" | Finds the relevant statement, extracts the value, and writes it into Excel |
240
- | "Compare this trial balance export folder to the lead sheet and flag mismatches" | Reconciles source documents against the workbook and surfaces exceptions |
241
- | "Pull lease start date, end date, and monthly payment from these agreements into the lease schedule" | Reads the agreements and maps structured fields into the schedule |
242
- | "Show me which cells in this sheet came from which source files" | Returns traceability for mapped workbook values |
243
- | "Create a support summary for this balance from the source folder" | Searches the folder, answers from evidence, and structures the output for review |
244
- | "Format this output as a clean review-ready workpaper" | Applies spreadsheet formatting after the data is mapped |
245
-
246
- ### Underlying Excel Tools
247
-
248
- These are implementation tools, not the product story:
249
-
250
- | Tool | What It Does |
251
- |------|-------------|
252
- | `excel_read_range` | Read data, values, formulas from any range |
253
- | `excel_write_range` | Write values or formulas to ranges |
254
- | `excel_create_table` | Convert ranges to structured Excel tables |
255
- | `excel_create_chart` | Create charts (column, bar, line, pie, scatter, area, doughnut) |
256
- | `excel_get_workbook_info` | Get workbook metadata — sheets, tables, named ranges |
257
- | `excel_format_range` | Apply formatting — fonts, colors, borders, number formats |
258
- | `excel_insert_rows` | Insert rows into worksheets |
259
- | `excel_delete_rows` | Delete rows from worksheets |
260
- | `excel_add_worksheet` | Add new worksheets |
261
- | `excel_run_formula` | Evaluate formulas without writing to cells |
262
-
263
183
  ---
264
184
 
265
185
  ## How It Works
266
186
 
267
- ```text
268
- agentxl start
269
- → Local HTTPS server on localhost:3001
270
- → Serves taskpane UI at /taskpane
271
- → Connects to your chosen model
272
-
273
- You point AgentXL at a local folder
274
- → PDFs, statements, exports, agreements, support files
275
- → Agent searches the folder
276
- → Agent reads the relevant documents
277
- → You ask a question or request a mapping
278
-
279
- Excel loads the taskpane
280
- → Agent returns a grounded result with source traceability
281
- → Taskpane writes the output into Excel via Office.js
282
- ```
283
-
284
- ### Architecture
285
-
286
187
  ```text
287
188
  ┌─────────────────────────────────────────────────────────────┐
288
189
  │ YOUR MACHINE │
@@ -293,7 +194,7 @@ Excel loads the taskpane
293
194
  │ ▼ │
294
195
  │ ┌─────────────────┐ ┌───────────────────────────┐ │
295
196
  │ │ Excel │ HTTPS │ AgentXL Server │ │
296
- │ │ │◄──────►│ localhost:3001 │ │
197
+ │ │ │◄──────►│ localhost:3001 │ │
297
198
  │ │ Taskpane UI │ │ │ │
298
199
  │ │ Office.js │ │ agentic file search │ │
299
200
  │ │ │ │ selective file reading │ │
@@ -305,32 +206,17 @@ Excel loads the taskpane
305
206
  │ model API
306
207
 
307
208
  ┌──────────────────────────┐
308
- │ Anthropic / OpenAI /
309
- │ OpenRouter / Azure /
310
- │ Google / Copilot
209
+ │ Anthropic / OpenAI /
210
+ │ OpenRouter / Azure /
211
+ │ Google / Copilot
311
212
  └──────────────────────────┘
312
213
  ```
313
214
 
314
- ### Why no classic RAG?
315
-
316
- Because most teams do not need a 9-layer retrieval stack to answer grounded questions from a folder of documents.
317
-
318
- AgentXL starts simpler:
319
-
320
- - local files
321
- - direct parsing
322
- - agentic search
323
- - selective reading
324
- - one model
325
- - explicit evals
326
-
327
- If scale later demands heavier infrastructure, add it later. Measure first.
328
-
329
215
  ---
330
216
 
331
217
  ## Supported Providers
332
218
 
333
- ### Subscriptions (sign in with your browser — no API key)
219
+ ### Subscriptions (sign in with your browser)
334
220
 
335
221
  | Provider | What You Need | Best for |
336
222
  |----------|---------------|----------|
@@ -356,84 +242,45 @@ If scale later demands heavier infrastructure, add it later. Measure first.
356
242
  ## Privacy & Security
357
243
 
358
244
  - **Local-only server.** Binds to `127.0.0.1` — not accessible from your network.
359
- - **Folder-first workflow.** You start from a local document folder on your machine.
360
245
  - **No telemetry.** No analytics. No data collection. No phone-home.
361
246
  - **No account required.** No sign-up with us. Ever.
362
247
  - **Your API key stays local.** Stored in `~/.pi/agent/auth.json` on your machine.
363
248
  - **Open source.** Read every line of code. MIT license.
364
249
 
365
- When you ask the agent about your documents or workbook, the relevant content is sent to your chosen model provider as part of the prompt. This is the only external communication.
250
+ When you ask the agent about your documents, the relevant content is sent to your chosen model provider as part of the prompt. This is the only external communication.
366
251
 
367
252
  ---
368
253
 
369
- ## Troubleshooting
370
-
371
- ### Taskpane is blank or won't load in Excel
372
-
373
- **Most common first-run issue.** Usually means Excel doesn't trust the HTTPS certificate.
374
-
375
- 1. **Is the server running?** Check for `✅ Server running` in your terminal.
376
- 2. **Does it work in the browser?** Open https://localhost:3001/taskpane/
377
- - ✅ UI loads → server and cert are fine. Issue is Excel setup.
378
- - ❌ Browser warns about certificate → cert isn't trusted yet.
379
- 3. **Certificate not trusted?**
380
- ```bash
381
- npx office-addin-dev-certs install
382
- ```
383
- Then restart Excel.
384
- 4. **Browser works but not Excel?** Excel uses the OS trust store. Make sure the certificate authority is installed system-wide.
385
-
386
- ### Add-in doesn't appear in Excel
387
-
388
- 1. Is the server running?
389
- 2. Did you add the catalog path in Trust Center → Trusted Add-in Catalogs?
390
- 3. Did you check **Show in Menu**?
391
- 4. Did you restart Excel?
392
- 5. Look in **Insert → My Add-ins → SHARED FOLDER**
393
-
394
- ### Port 3001 is already in use
254
+ ## CLI Reference
395
255
 
396
- ```bash
397
- agentxl start --port 3002
256
+ ```text
257
+ agentxl start [--port 3001] [--verbose] Start the server
258
+ agentxl install [--open] Register add-in with Excel (one-time)
259
+ agentxl login Set up or change authentication
260
+ agentxl --version Print version
261
+ agentxl --help Show help
398
262
  ```
399
263
 
400
- > If you change the port, update `manifest/manifest.xml` to match.
264
+ ---
401
265
 
402
- ### Building the Windows installer
266
+ ## Troubleshooting
403
267
 
404
- From the repo root:
268
+ ### Taskpane is blank or won't load
405
269
 
406
- ```bash
407
- npm run prepare:installer:win
408
- ```
270
+ 1. **Is the server running?** Check for `✅ Server running` in your terminal.
271
+ 2. **Does it work in the browser?** Open https://localhost:3001/taskpane/
272
+ 3. **Certificate not trusted?** Run `agentxl install` again — it handles cert trust.
409
273
 
410
- This creates a **self-contained** installer payload in:
274
+ ### Add-in doesn't appear in Excel
411
275
 
412
- ```text
413
- release/windows/payload
414
- ```
276
+ Run `agentxl install` — it registers the manifest automatically. Then restart Excel.
415
277
 
416
- It includes:
417
- - the built app
418
- - production `node_modules`
419
- - a bundled Node.js runtime
278
+ If that doesn't work, use the manual shared folder catalog method (see [Alternative install methods](#alternative-install-methods)).
420
279
 
421
- To compile the `.exe` installer, install **Inno Setup 6** and run:
280
+ ### Port 3001 already in use
422
281
 
423
282
  ```bash
424
- npm run build:installer:win
425
- ```
426
-
427
- The compiled installer is written to:
428
-
429
- ```text
430
- release/windows/dist
431
- ```
432
-
433
- For a fuller release workflow, see:
434
-
435
- ```text
436
- docs/RELEASING.md
283
+ agentxl start --port 3002
437
284
  ```
438
285
 
439
286
  ### "No model available"
@@ -442,28 +289,13 @@ docs/RELEASING.md
442
289
  agentxl login
443
290
  ```
444
291
 
445
- ### Taskpane says "Waiting for credentials…"
446
-
447
- Run `agentxl login` in another terminal. The taskpane detects the change automatically.
448
-
449
- ### "Server disconnected — reconnecting…"
450
-
451
- Restart the server:
292
+ ### Building the Windows release
452
293
 
453
294
  ```bash
454
- agentxl start
295
+ npm run prepare:release:win
455
296
  ```
456
297
 
457
- ---
458
-
459
- ## CLI Reference
460
-
461
- ```text
462
- agentxl start [--port 3001] [--verbose] Start the server
463
- agentxl login Set up or change authentication
464
- agentxl --version Print version
465
- agentxl --help Show help
466
- ```
298
+ Creates a self-contained ZIP in `release/windows/dist/` — portable Node.js + app + launchers. GitHub Actions builds this automatically on tagged releases.
467
299
 
468
300
  ---
469
301
 
@@ -473,8 +305,6 @@ agentxl --help Show help
473
305
  - **Microsoft Excel** desktop (Windows or Mac)
474
306
  - **An AI provider** — subscription or API key
475
307
 
476
- > Excel for the web is not supported (Office add-in limitation).
477
-
478
308
  ---
479
309
 
480
310
  ## Development
@@ -484,35 +314,10 @@ git clone https://github.com/satish860/agentxl.git
484
314
  cd agentxl
485
315
  npm install
486
316
  npm run build
487
- npm test # 101 unit/integration tests
488
- npm run test:e2e # 12 end-to-end tests (Playwright)
317
+ npm test
489
318
  node bin/agentxl.js start
490
319
  ```
491
320
 
492
- ### Project Structure
493
-
494
- ```text
495
- bin/agentxl.js CLI entry point
496
- bin/agentxl-folder-picker.exe Native folder picker (Windows)
497
- src/server/index.ts HTTPS server + API endpoints
498
- src/server/certs.ts Certificate generation
499
- src/server/workbook-identity.ts Workbook identity resolution
500
- src/server/workbook-folder-store.ts Workbook → folder mapping (JSON)
501
- src/server/folder-scanner.ts Recursive file scanner + inventory
502
- src/server/folder-picker.ts Native/PowerShell folder picker
503
- src/agent/session.ts Pi SDK agent session (cwd-aware)
504
- src/agent/models.ts Model selection
505
- taskpane/src/app.tsx Taskpane UI orchestrator
506
- taskpane/src/hooks/ useAgentStatus, useChatStream,
507
- useWorkbookIdentity, useFolderLink
508
- taskpane/src/components/ WelcomeScreen, FolderLinkScreen,
509
- MessageBubble (tool call badges),
510
- ChatInput, ThinkingBlock
511
- taskpane/src/lib/ API client, stream handler, types
512
- manifest/manifest.xml Office add-in manifest
513
- tests/ 105 tests (unit + integration + e2e)
514
- ```
515
-
516
321
  ---
517
322
 
518
323
  ## Roadmap
@@ -526,24 +331,6 @@ tests/ 105 tests (unit + integration + e2e)
526
331
 
527
332
  ---
528
333
 
529
- ## Contributing
530
-
531
- Contributions welcome. MIT license.
532
-
533
- ```bash
534
- npm test # 101 tests should pass
535
- npm run test:e2e # 12 e2e tests should pass
536
- ```
537
-
538
- If you contribute, keep the philosophy simple:
539
-
540
- - fewer layers
541
- - grounded outputs
542
- - explicit traceability
543
- - evals before infrastructure
544
-
545
- ---
546
-
547
334
  ## License
548
335
 
549
336
  MIT — [DeltaXY](https://deltaxy.ai)