@cosmicstack/mercury-agent 1.1.7 → 1.1.11

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.
Files changed (145) hide show
  1. package/README.md +137 -3
  2. package/README.zh-CN.md +265 -140
  3. package/dist/index.js +13191 -4776
  4. package/dist/index.js.map +1 -1
  5. package/dist/web/static/vendor/geist/Geist-Italic[wght].woff2 +0 -0
  6. package/dist/web/static/vendor/geist/Geist-Variable.woff2 +0 -0
  7. package/dist/web/static/vendor/geist/GeistMono-Italic[wght].woff2 +0 -0
  8. package/dist/web/static/vendor/geist/GeistMono-Variable.woff2 +0 -0
  9. package/dist/web/static/vendor/graphology.min.js +2 -0
  10. package/dist/web/static/vendor/icons.svg +108 -0
  11. package/dist/web/static/vendor/sql-wasm.wasm +0 -0
  12. package/dist/web/ui/assets/Chat-DXSn2dY8.js +28 -0
  13. package/dist/web/ui/assets/Chat-DXSn2dY8.js.map +1 -0
  14. package/dist/web/ui/assets/Dashboard-1rlAqQ-Y.js +2 -0
  15. package/dist/web/ui/assets/Dashboard-1rlAqQ-Y.js.map +1 -0
  16. package/dist/web/ui/assets/Goals-CgSUAXLH.js +12 -0
  17. package/dist/web/ui/assets/Goals-CgSUAXLH.js.map +1 -0
  18. package/dist/web/ui/assets/Graph-DnlOWkay.js +7 -0
  19. package/dist/web/ui/assets/Graph-DnlOWkay.js.map +1 -0
  20. package/dist/web/ui/assets/Kanban-DRlNiNRF.js +45 -0
  21. package/dist/web/ui/assets/Kanban-DRlNiNRF.js.map +1 -0
  22. package/dist/web/ui/assets/Login-BP5524pC.js +2 -0
  23. package/dist/web/ui/assets/Login-BP5524pC.js.map +1 -0
  24. package/dist/web/ui/assets/MarkdownRenderer-B9KGVD0X.js +22 -0
  25. package/dist/web/ui/assets/MarkdownRenderer-B9KGVD0X.js.map +1 -0
  26. package/dist/web/ui/assets/Memory-BOQEY0H8.js +12 -0
  27. package/dist/web/ui/assets/Memory-BOQEY0H8.js.map +1 -0
  28. package/dist/web/ui/assets/Permissions-jbFH-toa.js +17 -0
  29. package/dist/web/ui/assets/Permissions-jbFH-toa.js.map +1 -0
  30. package/dist/web/ui/assets/PersonDetail-Ca8B9io8.js +2 -0
  31. package/dist/web/ui/assets/PersonDetail-Ca8B9io8.js.map +1 -0
  32. package/dist/web/ui/assets/Persons-epdmUeBM.js +2 -0
  33. package/dist/web/ui/assets/Persons-epdmUeBM.js.map +1 -0
  34. package/dist/web/ui/assets/Providers-Bm8sZNZo.js +7 -0
  35. package/dist/web/ui/assets/Providers-Bm8sZNZo.js.map +1 -0
  36. package/dist/web/ui/assets/Schedules-BZKhm9R7.js +17 -0
  37. package/dist/web/ui/assets/Schedules-BZKhm9R7.js.map +1 -0
  38. package/dist/web/ui/assets/Settings-Hii-5oku.js +12 -0
  39. package/dist/web/ui/assets/Settings-Hii-5oku.js.map +1 -0
  40. package/dist/web/ui/assets/Skills-BHJp2CgD.js +17 -0
  41. package/dist/web/ui/assets/Skills-BHJp2CgD.js.map +1 -0
  42. package/dist/web/ui/assets/Tasks-D36pqkro.js +7 -0
  43. package/dist/web/ui/assets/Tasks-D36pqkro.js.map +1 -0
  44. package/dist/web/ui/assets/Usage-CmjaYrsT.js +12 -0
  45. package/dist/web/ui/assets/Usage-CmjaYrsT.js.map +1 -0
  46. package/dist/web/ui/assets/Workspace-BYLf-wTJ.js +52 -0
  47. package/dist/web/ui/assets/Workspace-BYLf-wTJ.js.map +1 -0
  48. package/dist/web/ui/assets/activity-MOTqH8zM.js +7 -0
  49. package/dist/web/ui/assets/activity-MOTqH8zM.js.map +1 -0
  50. package/dist/web/ui/assets/alert-dialog-MbYSbZx5.js +7 -0
  51. package/dist/web/ui/assets/alert-dialog-MbYSbZx5.js.map +1 -0
  52. package/dist/web/ui/assets/arrow-left-CtqQsBC6.js +7 -0
  53. package/dist/web/ui/assets/arrow-left-CtqQsBC6.js.map +1 -0
  54. package/dist/web/ui/assets/avatar-BIYaY7pR.js +7 -0
  55. package/dist/web/ui/assets/avatar-BIYaY7pR.js.map +1 -0
  56. package/dist/web/ui/assets/badge-CUJiWF1y.js +2 -0
  57. package/dist/web/ui/assets/badge-CUJiWF1y.js.map +1 -0
  58. package/dist/web/ui/assets/button-CNasMlFE.js +2 -0
  59. package/dist/web/ui/assets/button-CNasMlFE.js.map +1 -0
  60. package/dist/web/ui/assets/card-BdsEOP7t.js +2 -0
  61. package/dist/web/ui/assets/card-BdsEOP7t.js.map +1 -0
  62. package/dist/web/ui/assets/chevron-down-CB9J_vvZ.js +12 -0
  63. package/dist/web/ui/assets/chevron-down-CB9J_vvZ.js.map +1 -0
  64. package/dist/web/ui/assets/circle-check-DvGSe1uZ.js +7 -0
  65. package/dist/web/ui/assets/circle-check-DvGSe1uZ.js.map +1 -0
  66. package/dist/web/ui/assets/circle-x-CyaGJ_BM.js +7 -0
  67. package/dist/web/ui/assets/circle-x-CyaGJ_BM.js.map +1 -0
  68. package/dist/web/ui/assets/collapsible-BU_K9n8f.js +2 -0
  69. package/dist/web/ui/assets/collapsible-BU_K9n8f.js.map +1 -0
  70. package/dist/web/ui/assets/dialog-Bd1rELXb.js +2 -0
  71. package/dist/web/ui/assets/dialog-Bd1rELXb.js.map +1 -0
  72. package/dist/web/ui/assets/download-C8RvlFqO.js +7 -0
  73. package/dist/web/ui/assets/download-C8RvlFqO.js.map +1 -0
  74. package/dist/web/ui/assets/eye-BJ0NucMz.js +7 -0
  75. package/dist/web/ui/assets/eye-BJ0NucMz.js.map +1 -0
  76. package/dist/web/ui/assets/file-text-BWWBuD_N.js +7 -0
  77. package/dist/web/ui/assets/file-text-BWWBuD_N.js.map +1 -0
  78. package/dist/web/ui/assets/folder-open-BwjemFy7.js +7 -0
  79. package/dist/web/ui/assets/folder-open-BwjemFy7.js.map +1 -0
  80. package/dist/web/ui/assets/git-branch-D9JVASpC.js +7 -0
  81. package/dist/web/ui/assets/git-branch-D9JVASpC.js.map +1 -0
  82. package/dist/web/ui/assets/index-C3YiF4qv.js +163 -0
  83. package/dist/web/ui/assets/index-C3YiF4qv.js.map +1 -0
  84. package/dist/web/ui/assets/index-CaqLZNof.js +2 -0
  85. package/dist/web/ui/assets/index-CaqLZNof.js.map +1 -0
  86. package/dist/web/ui/assets/index-CuhiuVab.css +1 -0
  87. package/dist/web/ui/assets/input-CH3dmo9r.js +2 -0
  88. package/dist/web/ui/assets/input-CH3dmo9r.js.map +1 -0
  89. package/dist/web/ui/assets/loader-circle-DbYKk0_Q.js +7 -0
  90. package/dist/web/ui/assets/loader-circle-DbYKk0_Q.js.map +1 -0
  91. package/dist/web/ui/assets/pencil-gNDEMhav.js +7 -0
  92. package/dist/web/ui/assets/pencil-gNDEMhav.js.map +1 -0
  93. package/dist/web/ui/assets/plus-7rbHkByr.js +7 -0
  94. package/dist/web/ui/assets/plus-7rbHkByr.js.map +1 -0
  95. package/dist/web/ui/assets/power-BS7gCDWs.js +12 -0
  96. package/dist/web/ui/assets/power-BS7gCDWs.js.map +1 -0
  97. package/dist/web/ui/assets/progress-ZzhsBV2v.js +2 -0
  98. package/dist/web/ui/assets/progress-ZzhsBV2v.js.map +1 -0
  99. package/dist/web/ui/assets/search-BZsbhO0B.js +7 -0
  100. package/dist/web/ui/assets/search-BZsbhO0B.js.map +1 -0
  101. package/dist/web/ui/assets/select-vRSgBrHz.js +2 -0
  102. package/dist/web/ui/assets/select-vRSgBrHz.js.map +1 -0
  103. package/dist/web/ui/assets/send-BkyTIUtJ.js +7 -0
  104. package/dist/web/ui/assets/send-BkyTIUtJ.js.map +1 -0
  105. package/dist/web/ui/assets/sparkles-DcP24GEL.js +7 -0
  106. package/dist/web/ui/assets/sparkles-DcP24GEL.js.map +1 -0
  107. package/dist/web/ui/assets/switch-LRN9wWy2.js +2 -0
  108. package/dist/web/ui/assets/switch-LRN9wWy2.js.map +1 -0
  109. package/dist/web/ui/assets/terminal-CWG62zdD.js +7 -0
  110. package/dist/web/ui/assets/terminal-CWG62zdD.js.map +1 -0
  111. package/dist/web/ui/assets/textarea-CXh3tmJ1.js +2 -0
  112. package/dist/web/ui/assets/textarea-CXh3tmJ1.js.map +1 -0
  113. package/dist/web/ui/assets/vendor-dnd-DRBSMxXo.js +6 -0
  114. package/dist/web/ui/assets/vendor-dnd-DRBSMxXo.js.map +1 -0
  115. package/dist/web/ui/assets/vendor-markdown-DwTbvico.js +30 -0
  116. package/dist/web/ui/assets/vendor-markdown-DwTbvico.js.map +1 -0
  117. package/dist/web/ui/assets/vendor-motion-Dwx3-JO5.js +18 -0
  118. package/dist/web/ui/assets/vendor-motion-Dwx3-JO5.js.map +1 -0
  119. package/dist/web/ui/assets/vendor-radix-3UdfCgs_.js +65 -0
  120. package/dist/web/ui/assets/vendor-radix-3UdfCgs_.js.map +1 -0
  121. package/dist/web/ui/assets/vendor-react-C7pctHW3.js +44 -0
  122. package/dist/web/ui/assets/vendor-react-C7pctHW3.js.map +1 -0
  123. package/dist/web/ui/assets/vendor-syntax-xZUI6Op9.js +17 -0
  124. package/dist/web/ui/assets/vendor-syntax-xZUI6Op9.js.map +1 -0
  125. package/dist/web/ui/assets/zap-BEfqVtvZ.js +7 -0
  126. package/dist/web/ui/assets/zap-BEfqVtvZ.js.map +1 -0
  127. package/dist/web/ui/favicon.svg +10 -0
  128. package/dist/web/ui/icons/icon-192.svg +10 -0
  129. package/dist/web/ui/icons/icon-512-maskable.svg +10 -0
  130. package/dist/web/ui/icons/icon-512.svg +10 -0
  131. package/dist/web/ui/index.html +24 -0
  132. package/dist/web/ui/logo-dark.png +0 -0
  133. package/dist/web/ui/logo-full-dark.png +0 -0
  134. package/dist/web/ui/logo-full-light.png +0 -0
  135. package/dist/web/ui/logo-light.png +0 -0
  136. package/dist/web/ui/manifest.webmanifest +1 -0
  137. package/dist/web/ui/registerSW.js +1 -0
  138. package/dist/web/ui/sw.js +11 -0
  139. package/package.json +17 -7
  140. package/src/web/static/vendor/geist/Geist-Italic[wght].woff2 +0 -0
  141. package/src/web/static/vendor/geist/Geist-Variable.woff2 +0 -0
  142. package/src/web/static/vendor/geist/GeistMono-Italic[wght].woff2 +0 -0
  143. package/src/web/static/vendor/geist/GeistMono-Variable.woff2 +0 -0
  144. package/src/web/static/vendor/graphology.min.js +2 -0
  145. package/src/web/static/vendor/icons.svg +108 -0
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  </p>
12
12
 
