@hybridaione/hybridclaw 0.10.0 → 0.11.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.
Files changed (136) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +79 -86
  3. package/console/dist/assets/index-DYNzA7tN.js +16 -0
  4. package/console/dist/assets/index-VlYB7ecI.css +1 -0
  5. package/console/dist/assets/{terminal-CTA4H1Ek.js → terminal-BhH2ER7g.js} +2 -2
  6. package/console/dist/index.html +6 -2
  7. package/console/package.json +3 -0
  8. package/container/dist/approval-policy.js +107 -37
  9. package/container/dist/approval-policy.js.map +1 -1
  10. package/container/dist/browser-tools.js +19 -4
  11. package/container/dist/browser-tools.js.map +1 -1
  12. package/container/dist/index.js +2 -0
  13. package/container/dist/index.js.map +1 -1
  14. package/container/package-lock.json +2 -2
  15. package/container/package.json +1 -1
  16. package/container/src/approval-policy.ts +136 -44
  17. package/container/src/browser-tools.ts +18 -4
  18. package/container/src/index.ts +2 -0
  19. package/container/src/types.ts +3 -0
  20. package/dist/agents/claw-archive.d.ts.map +1 -1
  21. package/dist/agents/claw-archive.js +9 -3
  22. package/dist/agents/claw-archive.js.map +1 -1
  23. package/dist/approval-commands.d.ts +6 -0
  24. package/dist/approval-commands.d.ts.map +1 -0
  25. package/dist/approval-commands.js +18 -0
  26. package/dist/approval-commands.js.map +1 -0
  27. package/dist/audit/audit-events.d.ts.map +1 -1
  28. package/dist/audit/audit-events.js +2 -0
  29. package/dist/audit/audit-events.js.map +1 -1
  30. package/dist/channels/discord/approval-buttons.d.ts.map +1 -1
  31. package/dist/channels/discord/approval-buttons.js +4 -1
  32. package/dist/channels/discord/approval-buttons.js.map +1 -1
  33. package/dist/cli/help.d.ts.map +1 -1
  34. package/dist/cli/help.js +2 -1
  35. package/dist/cli/help.js.map +1 -1
  36. package/dist/command-registry.d.ts.map +1 -1
  37. package/dist/command-registry.js +14 -0
  38. package/dist/command-registry.js.map +1 -1
  39. package/dist/config/runtime-config-revisions.d.ts.map +1 -1
  40. package/dist/config/runtime-config-revisions.js +54 -50
  41. package/dist/config/runtime-config-revisions.js.map +1 -1
  42. package/dist/gateway/admin-terminal-protocol.d.ts +3 -0
  43. package/dist/gateway/admin-terminal-protocol.d.ts.map +1 -1
  44. package/dist/gateway/admin-terminal.d.ts +2 -0
  45. package/dist/gateway/admin-terminal.d.ts.map +1 -1
  46. package/dist/gateway/admin-terminal.js +20 -0
  47. package/dist/gateway/admin-terminal.js.map +1 -1
  48. package/dist/gateway/approval-confirmation.d.ts.map +1 -1
  49. package/dist/gateway/approval-confirmation.js +6 -0
  50. package/dist/gateway/approval-confirmation.js.map +1 -1
  51. package/dist/gateway/chat-approval.d.ts.map +1 -1
  52. package/dist/gateway/chat-approval.js +7 -0
  53. package/dist/gateway/chat-approval.js.map +1 -1
  54. package/dist/gateway/gateway-http-server.d.ts +5 -1
  55. package/dist/gateway/gateway-http-server.d.ts.map +1 -1
  56. package/dist/gateway/gateway-http-server.js +122 -3
  57. package/dist/gateway/gateway-http-server.js.map +1 -1
  58. package/dist/gateway/gateway-service.d.ts.map +1 -1
  59. package/dist/gateway/gateway-service.js +314 -8
  60. package/dist/gateway/gateway-service.js.map +1 -1
  61. package/dist/gateway/gateway-types.d.ts +2 -1
  62. package/dist/gateway/gateway-types.d.ts.map +1 -1
  63. package/dist/gateway/gateway-types.js.map +1 -1
  64. package/dist/gateway/gateway.js +86 -15
  65. package/dist/gateway/gateway.js.map +1 -1
  66. package/dist/gateway/openai-compatible-request.d.ts +27 -0
  67. package/dist/gateway/openai-compatible-request.d.ts.map +1 -0
  68. package/dist/gateway/openai-compatible-request.js +414 -0
  69. package/dist/gateway/openai-compatible-request.js.map +1 -0
  70. package/dist/gateway/openai-compatible-response.d.ts +57 -0
  71. package/dist/gateway/openai-compatible-response.d.ts.map +1 -0
  72. package/dist/gateway/openai-compatible-response.js +141 -0
  73. package/dist/gateway/openai-compatible-response.js.map +1 -0
  74. package/dist/gateway/openai-compatible.d.ts +4 -0
  75. package/dist/gateway/openai-compatible.d.ts.map +1 -0
  76. package/dist/gateway/openai-compatible.js +193 -0
  77. package/dist/gateway/openai-compatible.js.map +1 -0
  78. package/dist/gateway/text-channel-commands.d.ts.map +1 -1
  79. package/dist/gateway/text-channel-commands.js +21 -7
  80. package/dist/gateway/text-channel-commands.js.map +1 -1
  81. package/dist/infra/container-runner.d.ts.map +1 -1
  82. package/dist/infra/container-runner.js +1 -0
  83. package/dist/infra/container-runner.js.map +1 -1
  84. package/dist/infra/container-setup.d.ts.map +1 -1
  85. package/dist/infra/container-setup.js +14 -5
  86. package/dist/infra/container-setup.js.map +1 -1
  87. package/dist/infra/host-runner.d.ts.map +1 -1
  88. package/dist/infra/host-runner.js +19 -0
  89. package/dist/infra/host-runner.js.map +1 -1
  90. package/dist/media/pdf-context.js +1 -1
  91. package/dist/media/pdf-context.js.map +1 -1
  92. package/dist/memory/db.d.ts.map +1 -1
  93. package/dist/memory/db.js +13 -3
  94. package/dist/memory/db.js.map +1 -1
  95. package/dist/skills/skills-import-hubs.d.ts.map +1 -1
  96. package/dist/skills/skills-import-hubs.js +71 -7
  97. package/dist/skills/skills-import-hubs.js.map +1 -1
  98. package/dist/tui-approval.d.ts +1 -0
  99. package/dist/tui-approval.d.ts.map +1 -1
  100. package/dist/tui-approval.js +2 -1
  101. package/dist/tui-approval.js.map +1 -1
  102. package/dist/tui-slash-command.d.ts.map +1 -1
  103. package/dist/tui-slash-command.js +7 -3
  104. package/dist/tui-slash-command.js.map +1 -1
  105. package/dist/tui-slash-menu.d.ts.map +1 -1
  106. package/dist/tui-slash-menu.js +15 -1
  107. package/dist/tui-slash-menu.js.map +1 -1
  108. package/dist/tui.d.ts.map +1 -1
  109. package/dist/tui.js +26 -7
  110. package/dist/tui.js.map +1 -1
  111. package/dist/types/execution.d.ts +3 -1
  112. package/dist/types/execution.d.ts.map +1 -1
  113. package/dist/update.d.ts.map +1 -1
  114. package/dist/update.js +2 -0
  115. package/dist/update.js.map +1 -1
  116. package/dist/utils/approval-text.d.ts +2 -0
  117. package/dist/utils/approval-text.d.ts.map +1 -0
  118. package/dist/utils/approval-text.js +13 -0
  119. package/dist/utils/approval-text.js.map +1 -0
  120. package/docs/404.html +1 -1
  121. package/docs/agents.html +4 -0
  122. package/docs/chat.html +871 -37
  123. package/docs/development/agents.md +1 -1
  124. package/docs/development/getting-started/README.md +2 -1
  125. package/docs/development/getting-started/channels.md +401 -0
  126. package/docs/development/getting-started/installation.md +2 -2
  127. package/docs/development/getting-started/quickstart.md +3 -0
  128. package/docs/development/reference/commands.md +8 -0
  129. package/docs/docs/index.html +1 -1
  130. package/docs/index.html +18 -18
  131. package/docs/msteams.md +1 -1
  132. package/docs/static/docs.js +12 -2
  133. package/package.json +10 -2
  134. package/console/dist/assets/index-BriItkGy.css +0 -1
  135. package/console/dist/assets/index-CW6-V7lC.js +0 -16
  136. package/docs/development/getting-started/msteams.md +0 -30
