Skip to content

Releases: longzhi/clawhive

v0.1.0-alpha.42

20 Apr 04:18

Choose a tag to compare

What's Changed

Features

  • Bedrock API Key support — AWS Bedrock now accepts the simpler bearer-token API keys (AWS 2024-Q4 feature) as an alternative to traditional SigV4. Both CLI setup wizard and Web UI offer a toggle between API Key (default) and AWS Access Key modes.

Fixes

  • CI's fmt and clippy jobs were failing because the nightly toolchain pinned via rust-toolchain.toml didn't install those components. Now declared explicitly.

Full Changelog: v0.1.0-alpha.41...v0.1.0-alpha.42

v0.1.0-alpha.41

20 Apr 02:08

Choose a tag to compare

What's Changed

Features

  • Amazon Bedrock provider — Converse API support for Claude, Llama 3.1, Nova, Mistral, and Cohere. Both streaming (via hand-written AWS event-stream decoder) and non-streaming, with tool use. First-class option in clawhive setup and the Web UI.
  • Skill management — install skills from GitHub shorthand (user/repo) or a single SKILL.md file; new /skill list and /skill remove chat commands; install metadata (.metadata.json) recorded for future skill update.
  • Web search — multi-provider fallback with circuit breaker.
  • Memory — detect time-range keywords in queries for better recall.

Improvements

  • Typed errors at crate boundaries (AuthError, MemoryError, BusError, ProviderError) replace ad-hoc anyhow in public APIs.
  • Centralized command registry shared by all channel adapters (Discord, Telegram, web).

Fixes

  • Telegram: fix UTF-8 boundary panic when splitting long messages.
  • Discord: include subcommand name for no-arg skill commands.
  • Channel autocomplete now lists new skill commands.

Full Changelog: v0.1.0-alpha.40...v0.1.0-alpha.41

v0.1.0-alpha.40

04 Apr 04:09

Choose a tag to compare

What's Changed

Fixes

  • WhatsApp and iMessage channels no longer silently fail during setup wizard — validation and error feedback now work correctly

Full Changelog: v0.1.0-alpha.39...v0.1.0-alpha.40

v0.1.0-alpha.39

02 Apr 16:24

Choose a tag to compare

What's Changed

Prompt System

  • PromptMode enum (Full/Minimal/Scheduled/Heartbeat) — context files loaded per mode, reducing token waste
  • New identity_parser module for structured agent identity extraction

Memory

  • Per-session compaction mutex with 60s timeout
  • Patch retry before full consolidation fallback
  • Progressive disclosure with snippets and score breakdown in search results
  • memory audit, rebuild-index, stats CLI commands
  • Per-item dirty source processing to prevent queue blocking

CLI

  • auth reset-password command

WhatsApp

  • LID→phone retry (3s delay) before falling back to raw JID
  • Adapted to upstream media key type change (Vec<u8>[u8; 32])

Fixes

  • JSON fence stripping handles arbitrary language tags
  • Consolidation idle_minutes / daily_at_hour default to None

Full Changelog: v0.1.0-alpha.38...v0.1.0-alpha.39

v0.1.0-alpha.38

31 Mar 23:45

Choose a tag to compare

What's Changed

Memory System Rewrite

  • Episode-first pipeline with memory lineage tracking and file audit
  • Upgraded SQLite hybrid search (vector + FTS5)
  • New clawhive memory CLI commands

Approval Improvements

  • LLM-powered human-readable approval summaries across all channels
  • 10-minute approval timeout (prevents permanent session blocking)
  • WhatsApp & WeChat approval listeners with quick reply (yes/no/always <id>)

WhatsApp QR Pairing

  • QR pairing API + web console UI (Pair Device, status polling, Re-login)
  • Merged ~50 upstream whatsapp-rust fixes
  • LID-to-phone resolution for access policy matching

Fixes

  • Config change detection: channel changes now trigger reload correctly
  • Fix UTF-8 panic in shell_tool output truncation
  • Auto-create routing binding when adding connector
  • Update provider presets (gpt-5.3, gpt-5.4)

Full Changelog: v0.1.0-alpha.37...v0.1.0-alpha.38

v0.1.0-alpha.37

26 Mar 10:42

Choose a tag to compare

What's Changed

Fix: Agent Stalling on Long Tasks (Empty Promise Detection)

  • fix(core): decouple empty-promise retry budget from other nudge mechanisms
    • Empty-promise detection (detect_empty_promise_structural) now uses its own independent retry counter instead of sharing scheduled_task_retries with incomplete-thought and fabricated-response checks
    • Previously, if should_retry_incomplete_scheduled_thought consumed the shared retry budget, the structural empty-promise detector (colon-ending + short text + no tool_use) would be permanently bypassed, causing the agent to stall mid-task
    • Empty-promise retry cap raised from 1 to 2

