Commit Graph

213 Commits

Author SHA1 Message Date
Chummy
306cf16dc5
docs(ci): document workflow owner default allowlist 2026-02-24 16:03:01 +08:00
Chummy
d4849d333b
ci: enforce PR gate parity with push checks 2026-02-24 16:03:01 +08:00
aricredemption-ai
3b2009f15a
feat(lark): add mention_only group gating with bot open_id auto-discovery
(cherry picked from commit ef1f75640a)
2026-02-24 16:03:00 +08:00
Nguyen Minh Thai
77a3b39ff7
feat(tools): Use system default browser instead of hard-coded Brave Browser (#1453)
* ci(homebrew): prefer HOMEBREW_UPSTREAM_PR_TOKEN with fallback

* ci(homebrew): handle existing upstream remote and main base

* feat(tools): Use system default browser instead of hard-coded Brave Browser

---------

Co-authored-by: Will Sarg <12886992+willsarg@users.noreply.github.com>
2026-02-24 16:03:00 +08:00
Edvard Schøyen
15061f9605
feat(channels): add /new command to clear conversation history (#1417)
Adds a `/new` runtime chat command for Telegram and Discord that clears
the sender's conversation history without changing provider or model.
Useful for starting a fresh session when stale context causes issues.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:03:00 +08:00
argenis de la rosa
1a0e5547d7
fix(web): call doctor endpoint with authenticated POST 2026-02-24 16:02:59 +08:00
argenis de la rosa
50f537fa6a
docs(structure): add language-part-function navigation map 2026-02-24 16:02:59 +08:00
argenis de la rosa
f044237cc9
docs(macOS): add update and uninstall guide 2026-02-24 16:02:59 +08:00
Chummy
742aa0208f
fix(security): honor explicit command paths in allowed_commands 2026-02-24 16:02:59 +08:00
Tom Cr00se
aa45c30ed6
feat(release): add Android target support (armv7 + aarch64) (#1456)
- Add armv7-linux-androideabi target for 32-bit Android (API 21+)
- Add aarch64-linux-android target for 64-bit Android (API 21+)
- Add Android NDK setup step to release workflow
- Update verify-artifacts to expect Android binaries
- Add Android linker configs to .cargo/config.toml
- Add docs/android-setup.md installation guide

This enables ZeroClaw to run on Android devices via Termux or direct ADB installation.

Co-authored-by: Preventnetworkhacking <preventnetworkhacking@users.noreply.github.com>
2026-02-23 08:05:44 -05:00
Alex
10dd428de1
feat(providers): add Novita AI as OpenAI-compatible provider (#1496)
- Register Novita AI in provider factory with NOVITA_API_KEY env var
- Add to integrations registry with active/available status detection
- Configure onboarding wizard with default model and API endpoint
- Add to PR labeler provider keyword hints
- Update providers reference documentation

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-23 07:58:49 -05:00
Chummy
8db161a8e0 feat(channel): split lark and feishu providers 2026-02-22 14:10:34 +08:00
Will Sarg
44cac0755c
ci(release): add bot-owned Homebrew publish workflow (#1323) 2026-02-21 20:18:08 -05:00
Will Sarg
6195d1bb79
ci(policy): restrict main PR authors and target bot PRs to dev (#1310) 2026-02-21 17:00:45 -05:00
Will Sarg
19f7682e4d
fix(license): adopt rust-style dual-license layout for github detection (#1308) 2026-02-21 16:48:22 -05:00
Will Sarg
f44c93598f
chore(license): make apache primary while preserving dual-license (#1307) 2026-02-21 16:43:36 -05:00
Will Sarg
dbb2c80c1a
ci(workflow): adopt main/dev split with dev->main promotion gate (#1283)
* ci(docker): restrict image publish to v* tag pushes (#1280)

* ci(workflow): adopt dev->main promotion flow
2026-02-21 13:39:07 -05:00
Will Sarg
da32355ae9
ci(policy): restrict root license file edits to owners (#1273)
* ci(policy): restrict root license file edits to owners

* ci(vorpal): satisfy actionlint output redirection rule
2026-02-21 11:39:50 -05:00
Chummy
a36b1466ff feat(security): add otp and estop phase-1 foundation 2026-02-21 23:19:36 +08:00
Chummy
9098b379dd feat(skills): enforce static security audit for skill install/load 2026-02-21 22:54:55 +08:00
Will Sarg
fe52698cdc
ci(security): add manual vorpal reviewdog workflow (#1256) 2026-02-21 09:19:12 -05:00
Chummy
2556a7e202 fix(ci): run fast-build checks for workflow-only changes
Refs #1249
2026-02-21 21:58:35 +08:00
Chummy
f85e34010e fix(ci): harden fast build when cargo-slicer rustc-driver drifts
Refs #1249
2026-02-21 21:58:35 +08:00
Chummy
85f218eb0f feat(tools): add natural-language model routing config tool 2026-02-21 20:45:43 +08:00
Chummy
7c7facc8cd fix: use Vercel AI Gateway base URL for vercel provider 2026-02-21 19:39:25 +08:00
reidliu41
160e0954c5 feat(provider): add first-class SGLang provider 2026-02-21 19:16:51 +08:00
Yijun Yu
66ee7e31ac ci: enable MIR-precise analysis for 27% faster builds
Update ci-build-fast.yml to use MIR-precise mode, which reads actual
compiler MIR to build a ground-truth call graph. This stubs 1,060 mono
items (vs 799 with syn-based analysis), reducing fresh build wall time
by 27.2% on a 48-core server (vs 9.1% with syn alone).

Update docs with new benchmark table showing both modes.
2026-02-21 17:57:07 +08:00
Yijun Yu
c34187f7d9 ci: add accelerated release build via cargo-slicer
Add ci-build-fast.yml that runs a cargo-slicer-optimized release build
alongside the existing Build (Smoke) job. cargo-slicer stubs 2,059
unreachable library functions at the MIR level, skipping their LLVM
codegen. Benchmarks show -11.7% wall time on a 48-core server and
-28.6% on a Raspberry Pi 4; 2-vCPU CI runners should see ~25-30%.

The new job is non-blocking — it does not gate merges.
2026-02-21 17:57:07 +08:00
Yijun Yu
e7faf68a65 docs: add cargo-slicer build optimization guide
Add documentation for cargo-slicer, a RUSTC_WRAPPER that stubs
unreachable functions at the MIR level. Benchmarks show 11.7% faster
clean builds on a 48-core server and 28.6% faster on a Raspberry Pi 4.
2026-02-21 17:57:07 +08:00
Chummy
628654ebe5 fix: improve allowed_roots guidance for filesystem access 2026-02-21 17:33:11 +08:00
Chummy
ccd0de36aa fix(tools): honor wildcard allowed_domains for browser and http_request 2026-02-21 17:08:08 +08:00
Chummy
635e6278c4 feat(onboard): support provider-only updates for existing config 2026-02-21 17:07:58 +08:00
Chummy
61f98a8fd3 feat(observability): add runtime trace diagnostics and trace doctor query 2026-02-21 17:00:38 +08:00
Will Sarg
89bff25c6d
fix(gateway): switch default port to 42617 across runtime and docs (#1179)
* fix(gateway): switch default port to 42617 across runtime and docs

* docs(changelog): record 42617 default port migration

* chore(release): bump crate version to 0.1.1

* fix(build): sync Cargo.lock with v0.1.1 manifest
2026-02-21 02:28:56 -05:00
Chummy
2a291aec24 fix(slack): allow listening without explicit channel_id 2026-02-21 15:07:13 +08:00
Vernon Stinebaker
158999f8bc feat(provider): add Osaurus as first-class local provider
Add Osaurus (https://github.com/dinoki-ai/osaurus) as a named provider,
following the established LM Studio / vLLM pattern with
OpenAiCompatibleProvider and Bearer auth.

Osaurus is a unified AI edge runtime for macOS (Apple Silicon) that goes
beyond traditional local inference servers:
- Local MLX inference (Llama, Qwen, Gemma, GLM, Phi, Nemotron, etc.)
- Cloud provider proxying through a single endpoint
- Multi-API: OpenAI, Anthropic, Ollama, and Open Responses simultaneously
- Built-in MCP (Model Context Protocol) support for tool/context servers

Provider wiring:
- Provider ID: "osaurus", default endpoint: http://localhost:1337/v1
- API key defaults to "osaurus" but is fully optional (keyless access)
- Credential env var: OSAURUS_API_KEY
- Registered as local provider in list_providers()

Onboard wizard:
- Added to all 10 wizard functions (auth, models, endpoints, env vars)
- Curated model list: qwen3-30b-a3b, gemma-3n-e4b, phi-4-mini-reasoning
- Tier 4 local provider with interactive endpoint/key prompts

Tests:
- factory_osaurus, factory_osaurus_uses_default_key_when_none
- factory_osaurus_custom_url, resolve_provider_credential_osaurus_env
- resilient_fallback_includes_osaurus
- Added to factory_all_providers_create_successfully array

Documentation:
- providers-reference.md: table row + Osaurus Server Notes section
- README.md: Osaurus Server Endpoint section
2026-02-21 14:54:19 +08:00
agorevski
4df42d3b93 docs: improve i18n parity, contributor onboarding, and identity clarity
Address key findings from Docs & Contributor Alignment Audit 08:

- Add "First-Time Contributors" section to CONTRIBUTING.md with
  good-first-issue guidance, scope examples, and Track A pathway (#7)
- Add "runtime operating system" positioning statement to README.md
  and all localized root READMEs (en/fr/ja/ru/vi/zh-CN) (#11)
- Add good-first-issue link to README.md Contributing section (#7)
- Create localized SUMMARY files for fr, ja, ru, zh-CN to close
  unified TOC parity gap (#5)
- Remove stale docs/vi/SUMMARY.md orphan (renamed to SUMMARY.zh-CN.md)
- Expand docs/README.vi.md from minimal redirect shim to full docs hub
  navigation matching other locale hub structure (#4)
- Fix i18n-coverage.md: correct French coverage claim (hub-level only,
  not core refs), add Root README Completeness table, document
  collection index i18n deferral status (#1)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-20 22:08:36 -08:00
Kieran
11edda3ed6 feat(channel): add Nostr channel with NIP-04 and NIP-17 support
Adds a full NostrChannel implementation enabling ZeroClaw to send and
receive private messages over the Nostr protocol via user-configured
relay WebSocket connections.

Key design decisions:
- Implements the Channel trait in src/channels/nostr.rs; registered via
  the existing factory in channels/mod.rs
- Supports both NIP-04 (legacy encrypted DMs) and NIP-17 (gift-wrapped
  private messages); replies automatically mirror the sender's protocol
- Deny-by-default allowlist (allowed_pubkeys = [] denies all)
- Private key encrypted at rest via SecretStore (ChaCha20-Poly1305 AEAD)
  when secrets.encrypt = true (the default)
- nostr-sdk added with default-features = false and only nip04 + nip59
  features to minimise binary size impact
- health_check() returns true if any relay reports is_connected()

Wiring:
- New NostrConfig struct and optional field in ChannelsConfig
- has_supervised_channels() in daemon updated to include nostr
- Onboarding wizard extended with a dedicated Nostr step (key
  validation, relay selection, allowlist configuration)

Docs compliance:
- channels-reference.md: channel matrix, delivery modes table, allowlist
  field names, numbered config section (4.12), log keyword table (7.2),
  and log filter command all updated
- config-reference.md: [channels_config.nostr] sub-section with key
  table and security notes added
- network-deployment.md and README.md updated
- .github/pull_request_template.md: resolved stale conflict markers from
  chore/labeler-spacing-trusted-tier
2026-02-21 13:16:20 +08:00
reidliu41
da453581c9 feat(provider): add first-class vLLM provider flow
Add native vLLM provider support to ZeroClaw
- First-class `vllm` provider with local endpoint defaults (`http://localhost:8000/v1`)
- Optional `VLLM_API_KEY` support
- Onboarding wizard integration (tier menu, endpoint prompt, model discovery, keyless local usage)
- Updated provider/docs references and command documentation
2026-02-21 12:33:00 +08:00
Chummy
24796c8fad docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
heaveless
cd5b3e105f docs(channel): add Linq to documentation and feature matrix
Linq channel code was fully integrated but missing from documentation
surfaces. Add Linq to architecture tables, channels reference, and
config reference so users can discover and configure the channel.
2026-02-21 11:49:28 +08:00
mackenzieclark
43f7bfa418 fix(gemini): handle thinking model response parts correctly
Gemini thinking models (e.g. gemini-3-pro-preview) return response parts
with `thought: true` for internal reasoning and `thoughtSignature` for
opaque signatures. The previous extraction logic blindly took the first
part, which was the thinking part, returning reasoning text instead of the
actual answer.

- Add `thought` field to `ResponsePart` to detect reasoning parts
- Add `effective_text()` on `CandidateContent` to skip thinking/signature
  parts and extract only the real answer (falls back to thinking text if
  no non-thinking content is available)
- Make `Candidate.content` optional to guard against candidates with no
  content (e.g. safety-filtered responses)
- Add 7 focused tests covering thinking, non-thinking, fallback, empty,
  multi-part, signature-only, and internal API responses

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 11:48:45 +08:00
EC2 Default User
afd44103a0 docs(readme): add french localized docs entrypoints 2026-02-21 03:44:15 +08:00
pluginmd
188dc96320 docs(i18n): add Vietnamese translations for docs hub and key references
Create Vietnamese (.vi.md) translations for:
- docs/README.vi.md (docs hub)
- docs/commands-reference.vi.md
- docs/config-reference.vi.md
- docs/troubleshooting.vi.md
- docs/one-click-bootstrap.vi.md
- docs/getting-started/README.vi.md
- python/README.vi.md

Translation follows thuần Việt style: natural idiomatic Vietnamese,
technical terms/commands/paths kept in English.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:30:37 +08:00
Chummy
78358c53b3 fix(onboard): require explicit overwrite confirmation for existing config 2026-02-21 02:25:21 +08:00
Chummy
96aa1eae0b feat: reduce release binary size with opt-in heavy features 2026-02-21 02:23:59 +08:00
b4iterdev
13fedf9108 feat: add SELinux relabel and correct user namespace mapping for podman 2026-02-21 02:23:53 +08:00
b4iterdev
3e7d330f1d feat: add podman support 2026-02-21 02:23:53 +08:00
b4iterdev
9ed5847a14 feat: add remote docker image pull support 2026-02-21 02:23:53 +08:00
pluginmd
f73758c3dd docs(i18n): add Vietnamese links to all locale READMEs and docs navigation
Add Tiếng Việt entries to language selectors in zh-CN, ja, ru root
READMEs and docs hubs; update SUMMARY.md language entry section and
docs-inventory.md classification table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:23:51 +08:00
pluginmd
58ca515f9c style(docs/vi): polish Vietnamese translations for natural readability
- Convert all Title Case Vietnamese headings to sentence case
  (Vietnamese doesn't use Title Case)
- Replace calque translations with natural Vietnamese phrasing:
  "Bảo Mật Agnostic" → "Bảo mật không phụ thuộc nền tảng",
  "Bảo Mật Không Ma Sát" → "Bảo mật không gây cản trở",
  "tư thế bảo mật" → "tình trạng bảo mật",
  "kiềm chế ở cấp độ OS" → "cách ly cấp hệ điều hành"
- Standardize terminology: "rõ ràng" → "tường minh" for "explicit"
- Shorten verbose phrasing across navigation docs and references
- Make prose more direct and developer-friendly throughout

21 files touched, 168 lines changed (wording only, no structural changes)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:16:53 +08:00
pluginmd
a2bbf1913b fix(docs/vi): correct ~40 broken/misdirected relative links
- Fix 3 critical broken links: wrong path depth for README.vi.md and
  CONTRIBUTING.md references
- Fix category READMEs (reference/, operations/, security/, hardware/)
  linking to English docs instead of Vietnamese siblings
- Fix 6 security proposal files pointing to English config/runbook/
  troubleshooting instead of local siblings
- Fix content cross-links in channels-reference, network-deployment,
  hardware-peripherals-design, matrix-e2ee-guide, proxy-agent-playbook
- Fix pr-workflow, reviewer-playbook, zai-glm-setup pointing to English
  docs hub instead of Vietnamese README.md
- Standardize date format to ISO 8601 (2026-02-20) across all files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:16:53 +08:00
pluginmd
79cc1bd30b docs(vi): add comprehensive Vietnamese localization under docs/vi/
Full Vietnamese translation of all documentation using directory-per-locale
structure (docs/vi/) instead of flat suffixes. Covers 41 docs across all
categories: getting-started, reference, operations, security, hardware,
datasheets, contributing, and project. Also includes python/README.vi.md.

Translation conventions: natural idiomatic Vietnamese for prose; technical
terms, CLI commands, config keys, and code blocks kept in English.

Supersedes flat-suffix approach from #1092.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:16:53 +08:00
reidliu41
04640a963e feat(provider): add Doubao (Volcengine Ark) provider support 2026-02-21 00:52:43 +08:00
Chummy
63d002f22a fix(ollama): stabilize cloud routing and onboarding model selection 2026-02-21 00:22:31 +08:00
Chummy
e081010983 feat(skills): add configurable compact skills prompt injection 2026-02-21 00:00:51 +08:00
Chummy
6c32976075 fix(service): tighten OpenRC docs and stabilize root detection test 2026-02-20 23:30:55 +08:00
Jakub Buzuk
b2bf5531e4 feat(service): enable hands-off OpenRC installation on Alpine
Add automatic runtime-state migration to /etc/zeroclaw with secure ownership/permissions. Implement env-based config resolution for service startup, eliminating the need for manual --service-init flags in the happy path.
2026-02-20 23:30:55 +08:00
Jakub Buzuk
951076e026 feat(service): add --config-dir flag and improve OpenRC setup
- Add global --config-dir CLI flag that sets ZEROCLAW_CONFIG_DIR env
- Add ZEROCLAW_CONFIG_DIR override in config resolution (takes precedence)
- Update OpenRC script to use --config-dir and set env vars for config/workspace
- Prefer /usr/local/bin/zeroclaw for OpenRC executable
- Create /etc/zeroclaw/workspace directory with correct ownership on install
- Update docs to reflect --service-init flag order (service-level before subcommand)
2026-02-20 23:30:55 +08:00
Jakub Buzuk
f110f129e0 fix(service): set correct ownership for OpenRC log directory
- Add chown_to_zeroclaw() helper to change directory ownership
- Log directory /var/log/zeroclaw now owned by zeroclaw:zeroclaw
- Fix docs: config file should be owned by zeroclaw:zeroclaw
  (service runs as zeroclaw user, needs read access)

Fixes permission denied error when service tries to write logs.
2026-02-20 23:30:55 +08:00
Jakub Buzuk
87fa033517 feat(service): add OpenRC support for Alpine Linux
- Add InitSystem enum with auto-detection (systemd/OpenRC)
- Add --service-init CLI flag to override init system detection
- Generate OpenRC init script with security hardening:
  - Runs as zeroclaw:zeroclaw user
  - umask 027 for file permissions
  - Logs to /var/log/zeroclaw/
  - Depends on net and firewall
- Require root for OpenRC install with clear error message
- Warn if binary is in home directory
- Add OpenRC auto-restart support in channels module
- Document OpenRC setup in README and network-deployment.md

Non-goals:
- No changes to systemd behavior
- No user-level OpenRC services
- No other init systems (SysV, runit, s6)

Security: OpenRC install requires root, validates user, creates
directories with proper permissions
2026-02-20 23:30:55 +08:00
Chummy
572cde695a feat(channel): add native nextcloud talk webhook integration 2026-02-20 23:28:18 +08:00
Chummy
2d910e77a7 fix(security): enforce schedule cron and policy gates 2026-02-20 22:04:26 +08:00
Chummy
1f86727a2a feat(provider): add first-class llama.cpp provider flow 2026-02-20 20:16:26 +08:00
Chummy
9f194130f7 fix(lark): refresh expired tenant access token on code 99991663 2026-02-20 20:10:46 +08:00
Will Sarg
3e868902ab
fix(ci): sync release publishing with GHCR and add runbook (#1087) 2026-02-20 07:10:09 -05:00
Chummy
e6961e0eed feat(delegate): add safe agentic sub-agent tool loop 2026-02-20 19:55:49 +08:00
Chummy
f7b2f7a7d7 feat(agent): run independent tool calls concurrently in runtime loop 2026-02-20 19:36:42 +08:00
Chummy
5dbb909bc3 feat(cli): add stdout-safe shell completions command 2026-02-20 19:20:14 +08:00
Chummy
a2e9c0d1e1 fix(skills): make open-skills sync opt-in and configurable 2026-02-20 16:45:50 +08:00
Chummy
d0674c4b98 fix(channels): harden whatsapp web mode and document dual backend 2026-02-20 16:45:16 +08:00
Chummy
70f12e5df9 test(onboard): add regression coverage for quick setup model override 2026-02-20 16:22:03 +08:00
Chummy
e7ccb573fa fix(observability): prevent otel reactor panic in non-tokio contexts 2026-02-20 16:07:50 +08:00
Chummy
8cafeb02e8
fix(composio): request latest v3 tool versions by default (#1039) 2026-02-19 23:29:09 -05:00
Chummy
f274fd5757
fix(channel): prevent false timeout during multi-turn tool loops (#1037) 2026-02-19 23:28:05 -05:00
Chummy
178bb108da
fix(gemini): correct Gemini CLI OAuth cloudcode payload/response handling (#1040)
* fix(gemini): align OAuth cloudcode payload and response parsing

* docs(gemini): document OAuth vs API key endpoint behavior
2026-02-19 23:27:00 -05:00
Chummy
db2d9acd22
fix(skills): support SSH git remotes for skills install (#1035) 2026-02-19 23:25:47 -05:00
Chummy
f10bb998e0
fix(build): unblock low-resource installs and release binaries (#1041)
* fix(build): unblock low-resource installs and release binaries

* fix(ci): use supported intel macOS runner label
2026-02-19 23:24:43 -05:00
Chummy
740eb17d76 fix(channel): hot-apply runtime config updates for running channel service 2026-02-20 11:05:41 +08:00
Ken Simpson
e0ca73336a feat(bootstrap): add docker onboarding bootstrap mode 2026-02-20 10:20:18 +08:00
Alex Gorevski
3b471e74b7 docs: enhance getting-started, hardware, and project collection indexes
Adds onboarding decision tree to getting-started/README.md so users can
quickly identify the right setup command for their situation.

Adds hardware vision overview to hardware/README.md explaining the
Peripheral trait and supported board types.

Expands project/README.md with scope explanation describing the purpose
of project snapshots and how they relate to documentation maintenance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-19 13:04:11 -08:00
Alex Gorevski
229f826656
Merge pull request #969 from zeroclaw-labs/docs/homebrew-install-readme
docs(readme): add Homebrew install instructions
2026-02-19 12:50:41 -08:00
Alex Gorevski
753e90e0e7 docs(config): add missing config sections to config-reference.md
Add documentation for config schema sections that were undocumented:

- [cost] — daily/monthly spending limits and cost tracking
- [identity] — AIEOS / OpenClaw identity format
- [hardware] — hardware wizard config (STM32, serial, probe)
- [peripherals] — peripheral board configurations (STM32, RPi GPIO)
- [browser] — browser automation backend config
- [browser.computer_use] — computer-use sidecar endpoint config
- [http_request] — HTTP request tool config
- [agents.<name>] — delegate sub-agent configurations
- [query_classification] — automatic model hint routing

Also expanded existing sections:
- [agent] — added compact_context, max_history_messages, parallel_tools, tool_dispatcher
- [[model_routes]] — added field reference table
- [[embedding_routes]] — added field reference table

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-19 11:34:48 -08:00
Chummy
3733856093 Fix skill instruction/tool injection in system prompts 2026-02-20 02:16:41 +08:00
Nikolay Vyahhi
315985199b docs(readme): add Homebrew install instructions 2026-02-19 13:03:32 -05:00
Chummy
c5834b1077 fix(channel): normalize telegram history for MiniMax 2026-02-20 02:01:42 +08:00
Chummy
ef82c7dbcd fix(channels): interrupt in-flight telegram requests on newer sender messages 2026-02-20 01:54:07 +08:00
Chummy
14fb3fbcae fix(composio): resolve connected account refs after OAuth 2026-02-20 01:28:19 +08:00
Chummy
d714d3984e fix(memory): stop autosaving assistant summaries and filter legacy entries 2026-02-20 01:14:08 +08:00
Chummy
4c249c579f fix(composio): repair v3 execute path and enable alias 2026-02-20 00:07:28 +08:00
Chummy
05404c6e7a perf(build): gate Matrix channel for faster iteration 2026-02-19 21:29:53 +08:00
Chummy
dcd0bf641d feat: add multimodal image marker support with Ollama vision 2026-02-19 21:25:21 +08:00
Chummy
a5d7911923 feat(runtime): add reasoning toggle for ollama 2026-02-19 21:05:19 +08:00
Chummy
bca58acdcb feat(provider): add qwen-code oauth credential support 2026-02-19 20:54:20 +08:00
Chummy
572aa77c2a feat(memory): add embedding hint routes and upgrade guidance 2026-02-19 20:49:53 +08:00
Chummy
6eec888ff0 docs(config): document autonomy policy and quote-aware shell parsing 2026-02-19 19:03:20 +08:00
Chummy
a0098de28c fix(bedrock): normalize aws-bedrock alias and harden docs/tests 2026-02-19 19:01:45 +08:00
KevinZhao
0e4e0d590d feat(provider): add dedicated AWS Bedrock Converse API provider
Replace the non-functional OpenAI-compatible stub with a purpose-built
Bedrock provider that implements AWS SigV4 signing from first principles
using hmac/sha2/hex crates — no AWS SDK dependency.

Key capabilities:
- SigV4 authentication (AKSK + optional session token)
- Converse API with native tool calling support
- Prompt caching via cachePoint heuristics
- Proper URI encoding for model IDs containing colons
- Resilient response parsing with unknown block type fallback

Also updates:
- Factory wiring and credential resolution bypass for AKSK auth
- Onboard wizard with Bedrock-specific model selection and guidance
- Provider reference docs with auth, region, and model ID details

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:01:45 +08:00
Chummy
9f94ad6db4 fix(config): log resolved config path source at startup 2026-02-19 18:58:41 +08:00
Chummy
1bf5582c83 docs(provider): clarify credential resolution for fallback chains 2026-02-19 18:43:45 +08:00