package/CHANGELOG.md CHANGED
@@ -2,6 +2,51 @@
2
2
 
3
3
  ## [Coming up]
4
4
 
5
+ ## [0.11.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.11.0)
6
+
7
+ ### Added
8
+
9
+ - **OpenAI-compatible gateway API**: Added loopback-scoped `/v1/models` and
10
+ `/v1/chat/completions` endpoints so local tools can talk to HybridClaw
11
+ through an OpenAI-compatible surface with streaming responses and usage
12
+ reporting.
13
+ - **Workspace approval allowlist controls**: Added a workspace-scoped approval
14
+ allowlist plus `/approve always` handling so operators can persist trusted
15
+ approvals more deliberately across chat, TUI, and gateway flows.
16
+ - **Dark-mode console and richer web controls**: Added console dark mode, a
17
+ reusable dropdown component, extracted icon set, and slash-command
18
+ suggestions in the web chat UI for faster local operator workflows.
19
+ - **Channel setup how-to documentation**: Added step-by-step channel setup
20
+ guides for Discord, email, WhatsApp, iMessage, and Microsoft Teams in the
21
+ maintainer docs.
22
+ - **Release publishing automation**: Added npm publish-on-release automation
23
+ and switched trusted publishing over to npm OIDC for release workflows.
24
+
25
+ ### Changed
26
+
27
+ - **Gateway lifecycle behavior**: Improved gateway start, restart, and
28
+ container replacement flow so runtime refreshes are cleaner, container swap
29
+ logging is less noisy, and packaged installs prefer public runtime image
30
+ pulls.
31
+ - **Approval and web chat UX**: Tightened approval wording, aliases, and
32
+ replay handling while improving mobile chat layout, approval interactions,
33
+ ordered-list rendering, and keyboard accessibility in the web surfaces.
34
+ - **ClawHub and operator docs surfaces**: Added `CLAWHUB_API_BASE_URL`
35
+ overrides for skill imports, refreshed docs and setup guidance, and aligned
36
+ console dark-theme styling with the public documentation shell.
37
+
38
+ ### Fixed
39
+
40
+ - **Gateway startup and update guidance**: Fixed startup diagnostics, provider
41
+ auth/model guidance, and post-update restart reminders so operators get more
42
+ accurate local recovery steps.
43
+ - **Browser and host runtime cleanup**: Fixed browser daemon shutdown handling
44
+ and host-browser runtime availability so cleanup failures are treated as
45
+ best-effort instead of breaking the session.
46
+ - **Runtime config and health edge cases**: Fixed config revision
47
+ synchronization, gateway health payload regressions, favicon fallbacks, and
48
+ skill import retries under HTTP 429/503 responses.
49
+
5
50
  ## [0.10.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.10.0)
