@hybridaione/hybridclaw 0.9.2 → 0.9.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/AGENTS.md +1 -0
- package/CHANGELOG.md +43 -1
- package/README.md +16 -8
- package/config.example.json +8 -0
- package/console/dist/assets/index-CWsi6Xzk.js +15 -0
- package/console/dist/assets/index-TCGsK-3Q.css +1 -0
- package/console/dist/index.html +2 -2
- package/container/dist/browser-tools.js.map +1 -1
- package/container/dist/index.js.map +1 -1
- package/container/dist/mcp/client-manager.js +6 -37
- package/container/dist/mcp/client-manager.js.map +1 -1
- package/container/dist/providers/local-openai-compat.js +6 -0
- package/container/dist/providers/local-openai-compat.js.map +1 -1
- package/container/dist/providers/router.js +3 -0
- package/container/dist/providers/router.js.map +1 -1
- package/container/dist/providers/shared.js +1 -0
- package/container/dist/providers/shared.js.map +1 -1
- package/container/dist/tools.js +42 -0
- package/container/dist/tools.js.map +1 -1
- package/container/dist/types.js.map +1 -1
- package/container/package-lock.json +2 -2
- package/container/package.json +1 -1
- package/container/shared/mcp-tool-namespaces.d.ts +5 -0
- package/container/shared/mcp-tool-namespaces.js +47 -0
- package/container/shared/model-names.js +1 -0
- package/container/shared/provider-context.js +1 -0
- package/container/src/browser-tools.ts +2 -0
- package/container/src/index.ts +2 -0
- package/container/src/mcp/client-manager.ts +9 -49
- package/container/src/providers/local-openai-compat.ts +5 -0
- package/container/src/providers/router.ts +3 -0
- package/container/src/providers/shared.ts +2 -0
- package/container/src/tools.ts +45 -0
- package/container/src/types.ts +2 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +3 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/conversation.d.ts.map +1 -1
- package/dist/agent/conversation.js +3 -1
- package/dist/agent/conversation.js.map +1 -1
- package/dist/agent/prompt-hooks.d.ts.map +1 -1
- package/dist/agent/prompt-hooks.js +44 -4
- package/dist/agent/prompt-hooks.js.map +1 -1
- package/dist/agent/tool-policy.d.ts +5 -0
- package/dist/agent/tool-policy.d.ts.map +1 -0
- package/dist/agent/tool-policy.js +11 -0
- package/dist/agent/tool-policy.js.map +1 -0
- package/dist/agent/tool-summary.d.ts +1 -0
- package/dist/agent/tool-summary.d.ts.map +1 -1
- package/dist/agent/tool-summary.js +3 -0
- package/dist/agent/tool-summary.js.map +1 -1
- package/dist/channels/discord/tool-actions.d.ts +3 -0
- package/dist/channels/discord/tool-actions.d.ts.map +1 -1
- package/dist/channels/discord/tool-actions.js.map +1 -1
- package/dist/channels/email/delivery.d.ts +3 -0
- package/dist/channels/email/delivery.d.ts.map +1 -1
- package/dist/channels/email/delivery.js +11 -3
- package/dist/channels/email/delivery.js.map +1 -1
- package/dist/channels/email/runtime.d.ts +10 -2
- package/dist/channels/email/runtime.d.ts.map +1 -1
- package/dist/channels/email/runtime.js +11 -5
- package/dist/channels/email/runtime.js.map +1 -1
- package/dist/channels/message/tool-actions.d.ts.map +1 -1
- package/dist/channels/message/tool-actions.js +34 -1
- package/dist/channels/message/tool-actions.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js +229 -41
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +45 -4
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/tool-command.d.ts +2 -0
- package/dist/cli/tool-command.d.ts.map +1 -0
- package/dist/cli/tool-command.js +39 -0
- package/dist/cli/tool-command.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -1
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +1 -0
- package/dist/command-registry.js.map +1 -1
- package/dist/config/config.d.ts +3 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +14 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/runtime-config.d.ts +27 -1
- package/dist/config/runtime-config.d.ts.map +1 -1
- package/dist/config/runtime-config.js +70 -5
- package/dist/config/runtime-config.js.map +1 -1
- package/dist/doctor/checks/config.d.ts.map +1 -1
- package/dist/doctor/checks/config.js +117 -3
- package/dist/doctor/checks/config.js.map +1 -1
- package/dist/doctor/checks/providers.d.ts.map +1 -1
- package/dist/doctor/checks/providers.js +20 -5
- package/dist/doctor/checks/providers.js.map +1 -1
- package/dist/doctor/checks/skills.d.ts.map +1 -1
- package/dist/doctor/checks/skills.js +58 -4
- package/dist/doctor/checks/skills.js.map +1 -1
- package/dist/doctor/provider-probes.d.ts +1 -0
- package/dist/doctor/provider-probes.d.ts.map +1 -1
- package/dist/doctor/provider-probes.js +33 -1
- package/dist/doctor/provider-probes.js.map +1 -1
- package/dist/doctor/utils.d.ts +3 -0
- package/dist/doctor/utils.d.ts.map +1 -1
- package/dist/doctor/utils.js +9 -0
- package/dist/doctor/utils.js.map +1 -1
- package/dist/gateway/gateway-http-server.d.ts.map +1 -1
- package/dist/gateway/gateway-http-server.js +73 -2
- package/dist/gateway/gateway-http-server.js.map +1 -1
- package/dist/gateway/gateway-service.d.ts +9 -3
- package/dist/gateway/gateway-service.d.ts.map +1 -1
- package/dist/gateway/gateway-service.js +147 -17
- package/dist/gateway/gateway-service.js.map +1 -1
- package/dist/gateway/gateway-session-status.d.ts +1 -0
- package/dist/gateway/gateway-session-status.d.ts.map +1 -1
- package/dist/gateway/gateway-session-status.js +12 -1
- package/dist/gateway/gateway-session-status.js.map +1 -1
- package/dist/gateway/gateway-types.d.ts +20 -0
- package/dist/gateway/gateway-types.d.ts.map +1 -1
- package/dist/gateway/gateway-types.js.map +1 -1
- package/dist/gateway/gateway.js +3 -2
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/infra/container-setup.d.ts +1 -1
- package/dist/infra/container-setup.d.ts.map +1 -1
- package/dist/infra/container-setup.js +49 -13
- package/dist/infra/container-setup.js.map +1 -1
- package/dist/memory/db.d.ts +8 -0
- package/dist/memory/db.d.ts.map +1 -1
- package/dist/memory/db.js +25 -0
- package/dist/memory/db.js.map +1 -1
- package/dist/memory/memory-consolidation.d.ts +6 -2
- package/dist/memory/memory-consolidation.d.ts.map +1 -1
- package/dist/memory/memory-consolidation.js +300 -8
- package/dist/memory/memory-consolidation.js.map +1 -1
- package/dist/memory/memory-service.d.ts +3 -2
- package/dist/memory/memory-service.d.ts.map +1 -1
- package/dist/memory/memory-service.js +5 -2
- package/dist/memory/memory-service.js.map +1 -1
- package/dist/onboarding.d.ts +1 -1
- package/dist/onboarding.d.ts.map +1 -1
- package/dist/onboarding.js +75 -4
- package/dist/onboarding.js.map +1 -1
- package/dist/providers/auxiliary.d.ts +1 -1
- package/dist/providers/auxiliary.d.ts.map +1 -1
- package/dist/providers/auxiliary.js +7 -0
- package/dist/providers/auxiliary.js.map +1 -1
- package/dist/providers/factory.d.ts.map +1 -1
- package/dist/providers/factory.js +3 -1
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/huggingface-discovery.d.ts +14 -0
- package/dist/providers/huggingface-discovery.d.ts.map +1 -0
- package/dist/providers/huggingface-discovery.js +133 -0
- package/dist/providers/huggingface-discovery.js.map +1 -0
- package/dist/providers/huggingface-utils.d.ts +5 -0
- package/dist/providers/huggingface-utils.d.ts.map +1 -0
- package/dist/providers/huggingface-utils.js +11 -0
- package/dist/providers/huggingface-utils.js.map +1 -0
- package/dist/providers/huggingface.d.ts +4 -0
- package/dist/providers/huggingface.d.ts.map +1 -0
- package/dist/providers/huggingface.js +32 -0
- package/dist/providers/huggingface.js.map +1 -0
- package/dist/providers/model-catalog.d.ts +4 -1
- package/dist/providers/model-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog.js +11 -3
- package/dist/providers/model-catalog.js.map +1 -1
- package/dist/providers/openrouter-utils.d.ts.map +1 -1
- package/dist/providers/openrouter-utils.js +3 -8
- package/dist/providers/openrouter-utils.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +2 -1
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/provider-api-key-utils.d.ts +4 -0
- package/dist/providers/provider-api-key-utils.d.ts.map +1 -0
- package/dist/providers/provider-api-key-utils.js +37 -0
- package/dist/providers/provider-api-key-utils.js.map +1 -0
- package/dist/providers/recommended-models.d.ts +2 -0
- package/dist/providers/recommended-models.d.ts.map +1 -0
- package/dist/providers/recommended-models.js +62 -0
- package/dist/providers/recommended-models.js.map +1 -0
- package/dist/providers/task-routing.d.ts.map +1 -1
- package/dist/providers/task-routing.js +9 -0
- package/dist/providers/task-routing.js.map +1 -1
- package/dist/providers/types.d.ts +2 -2
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/scheduler/scheduler.d.ts +1 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -1
- package/dist/scheduler/scheduler.js +45 -0
- package/dist/scheduler/scheduler.js.map +1 -1
- package/dist/security/runtime-secrets.d.ts +1 -1
- package/dist/security/runtime-secrets.d.ts.map +1 -1
- package/dist/security/runtime-secrets.js +16 -3
- package/dist/security/runtime-secrets.js.map +1 -1
- package/dist/skills/skills.d.ts.map +1 -1
- package/dist/skills/skills.js +207 -56
- package/dist/skills/skills.js.map +1 -1
- package/dist/tui-banner.d.ts.map +1 -1
- package/dist/tui-banner.js +2 -0
- package/dist/tui-banner.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +28 -8
- package/dist/tui.js.map +1 -1
- package/dist/types/models.d.ts +1 -1
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/models.js.map +1 -1
- package/docs/chat.html +178 -47
- package/docs/development/README.md +14 -15
- package/docs/development/getting-started/authentication.md +12 -2
- package/docs/development/internals/releasing.md +5 -0
- package/docs/development/internals/runtime.md +6 -3
- package/docs/development/reference/commands.md +4 -1
- package/docs/development/reference/diagnostics.md +4 -0
- package/docs/development/reference/faq.md +5 -2
- package/docs/development/reference/model-selection.md +3 -0
- package/docs/index.html +18 -18
- package/package.json +1 -1
- package/console/dist/assets/index-CK5IADUX.js +0 -13
- package/console/dist/assets/index-DUG2rueK.css +0 -1
package/AGENTS.md
CHANGED
|
@@ -219,6 +219,7 @@ npm run tui # tsx src/cli.ts tui
|
|
|
219
219
|
### Git Discipline
|
|
220
220
|
|
|
221
221
|
- Treat existing uncommitted changes as user work unless you created them.
|
|
222
|
+
- Run `npm run format` before creating commits that will be pushed to GitHub.
|
|
222
223
|
- Conventional Commits preferred: `feat:`, `fix:`, `test:`, `refactor:`,
|
|
223
224
|
`chore:`, `docs:`.
|
|
224
225
|
- Group related changes; avoid bundling unrelated refactors.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,48 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [Coming up]
|
|
4
|
+
|
|
5
|
+
## [0.9.3](https://github.com/HybridAIOne/hybridclaw/tree/v0.9.3)
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Hugging Face provider support**: Added `hybridclaw auth login|status|logout`
|
|
10
|
+
support for Hugging Face Inference providers, provider probing in `doctor`,
|
|
11
|
+
model-catalog discovery, and recommended-model handling for
|
|
12
|
+
`huggingface/...` model ids.
|
|
13
|
+
- **Admin jobs board and scheduler follow-ups**: Added a dedicated `Jobs`
|
|
14
|
+
page in the embedded admin console with richer scheduler metadata, kanban
|
|
15
|
+
views, and job movement/edit flows for proactive agent work.
|
|
16
|
+
- **Built-in tool toggles**: Added `hybridclaw tool list|enable|disable` so
|
|
17
|
+
operators can trim unused built-in prompt surfaces directly from runtime
|
|
18
|
+
config when `doctor` flags them.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **Container bootstrap and publish verification**: Installed packages now
|
|
23
|
+
prefer published runtime images while source checkouts build locally, and
|
|
24
|
+
the publish workflow verifies pushed GHCR tags before the job completes.
|
|
25
|
+
- **Skill metadata parsing cleanup**: Consolidated frontmatter traversal and
|
|
26
|
+
metadata grouping in the skill loader so HybridClaw prefers native
|
|
27
|
+
HybridClaw metadata while still handling OpenClaw-compatible skill manifests
|
|
28
|
+
more predictably.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- **Scheduled delivery and backlog retry reliability**: Tightened scheduler
|
|
33
|
+
follow-up handling, admin/API job state updates, backlog retries, and
|
|
34
|
+
channel/email delivery flows so queued jobs recover more predictably after
|
|
35
|
+
failures.
|
|
36
|
+
- **Router-provider credential normalization**: Shared API-key lookup and base
|
|
37
|
+
URL normalization across OpenRouter and Hugging Face so auth setup, runtime
|
|
38
|
+
credential resolution, and provider diagnostics behave more consistently.
|
|
39
|
+
- **Skill install/sync path stability**: Stabilized installed and synced skill
|
|
40
|
+
paths, prevented path collisions during sync, and deduplicated install specs
|
|
41
|
+
independent of key order so repeated skill installs are safer and more
|
|
42
|
+
consistent.
|
|
43
|
+
- **Malformed `requires` handling for skills**: HybridClaw now warns when a
|
|
44
|
+
skill declares malformed `requires` metadata instead of silently accepting
|
|
45
|
+
broken dependency declarations.
|
|
4
46
|
|
|
5
47
|
## [0.9.2](https://github.com/HybridAIOne/hybridclaw/tree/v0.9.2)
|
|
6
48
|
|
package/README.md
CHANGED
|
@@ -104,7 +104,7 @@ hybridclaw tui
|
|
|
104
104
|
|
|
105
105
|
# Embedded admin console
|
|
106
106
|
# open http://127.0.0.1:9090/admin
|
|
107
|
-
# Includes Dashboard, Gateway, Sessions, Bindings, Models, Scheduler, MCP, Audit, Skills, Plugins, Tools, and Config
|
|
107
|
+
# Includes Dashboard, Gateway, Sessions, Jobs, Bindings, Models, Scheduler, MCP, Audit, Skills, Plugins, Tools, and Config
|
|
108
108
|
# If WEB_API_TOKEN is unset, localhost access opens without a login prompt
|
|
109
109
|
# If WEB_API_TOKEN is set, /chat, /agents, and /admin all prompt for the same token
|
|
110
110
|
```
|
|
@@ -118,16 +118,19 @@ hybridclaw auth login hybridai --browser
|
|
|
118
118
|
hybridclaw auth login hybridai --base-url http://localhost:5000
|
|
119
119
|
hybridclaw auth login codex --import
|
|
120
120
|
hybridclaw auth login openrouter anthropic/claude-sonnet-4 --api-key sk-or-...
|
|
121
|
+
hybridclaw auth login huggingface meta-llama/Llama-3.1-8B-Instruct --api-key hf_...
|
|
121
122
|
hybridclaw auth login local ollama llama3.2
|
|
122
123
|
hybridclaw auth login msteams --app-id 00000000-0000-0000-0000-000000000000 --tenant-id 11111111-1111-1111-1111-111111111111 --app-password secret
|
|
123
124
|
hybridclaw auth status hybridai
|
|
124
125
|
hybridclaw auth status codex
|
|
125
126
|
hybridclaw auth status openrouter
|
|
127
|
+
hybridclaw auth status huggingface
|
|
126
128
|
hybridclaw auth status local
|
|
127
129
|
hybridclaw auth status msteams
|
|
128
130
|
hybridclaw auth logout hybridai
|
|
129
131
|
hybridclaw auth logout codex
|
|
130
132
|
hybridclaw auth logout openrouter
|
|
133
|
+
hybridclaw auth logout huggingface
|
|
131
134
|
hybridclaw auth logout local
|
|
132
135
|
hybridclaw auth logout msteams
|
|
133
136
|
hybridclaw auth whatsapp reset
|
|
@@ -145,14 +148,15 @@ hybridclaw local configure ollama llama3.2
|
|
|
145
148
|
- `hybridclaw auth login hybridai` auto-selects browser login on local GUI machines and a manual/headless API-key flow on SSH, CI, and container shells. `--import` copies the current `HYBRIDAI_API_KEY` from your shell into `~/.hybridclaw/credentials.json`, and `--base-url` updates `hybridai.baseUrl` before login.
|
|
146
149
|
- `hybridclaw auth login codex` auto-selects browser PKCE on local GUI machines and device code on headless or remote shells.
|
|
147
150
|
- `hybridclaw auth login openrouter` accepts `--api-key`, falls back to `OPENROUTER_API_KEY`, or prompts you to paste the key, then enables the provider and can set the global default model.
|
|
151
|
+
- `hybridclaw auth login huggingface` accepts `--api-key`, falls back to `HF_TOKEN`, or prompts you to paste the token, then enables the provider and can set the global default model.
|
|
148
152
|
- `hybridclaw auth login local` configures Ollama, LM Studio, or vLLM in `~/.hybridclaw/config.json`.
|
|
149
153
|
- `hybridclaw auth login msteams` enables Microsoft Teams, stores `MSTEAMS_APP_PASSWORD` in `~/.hybridclaw/credentials.json`, and can prompt for the app id, app password, and optional tenant id.
|
|
150
154
|
- `hybridclaw auth logout local` disables configured local backends and clears any saved vLLM API key.
|
|
151
155
|
- `hybridclaw auth logout msteams` clears the stored Teams app password and disables the Teams integration in config.
|
|
152
156
|
- `hybridclaw auth whatsapp reset` clears linked WhatsApp Web auth without starting a new pairing session.
|
|
153
|
-
- HybridAI, OpenRouter, Discord, email, and Teams secrets are stored in `~/.hybridclaw/credentials.json`. Codex OAuth credentials are stored separately in `~/.hybridclaw/codex-auth.json`.
|
|
157
|
+
- HybridAI, OpenRouter, Hugging Face, Discord, email, and Teams secrets are stored in `~/.hybridclaw/credentials.json`. Codex OAuth credentials are stored separately in `~/.hybridclaw/codex-auth.json`.
|
|
154
158
|
- Only one running HybridClaw process should own `~/.hybridclaw/credentials/whatsapp` at a time. If WhatsApp Web shows duplicate Chrome/Ubuntu linked devices or reconnect/auth drift starts, stop the extra process, run `hybridclaw auth whatsapp reset`, then pair again with `hybridclaw channels whatsapp setup`.
|
|
155
|
-
- Use `hybridclaw help`, `hybridclaw help auth`, `hybridclaw help openrouter`, or `hybridclaw help local` for CLI-specific reference output.
|
|
159
|
+
- Use `hybridclaw help`, `hybridclaw help auth`, `hybridclaw help openrouter`, `hybridclaw help huggingface`, or `hybridclaw help local` for CLI-specific reference output.
|
|
156
160
|
|
|
157
161
|
## Setting Up MS Teams
|
|
158
162
|
|
|
@@ -166,7 +170,7 @@ See [docs/msteams.md](./docs/msteams.md) for the full setup flow, including:
|
|
|
166
170
|
|
|
167
171
|
## Model Selection
|
|
168
172
|
|
|
169
|
-
Codex models use the `openai-codex/` prefix. OpenRouter models use the `openrouter/` prefix. The default shipped Codex model is `openai-codex/gpt-5-codex`.
|
|
173
|
+
Codex models use the `openai-codex/` prefix. OpenRouter models use the `openrouter/` prefix. Hugging Face router models use the `huggingface/` prefix. The default shipped Codex model is `openai-codex/gpt-5-codex`.
|
|
170
174
|
|
|
171
175
|
Examples:
|
|
172
176
|
|
|
@@ -176,18 +180,22 @@ Examples:
|
|
|
176
180
|
/model default openai-codex/gpt-5-codex
|
|
177
181
|
/model list openrouter
|
|
178
182
|
/model set openrouter/anthropic/claude-sonnet-4
|
|
183
|
+
/model list huggingface
|
|
184
|
+
/model set huggingface/meta-llama/Llama-3.1-8B-Instruct
|
|
179
185
|
/model clear
|
|
180
186
|
/agent model openrouter/anthropic/claude-sonnet-4
|
|
181
187
|
/model info
|
|
182
188
|
/model default openrouter/anthropic/claude-sonnet-4
|
|
183
189
|
```
|
|
184
190
|
|
|
185
|
-
- `hybridai.defaultModel` in `~/.hybridclaw/config.json` can point at a HybridAI model, an `openai-codex/...` model, an `openrouter/...` model, or a local backend model such as `ollama/...`.
|
|
191
|
+
- `hybridai.defaultModel` in `~/.hybridclaw/config.json` can point at a HybridAI model, an `openai-codex/...` model, an `openrouter/...` model, a `huggingface/...` model, or a local backend model such as `ollama/...`.
|
|
186
192
|
- `codex.models` in runtime config controls the allowed Codex model list shown in selectors and status output.
|
|
187
193
|
- `openrouter.models` in runtime config controls the allowed OpenRouter model list shown in selectors and status output.
|
|
194
|
+
- `huggingface.models` in runtime config controls the allowed Hugging Face model list shown in selectors and status output.
|
|
188
195
|
- HybridAI model lists are refreshed from the configured HybridAI base URL (`/models`, then `/v1/models` as a compatibility fallback), and discovered `context_length` values feed status and model-info output when the API exposes them.
|
|
189
196
|
- When the selected model starts with `openai-codex/`, HybridClaw resolves OAuth credentials through the Codex provider instead of `HYBRIDAI_API_KEY`.
|
|
190
197
|
- When the selected model starts with `openrouter/`, HybridClaw resolves credentials through `OPENROUTER_API_KEY`.
|
|
198
|
+
- When the selected model starts with `huggingface/`, HybridClaw resolves credentials through `HF_TOKEN`.
|
|
191
199
|
- `/model set <name>` is a session-only override.
|
|
192
200
|
- `/model clear` removes the session override and falls back to the current agent model or the global default.
|
|
193
201
|
- `/agent model <name>` sets the persistent model for the current session agent.
|
|
@@ -208,8 +216,8 @@ Runtime model:
|
|
|
208
216
|
- `hybridclaw gateway` and `hybridclaw tui` validate the container image at startup.
|
|
209
217
|
- `container.sandboxMode` defaults to `container`, but if HybridClaw is already running inside a container and the setting is not explicitly pinned, the gateway auto-switches to `host` to avoid Docker-in-Docker.
|
|
210
218
|
- Use `hybridclaw gateway start --sandbox=host` or `hybridclaw gateway restart --sandbox=host` to force host execution for a given launch.
|
|
211
|
-
- On first run, HybridClaw
|
|
212
|
-
- If
|
|
219
|
+
- On first run from an installed package, HybridClaw pulls a published container image automatically. In a source checkout, it builds the local container image instead.
|
|
220
|
+
- If Docker is unavailable, install Docker or switch to `container.sandboxMode=host`.
|
|
213
221
|
|
|
214
222
|
## Configuration
|
|
215
223
|
|
|
@@ -232,7 +240,7 @@ HybridClaw creates `~/.hybridclaw/config.json` on first run and hot-reloads most
|
|
|
232
240
|
- `media.audio` controls shared inbound audio transcription. By default it auto-detects local CLIs first (`sherpa-onnx-offline`, `whisper-cli`, `whisper`), then `gemini`, then provider keys (`openai`, `groq`, `deepgram`, `google`).
|
|
233
241
|
- `whisper-cli` auto-detect also needs a whisper.cpp model file. If the binary exists but HybridClaw still skips local transcription, set `WHISPER_CPP_MODEL` to a local `ggml-*.bin` model path.
|
|
234
242
|
- If no transcript backend is available, the container tries native model audio input before tool-use fallback for supported local providers. Today that fallback is enabled for `vllm` sessions and uses the original current-turn audio attachment.
|
|
235
|
-
- Keep runtime secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY`, `OPENROUTER_API_KEY`, `OPENAI_API_KEY`, `GROQ_API_KEY`, `DEEPGRAM_API_KEY`, `GEMINI_API_KEY`, `GOOGLE_API_KEY`, `DISCORD_TOKEN`, `EMAIL_PASSWORD`, `MSTEAMS_APP_PASSWORD`). Codex OAuth sessions are stored separately in `~/.hybridclaw/codex-auth.json`.
|
|
243
|
+
- Keep runtime secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY`, `OPENROUTER_API_KEY`, `HF_TOKEN`, `OPENAI_API_KEY`, `GROQ_API_KEY`, `DEEPGRAM_API_KEY`, `GEMINI_API_KEY`, `GOOGLE_API_KEY`, `DISCORD_TOKEN`, `EMAIL_PASSWORD`, `MSTEAMS_APP_PASSWORD`). Codex OAuth sessions are stored separately in `~/.hybridclaw/codex-auth.json`.
|
|
236
244
|
- Trust-model acceptance is stored in `~/.hybridclaw/config.json` under `security.*` and is required before runtime starts. In headless environments, set `HYBRIDCLAW_ACCEPT_TRUST=true` to persist acceptance automatically before credential checks run.
|
|
237
245
|
- See [TRUST_MODEL.md](./TRUST_MODEL.md) for onboarding acceptance policy and [SECURITY.md](./SECURITY.md) for technical security guidelines.
|
|
238
246
|
- For contributor workflow, see [CONTRIBUTING.md](./CONTRIBUTING.md). For deeper runtime, skills, release, voice/TTS, and maintainer reference docs, see [docs/development/README.md](./docs/development/README.md).
|
package/config.example.json
CHANGED
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
"email": []
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
+
"tools": {
|
|
20
|
+
"disabled": []
|
|
21
|
+
},
|
|
19
22
|
"adaptiveSkills": {
|
|
20
23
|
"enabled": false,
|
|
21
24
|
"observationEnabled": true,
|
|
@@ -170,6 +173,11 @@
|
|
|
170
173
|
"baseUrl": "https://openrouter.ai/api/v1",
|
|
171
174
|
"models": ["openrouter/anthropic/claude-sonnet-4"]
|
|
172
175
|
},
|
|
176
|
+
"huggingface": {
|
|
177
|
+
"enabled": false,
|
|
178
|
+
"baseUrl": "https://router.huggingface.co/v1",
|
|
179
|
+
"models": ["huggingface/meta-llama/Llama-3.1-8B-Instruct"]
|
|
180
|
+
},
|
|
173
181
|
"local": {
|
|
174
182
|
"backends": {
|
|
175
183
|
"ollama": {
|