Improvement: Proactive Context Compaction at 75%

  • fix(core): trigger context compaction at 75% of available tokens (was 100%)
    • Prevents the LLM from slowing down and losing focus as context approaches the limit
    • Memory flush threshold adjusted accordingly — now triggers before the 75% compaction threshold instead of at ~93%
    • With 128K context: compaction now at ~93K tokens (was ~124K), memory flush at ~85K tokens (was ~116K)

Full Changelog: v0.1.0-alpha.36...v0.1.0-alpha.37

v0.1.0-alpha.36

24 Mar 06:58

Choose a tag to compare

What's Changed

New: /model Command — Switch Agent Model at Runtime

  • feat(core): extend /model slash command to accept provider/model argument
    • /model (no args) still shows current model info
    • /model provider/model validates provider & model, persists to agent YAML, and hot-swaps in-memory config
    • Strict validation: provider must be configured, model must exist in presets (custom providers skip model check)
    • Error messages list available providers/models when validation fails
  • feat(channels): register /model command with parameter support in Discord, Telegram, and Web UI
    • Discord: interactive parameter input via slash command option
    • Telegram: updated bot command description with usage hint
    • Web: autocomplete shows [provider/model] argument

Improvements

  • feat(setup): include all preset models in provider YAML during clawhive setup (was only writing default model)
  • feat(setup): add Moonshot API region selection (China / International) during provider setup

Bug Fixes

  • fix(gateway): drop unrouted messages instead of falling back to default agent
  • fix(feishu): return proper card action ACK with toast for approval cards (fixes error 200340 on button click)
  • fix(web): hide slash command autocomplete dropdown when input exactly matches a command (was blocking Enter to send)

Full Changelog: v0.1.0-alpha.35...v0.1.0-alpha.36

v0.1.0-alpha.35

22 Mar 15:35

Choose a tag to compare

What's Changed

New: WeChat Channel via iLink Protocol

  • feat(channels): add WeChat personal account as a messaging channel via Tencent's official iLink Bot protocol
    • Long-polling message receiver (similar to Telegram Bot API)
    • Text + image support with AES-128-ECB encrypted CDN media
    • QR code login with session persistence (no re-scan on restart)
  • feat(cli): add WeChat to clawhive setup interactive wizard with terminal QR code scanning
  • feat(server,web): add WeChat to web console Channels page with in-browser QR code login
    • Backend API endpoints for QR login flow (/api/channels/weixin/qr-login, /api/channels/weixin/qr-status)
    • QR code rendered client-side via qrcode.react

Bug Fixes

  • fix(memory): isolate search index by agent_id to prevent cross-agent memory leakage — agents no longer see each other's sessions/memory in search results
  • fix(channels): use compact Dense1x2 QR renderer for WeChat terminal login (was too large to scan)
  • fix(channels): suppress tracing logs during interactive QR login flow
  • fix(server): report WeChat channel status correctly (no token credential check needed)
  • fix(web): handle WeChat in add-connector dialog without token field

Full Changelog: v0.1.0-alpha.34...v0.1.0-alpha.35

v0.1.0-alpha.34

22 Mar 10:31

Choose a tag to compare

What's Changed

  • fix(scheduler): remap POSIX day-of-week values (0=Sun) to cron crate convention (1=Sun) in 5-field cron expressions — fixes scheduled tasks firing on wrong days
  • fix(server): web console chat now routes to the explicitly selected agent instead of falling back to default routing
  • fix(core): auto-inject all ~/.clawhive/.env variables into tool execution sandbox — no longer requires explicit sandbox.env_inherit declaration
  • fix(core): add configurable max_iterations per agent (default 50, was hardcoded 25)
  • fix(provider): increase API request timeout from 60s to 180s for long-running agent tasks
  • fix(provider): rename "openai api error" to "api error" for provider-agnostic error messages
  • fix(channels): fallback from send_photo to send_document when Telegram returns IMAGE_PROCESS_FAILED

Full Changelog: v0.1.0-alpha.33...v0.1.0-alpha.34

v0.1.0-alpha.33

22 Mar 00:48

Choose a tag to compare

What's Changed

  • fix(core): increase default max_response_tokens from 2048 to 4096 for conversations, add per-agent YAML configuration
  • fix(core): increase conversation truncation retries from 1 to 2 with improved "summarize concisely" nudge
  • fix(core): reduce MAX_OUTPUT_BYTES from 50KB to 20KB to prevent tool output from overwhelming context
  • fix(core): provide friendly error message when stop_reason=length causes empty reply
  • fix(schema): improve ApprovalDisplay program extraction to skip shell variable assignments and subshells

Full Changelog: v0.1.0-alpha.32...v0.1.0-alpha.33