6
51
 
7
52
  ### Added
package/README.md CHANGED
@@ -9,10 +9,73 @@
9
9
  [![Powered by HybridAI](https://img.shields.io/badge/powered%20by-HybridAI-blueviolet)](https://hybridai.one)
10
10
  [![Discord](https://img.shields.io/badge/Discord-join%20chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/jsVW4vJw27)
11
11
 
12
- <img width="540" height="511" alt="image" src="docs/hero.png" />
12
+ <img width="540" height="511" alt="HybridClaw - One AI brain across every channel" src="docs/hero.png" />
13
13
 
14
- Personal AI assistant for Discord, Microsoft Teams, iMessage, WhatsApp, email,
15
- web, and terminal, powered by [HybridAI](https://hybridai.one).
14
+ **One AI brain across every channel.**
15
+ Discord Teams WhatsApp → iMessage → Email → Web → Terminal.
16
+ Same memory, same skills, same intelligence — fully local, encrypted, and GDPR-compliant powered by [HybridAI](https://hybridai.one).
17
+
18
+ > “Finally an assistant that actually follows you everywhere — without having to explain everything again every time.”
19
+
20
+ ## 🚀 Quick Start (2 minutes)
21
+
22
+ ```bash
23
+ # 1. Global installation
24
+ npm install -g @hybridaione/hybridclaw
25
+
26
+ # 2. Onboarding (sets up LLM, channels, secrets, everything)
27
+ hybridclaw onboarding
28
+
29
+ # 3. Start using it
30
+ hybridclaw gateway # Start the backend
31
+ hybridclaw tui # Terminal interface (optional)
32
+ ```
33
+
34
+ After that open:
35
+
36
+ Web Chat: http://127.0.0.1:9090/chat
37
+ Admin Console: http://127.0.0.1:9090/admin
38
+ Agent Dashboard: http://127.0.0.1:9090/agents
39
+
40
+ Requirement: Node.js 22 (Docker recommended for sandbox)
41
+
42
+ Release notes live in [CHANGELOG.md](./CHANGELOG.md), and the browsable
43
+ operator and maintainer manual lives under
44
+ [docs/development/README.md](./docs/development/README.md).
45
+
46
+ ## Coming from OpenClaw or Hermes?
47
+
48
+ ```bash
49
+ # Migration in under 2 minutes — preview first
50
+ hybridclaw migrate openclaw --preview
51
+ hybridclaw migrate openclaw # real migration
52
+ ```
53
+
54
+ All skills, memory, config and secrets are transferred. Zero data loss.
55
+
56
+ ## See it in Action
57
+
58
+ Once the gateway is running, open HybridClaw locally:
59
+
60
+ - Web Chat: `http://127.0.0.1:9090/chat`
61
+ - Admin Console: `http://127.0.0.1:9090/admin`
62
+ - Agent Dashboard: `http://127.0.0.1:9090/agents`
63
+
64
+ ## Why HybridClaw instead of OpenClaw, Hermes Agent, LangChain, or n8n?
65
+
66
+ | Feature | HybridClaw | OpenClaw | Hermes Agent | LangChain | n8n |
67
+ | --- | --- | --- | --- | --- | --- |
68
+ | **One brain across channels** | ✅ Native (Discord, Teams, WhatsApp, iMessage, Email, Web, Terminal) | ✅ 20+ channels | ✅ 7 channels | ❌ Framework only | ⚠️ Via workflows (not native) |
69
+ | **Shared memory & context** | ✅ Persistent across all channels | ✅ Memory-wiki + embeddings | ✅ Self-improving + Honcho model | ✅ (you build it) | ✅ RAG / vector DBs |
70
+ | **Local LLM support** | ✅ Deep integration (Ollama, LM Studio, llama.cpp, vLLM) | ✅ Multiple providers | ✅ Ollama native | ✅ Excellent | ✅ Ollama + others |
71
+ | **Encrypted secrets + SecretRefs** | ✅ Full encrypted store + gateway injection | Partial | Partial | ❌ Manual | Partial |
72
+ | **GDPR / Enterprise-ready** | ✅ Audit trails, sandbox, approvals, config versioning | Limited | Limited | ❌ No | ✅ Strong (workflows) |
73
+ | **Portable `.claw` agent packages** | ✅ Snapshot + backup + install | ❌ | ❌ | ❌ | ❌ |
74
+ | **1-command migration** | ✅ From OpenClaw & Hermes | — | — | — | — |
75
+ | **Multiple UIs** | ✅ TUI + Web Chat + Admin Console + Agent Dashboard | ✅ TUI + WebChat + Control UI | ✅ Full TUI only | ❌ None | ✅ Visual workflow builder |
76
+ | **Self-improving / adaptive skills** | ✅ Adaptive skill loop + health | ✅ ClawHub skills | ✅ Strongest learning loop | ✅ (you code it) | ✅ Via AI nodes |
77
+ | **No-code workflow building** | ✅ CLI + skills + kanban | ⚠️ Skills + ClawHub | ⚠️ Skills Hub | ❌ Code-first | ✅ Best-in-class no-code |
78
+ | **Setup & onboarding** | ✅ `npm install -g` + `onboarding` (2 min) | ✅ Onboard CLI | ✅ One-line curl install | ❌ Requires coding | ✅ Visual + templates |
16
79
 
17
80
  HybridClaw keeps one assistant brain across team chat, inbox, browser, and
18
81
  document workflows with shared memory, approvals, scheduling, and bundled
@@ -45,25 +108,6 @@ config changes auditable and reversible.
45
108
  For turn-level debugging, gateway start/restart can also persist best-effort
46
109
  redacted prompts, responses, and tool payloads with `--log-requests`.
47
110
 
48
- ## Install from npm
49
-
50
- ```bash
51
- npm install -g @hybridaione/hybridclaw
52
- hybridclaw onboarding
53
- ```
54
-
55
- Prerequisites: Node.js 22. Docker is recommended when you want the default
56
- container sandbox. The published install bootstraps the packaged container
57
- runtime dependencies during `npm install -g`.
58
- The current release tag is
59
- [v0.10.0](https://github.com/HybridAIOne/hybridclaw/releases/tag/v0.10.0).
60
- This release adds encrypted runtime secrets, secret-backed authenticated API
61
- calls, OpenClaw and Hermes Agent migration commands, and expanded local-model
62
- setup with `llama.cpp` and local-only onboarding paths.
63
- Release notes live in [CHANGELOG.md](./CHANGELOG.md), and the browsable
64
- operator and maintainer manual lives under
65
- [docs/development/README.md](./docs/development/README.md).
66
-
67
111
  ## HybridAI Advantage
68
112
 
69
113
  - Security-focused foundation
@@ -82,55 +126,6 @@ operator and maintainer manual lives under
82
126
  - **Container** (Docker, ephemeral) — HybridAI API client, sandboxed tool executor, and preinstalled browser automation runtime with cursor-aware snapshots for JS-heavy custom UI
83
127
  - Communication via file-based IPC (input.json / output.json)
84
128
 
85
- ## Quick start
86
-
87
- ```bash
88
- # Install dependencies
89
- npm install
90
-
91
- # Run onboarding (also auto-runs on first `gateway`/`tui` start if required runtime setup is missing)
92
- hybridclaw onboarding
93
-
94
- # Onboarding flow:
95
- # 1) explicitly accept TRUST_MODEL.md (required)
96
- # 2) choose HybridAI auth or a local-only setup
97
- # 3) for HybridAI, create/login in the browser and paste the API key back into the CLI
98
- # 4) for local-only setups, skip remote auth and configure Ollama, LM Studio, llama.cpp, or vLLM
99
- # 5) choose the default bot/model and persist config + encrypted secrets under ~/.hybridclaw/
100
-
101
- # Start gateway backend (default)
102
- hybridclaw gateway
103
-
104
- # Or run gateway in foreground in this terminal
105
- hybridclaw gateway start --foreground
106
-
107
- # For stdio MCP servers that rely on host tools like `docker` or `npx`
108
- hybridclaw gateway start --foreground --sandbox=host
109
-
110
- # If msteams.enabled=true and MSTEAMS_APP_PASSWORD is configured, gateway auto-connects to Microsoft Teams.
111
- # If DISCORD_TOKEN is set, gateway auto-connects to Discord.
112
- # If imessage.enabled=true, gateway auto-connects to iMessage using the configured backend.
113
- # If email.enabled=true and EMAIL_PASSWORD is configured, gateway auto-connects to Email.
114
- # If linked WhatsApp auth exists, gateway auto-connects to WhatsApp.
115
-
116
- # Start terminal adapter (optional, in a second terminal)
117
- hybridclaw tui
118
-
119
- # Web chat UI (built into gateway)
120
- # open http://127.0.0.1:9090/chat
121
-
122
- # Agent and session dashboard
123
- # open http://127.0.0.1:9090/agents
124
-
125
- # Embedded admin console
126
- # open http://127.0.0.1:9090/admin
127
- # Browser terminal page
128
- # open http://127.0.0.1:9090/admin/terminal
129
- # Includes Dashboard, Terminal, Gateway, Sessions, Jobs, Bindings, Models, Scheduler, MCP, Audit, Skills, Plugins, Tools, and Config
130
- # If WEB_API_TOKEN is unset, localhost access opens without a login prompt
131
- # If WEB_API_TOKEN is set, /chat, /agents, and /admin all prompt for the same token
132
- ```
133
-
134
129
  ## Authentication
135
130
 
136
131
  HybridClaw uses a unified provider setup surface:
@@ -226,25 +221,23 @@ POST to https://staging.hybridai.one/api/v1/virtual-bots/survey with header X-AP
226
221
  SecretRefs like `{ "source": "store", "id": "IMESSAGE_PASSWORD" }` or
227
222
  `${ENV_VAR}` instead of plaintext config values.
228
223
 
229
- ## Setting Up MS Teams
230
-
231
- See [docs/msteams.md](./docs/msteams.md) for the full setup flow, including:
224
+ ## Setting Up Channels
232
225
 
233
- - Azure app registration and bot credentials
234
- - Azure Bot webhook and Teams channel configuration
235
- - `hybridclaw auth login msteams`
236
- - local tunnel setup
237
- - DM and channel smoke tests
226
+ See [docs/development/getting-started/channels.md](./docs/development/getting-started/channels.md)
227
+ for the setup commands and step-by-step flows for:
238
228
 
239
- ## Setting Up iMessage
229
+ - Discord
230
+ - Email
231
+ - WhatsApp
232
+ - iMessage
233
+ - Microsoft Teams
240
234
 
241
- See [docs/imessage.md](./docs/imessage.md) for the full setup flow, including:
235
+ For transport-specific deep dives:
242
236
 
243
- - local macOS mode with `imsg` and Messages `chat.db`
244
- - remote/cloud mode with BlueBubbles webhooks + REST sends
245
- - `imessage.*` config examples for both backends
246
- - `IMESSAGE_PASSWORD` secret handling for BlueBubbles
247
- - DM/group policy notes and smoke-test steps
237
+ - [docs/imessage.md](./docs/imessage.md) covers local macOS and BlueBubbles
238
+ remote setup in detail
239
+ - [docs/msteams.md](./docs/msteams.md) covers the Azure app, bot resource, and
240
+ webhook registration flow
248
241
 
249
242
  ## Model Selection
250
243