13
13
  <p align="center">
14
- Remembers what matters. Asks before it acts. Runs 24/7 from CLI or Telegram. 31 built-in tools, extensible skills, SQLite-backed Second Brain memory.
14
+ Remembers what matters. Asks before it acts. Runs 24/7 from CLI, Telegram, or Web. 31 built-in tools, Kanban boards, extensible skills, SQLite-backed Second Brain memory.
15
15
  </p>
16
16
 
17
17
  <p align="center">
@@ -21,7 +21,7 @@
21
21
  </p>
22
22
 
23
23
  <p align="center">
24
- <strong>🔖 Current Stable: v1.1.6</strong>
24
+ <strong>🔖 Current Stable: v1.1.9</strong>
25
25
  </p>
26
26
 
27
27
  <p align="center">
@@ -32,11 +32,25 @@
32
32
 
33
33
  ## Quick Start
34
34
 
35
+ **One-liner install (no Node.js required)** — downloads the latest standalone binary for your OS:
36
+
37
+ ```bash
38
+ # macOS / Linux
39
+ curl -fsSL https://mercuryagent.sh/install.sh | sh
40
+ ```
41
+
42
+ ```powershell
43
+ # Windows
44
+ irm https://mercuryagent.sh/install.ps1 | iex
45
+ ```
46
+
47
+ Or via npm if you already have Node.js 20+:
48
+
35
49
  ```bash
36
50
  npx @cosmicstack/mercury-agent
37
51
  ```
