Releases: longzhi/clawhive
Releases · longzhi/clawhive
v0.1.0-alpha.42
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.tomldidn't install those components. Now declared explicitly.
Full Changelog: v0.1.0-alpha.41...v0.1.0-alpha.42
v0.1.0-alpha.41
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 setupand the Web UI. - Skill management — install skills from GitHub shorthand (
user/repo) or a singleSKILL.mdfile; new/skill listand/skill removechat commands; install metadata (.metadata.json) recorded for futureskill 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-hocanyhowin 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
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
What's Changed
Prompt System
PromptModeenum (Full/Minimal/Scheduled/Heartbeat) — context files loaded per mode, reducing token waste- New
identity_parsermodule 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,statsCLI commands- Per-item dirty source processing to prevent queue blocking
CLI
auth reset-passwordcommand
- 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_hourdefault toNone
Full Changelog: v0.1.0-alpha.38...v0.1.0-alpha.39
v0.1.0-alpha.38
What's Changed
Memory System Rewrite
- Episode-first pipeline with memory lineage tracking and file audit
- Upgraded SQLite hybrid search (vector + FTS5)
- New
clawhive memoryCLI 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
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 sharingscheduled_task_retrieswith incomplete-thought and fabricated-response checks - Previously, if
should_retry_incomplete_scheduled_thoughtconsumed 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
- Empty-promise detection (
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
What's Changed
New: /model Command — Switch Agent Model at Runtime
- feat(core): extend
/modelslash command to acceptprovider/modelargument/model(no args) still shows current model info/model provider/modelvalidates 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
/modelcommand 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
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 setupinteractive 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
- Backend API endpoints for QR login flow (
Bug Fixes
- fix(memory): isolate search index by
agent_idto 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
What's Changed
- fix(scheduler): remap POSIX day-of-week values (0=Sun) to
croncrate 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/.envvariables into tool execution sandbox — no longer requires explicitsandbox.env_inheritdeclaration - fix(core): add configurable
max_iterationsper 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_phototosend_documentwhen Telegram returnsIMAGE_PROCESS_FAILED
Full Changelog: v0.1.0-alpha.33...v0.1.0-alpha.34
v0.1.0-alpha.33
What's Changed
- fix(core): increase default
max_response_tokensfrom 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_BYTESfrom 50KB to 20KB to prevent tool output from overwhelming context - fix(core): provide friendly error message when
stop_reason=lengthcauses empty reply - fix(schema): improve
ApprovalDisplayprogram extraction to skip shell variable assignments and subshells
Full Changelog: v0.1.0-alpha.32...v0.1.0-alpha.33