v0.5.1a2
新功能 | New Features
-
Rate-limit (TokenBucket): 双桶(RPM + TPM)限流器接入 LLMClient/agno_factory,避免有并发上限的模型套餐撞 429;默认 max_concurrent 30→4;OpenAI / DeepSeek / vLLM 三 provider 兼容;ADR-0001 写明 DIY 而非 litellm 的选型。Closes #31, #32. (PR #36)
-
TokenBucket dual-bucket (RPM + TPM) rate limiter wired through LLMClient/agno_factory to avoid 429s on metered provider plans; max_concurrent default 30→4; provider compat tested across OpenAI / DeepSeek / vLLM; ADR-0001 documents the DIY choice over litellm.
-
Team mode 重连身份保持: client 重连时把本地
team_client.json里的 client_id 一起 POST 给 /register,server 三级续用(claimed_client_id → (hostname, label) 指纹 → 新发 uuid),消除重连即换身份导致 canary/历史归属/staging 断链的漏洞。(PR #37) -
Team-mode reconnect now preserves identity: client POSTs its existing client_id on /register; server resolves via 3-tier priority (claimed → fingerprint → new uuid). Fixes the regression where reconnect silently dropped canary bucket / trajectory history / user-staging branches.
-
Cluster 政策修订 + 重试 + 去重 + 可观测性: 禁 silent drop(每个 atom 必 add_task_to_skill,含 ws=1);partial-fail 重试 3 次封顶;调 cluster_agent 前 atom-id 去重,已落地的 atom 不再重投 LLM;per-atom
atom → skill @ ws=N日志 + drop 走 WARNING + 总结行三个数。(PR #38) -
Cluster policy revision: forbids silent drop (every atom must add_task_to_skill, including ws=1); partial-fail retry up to 3; atom_id-level dedup before re-clustering; per-atom log + summary line.
-
通用 install copy + reverse_sync 框架:
install_dir加 install-meta +_is_link_or_junctionhelper(Windows 查FILE_ATTRIBUTE_REPARSE_POINT)+ auto_reset 钩子;reverse_sync_openclaw_dest泛化为reverse_sync_copy_dest;ngagent 改强制 copy + reverse_sync(Closes #34);openclaw junction-aware rmtree(Closes #35)。(PR #39) -
Generic copy + reverse_sync install framework: install_dir gains install-meta + _is_link_or_junction helper + auto_reset hook; reverse_sync_openclaw_dest generalized to reverse_sync_copy_dest; ngagent forced to copy mode + reverse_sync (Closes #34); openclaw junction-aware rmtree (Closes #35).
备注 | Note
CI release workflow 的 publish step 受限于 pypa/gh-action-pypi-publish@release/v1 的 OIDC 要求,本次仍走本地手动 build + twine 发版。后续 PR 会修 release.yml(加 id-token: write 权限 + PyPI Trusted Publisher 配置)。
The CI release workflow's publish step still fails due to OIDC requirements in pypa/gh-action-pypi-publish@release/v1; published manually via local build + twine. A follow-up PR will fix release.yml (add id-token: write permission + PyPI Trusted Publisher setup).