38
52
 
39
- Or install globally:
53
+ Or install the npm package globally:
40
54
 
41
55
  ```bash
42
56
  npm i -g @cosmicstack/mercury-agent
@@ -179,11 +193,79 @@ Type these during a conversation — they don't consume API tokens. Work on both
179
193
  | **Scheduler** | `schedule_task`, `list_scheduled_tasks`, `cancel_scheduled_task` |
180
194
  | **System** | `budget_status` |
181
195
 
196
+ ## Installing Skills
197
+
198
+ Mercury can pull community-contributed skills from the registry at
199
+ **[skills.mercuryagent.sh](https://skills.mercuryagent.sh)** (126+ skills, no auth required).
200
+
201
+ ```bash
202
+ mercury skills search prompt # search the registry
203
+ mercury skills browse ai-ml # browse by category
204
+ mercury skills view ai-ml/prompt-engineering # render SKILL.md in the terminal
205
+ mercury skills view ai-ml/prompt-engineering --web # open the registry page
206
+ mercury skills install ai-ml/prompt-engineering # install to ~/.mercury/skills/
207
+ mercury skills list # show installed skills
208
+ mercury skills update # refresh all installed skills
209
+ mercury skills remove ai-ml/prompt-engineering
210
+ mercury skills doctor # check install root + registry
211
+ ```
212
+
213
+ Installed skills land at `~/.mercury/skills/<category>/<slug>/SKILL.md` and are
214
+ picked up by the agent on the next boot — they're treated identically to
215
+ built-in skills.
216
+
217
+ > **Review before you ship.** Skills are community-contributed and unaudited.
218
+ > Run `mercury skills view <id>` before installing.
219
+
220
+ Overrides: `--registry <url>` (or `MERCURY_SKILLS_REGISTRY`) for self-hosted
221
+ registries, `MERCURY_SKILLS_INSTALL_ROOT` for an alternate install path,
222
+ `--json` for machine-readable output.
223
+
224
+ **Also installable from:**
225
+
226
+ - **Web dashboard** — `http://127.0.0.1:6174/skills` has a registry installer (paste `category/slug`) and a URL installer side by side.
227
+ - **Telegram** — `/skills`, `/skills search <q>`, `/skills view <id>`, `/skills install <id>` (admin-only). Every result includes the registry URL so you can review before installing.
228
+
229
+ See the [Skills reference](https://mercuryagent.sh/docs/reference/skills) for the full command surface, frontmatter spec, and API endpoints.
230
+
231
+ ## Web Dashboard
232
+
233
+ Mercury includes a built-in web UI at `http://127.0.0.1:6174`:
234
+
235
+ ```bash
236
+ mercury doctor # Enable web during setup
237
+ ```
238
+
239
+ Or set in `~/.mercury/mercury.yaml`:
240
+
241
+ ```yaml
242
+ web:
243
+ enabled: true
244
+ port: 6174
245
+ ```
246
+
247
+ Features: Chat with SSE streaming, Kanban boards, Second Brain visualization, Workspace IDE, provider/skill/permission/schedule management, usage tracking, dark/light theme.
248
+
249
+ Default credentials: `mercury` / `Mercury@123`. Binds to localhost only.
250
+
251
+ ## Kanban Boards
252
+
253
+ Persistent task boards with agent execution. Create boards, add cards, and let Mercury process them autonomously.
254
+
255
+ - **Cards** — title, description, status (todo/doing/done/blocked), priority, labels, comments, attachments, dependencies
256
+ - **Smart execution** — Mercury processes cards sequentially, updating status and leaving result comments
257
+ - **Cascade execution** — process dependent cards in dependency order
258
+ - **Token budget** — per-card token tracking with auto-pause when exhausted
259
+ - **Storage** — SQLite with per-board context, variables, and instructions
260
+
261
+ Access via Web Dashboard or API (`/api/boards/*`).
262
+
182
263
  ## Channels
183
264
 
184
265
  | Channel | Features |
185
266
  |---------|----------|
186
267
  | **CLI** | Ink TUI, startup permission mode picker, interactive permission prompts (arrow keys + Enter; Y/N/A shortcuts), progress views (balanced/detailed), real-time streaming |
268
+ | **Web** | React SPA dashboard, chat with SSE streaming, Kanban boards, Second Brain visualization, Workspace IDE, dark/light theme |
187
269
  | **Telegram** | HTML formatting, editable streaming messages, file uploads, typing indicators, multi-user access with admin/member roles |
188
270
 
189
271
  ### Workspace/Coding Shortcuts (CLI)
@@ -254,6 +336,7 @@ All runtime data lives in `~/.mercury/` — not in your project directory.
254
336
  | `~/.mercury/memory/second-brain/` | Structured memory database (SQLite + FTS5) |
255
337
  | `~/.mercury/daemon.pid` | Background process PID |
256
338
  | `~/.mercury/daemon.log` | Daemon mode logs |
339
+ | `~/.mercury/boards.db` | Kanban boards database (SQLite) |
257
340
 
258
341
  ## Provider Fallback
259
342
 
@@ -282,6 +365,57 @@ When a provider fails, Mercury automatically tries the next one. It remembers th
282
365
  - **Daemon manager** — Background spawn + PID file + watchdog crash recovery
283
366
  - **System services** — macOS LaunchAgent, Linux systemd, Windows Task Scheduler
284
367
 
368
+ ## Build From Source
369
+
370
+ You can build Mercury yourself from source — either the standard Node bundle (for `npm link` / local development) or a **standalone executable** that bundles the entire runtime, so end-users don't need Node.js installed at all.
371
+
372
+ ### Prerequisites
373
+
374
+ - **Node.js ≥ 20** (for the build toolchain)
375
+ - **[Bun](https://bun.sh) ≥ 1.3** (only required for standalone binaries; install with `curl -fsSL https://bun.sh/install | bash`)
376
+
377
+ ### Standard build (ESM bundle)
378
+
379
+ ```bash
380
+ git clone https://github.com/cosmicstack-labs/mercury-agent.git
381
+ cd mercury-agent
382
+ npm install
383
+ npm run build # builds dist/ via tsup + post-build (UI, static assets)
384
+ npm start # node dist/index.js
385
+ ```
386
+
387
+ ### Standalone executable (no Node.js required for end users)
388
+
389
+ Mercury can be compiled into a single self-contained binary using `bun build --compile`. The resulting file embeds the Bun runtime and the full Mercury bundle.
390
+
391
+ ```bash
392
+ npm run build:bin # host platform only
393
+ npm run build:bin:all # all 5 targets (macOS arm64/x64, Linux x64/arm64, Windows x64)
394
+ npm run build:bin:force # rebuild (overwrite existing binary for the same version)
395
+ npm run build:bin:all:force # rebuild all targets
396
+ ```
397
+
398
+ Output is **versioned** so older builds are never overwritten:
399
+
400
+ ```
401
+ release/
402
+ ├── latest → symlink to most-recent version
403
+ ├── v1.1.9/
404
+ │ ├── mercury-macos-arm64
405
+ │ ├── mercury-macos-x64
406
+ │ ├── mercury-linux-x64
407
+ │ ├── mercury-linux-arm64
408
+ │ ├── mercury-win-x64.exe
409
+ │ └── checksums.txt (SHA-256 for every binary)
410
+ └── v1.2.0/ …
411
+ ```
412
+
413
+ The version is read from `package.json` — bump it before building to produce a fresh folder. Re-running for the same version skips already-built targets unless `--force` is passed.
414
+
415
+ **Cross-compilation**: Bun produces binaries for every target from a single host. Native modules (`better-sqlite3`) can't cross-compile, but Mercury gracefully falls back to `sql.js` (pure JS + wasm) so the cross-compiled binaries still work end-to-end.
416
+
417
+ **macOS Gatekeeper**: unsigned binaries trigger a warning on first launch. For distribution, sign with `codesign --sign "Developer ID" release/v<version>/mercury-macos-arm64` and notarize.
418
+
285
419
  ## License
286
420
 
287
421
  MIT © [Cosmic Stack](https://github.com/cosmicstack-labs)