版本发布说明
本页由 NeoMind 官方 CHANGELOG 自动生成并随 wiki 部署同步,摘要保留英文原文。升级步骤见 安装与升级。
当前版本:NeoMind 1.2.3(2026-10-21)
on-demand event triggers, self-healing agent breakers, and narration-guard hardening
- Added — Error agents self-heal: real breaker threshold + backoff recovery probes — consecutive_failure_threshold is finally enforced. It existed in the editor and OperatorConfig for months while nothing compared it: ONE permanent-classified failure…
- Changed — event-trigger cooldown is per-agent (
event_cooldown_secs), 0 =… — The event-trigger path hard-coded a 60s cooldown between admitted runs of an agent, counted from admission — a fast agent (5–15s runs) idled most of every minute… - Fixed — chat/agent narration guard — A COMPLETE reply ending in a politeness closing ("随时告诉我,我来帮你一步步实现!") was misread by the narration-collapse guard as an unexecuted action promise — the pattern table…
- Fixed — same-class sweep (over-broad patterns, degenerate output, CJK byte… — Tool-call cleanup destroyed DATA answers: the fenced-array pattern stripped any ``json block containing "name" (a quoted device list [{id,name,online}] was deleted from…
- Fixed — same-class sweep, round 2 (frontend mirror, question-shaped asks) — The web UI's cleanToolCallJson carried a mirror of the backend's over-broad fenced-array pattern: it required only "name", so a device list quoted as a fenced JSON data…
- Fixed — self-review of the guard fixes (regressions the fix itself could… — The post-nudge restore was NOT scoped to the nudge round: if the nudged round recovered real tool calls and a LATER round ended degenerate ([]), the round-1 narration…
- Fixed — model-facing guard prompts were bilingual in one instruction — The narration nudge and the stated-intent mismatch directive each stated the whole instruction twice, once in Chinese and once in English. Small models drift into the…
- Changed — narration guard tuned (one retry, and never against the user's… — Nudge budget 3 → 1. The old budget came from a session where extra rounds didn't help, and a 2026-10-21 run reproduced that: three nudges, the model repeated the same…
- Added — turn guard ledger (C1, behaviour-preserving) — Every guard decision now flows through one pure decision table (streaming/guard.rs: should_nudge_narration, should_label_narration, should_inject_promise_directive) and…
- Fixed — eval harness (found while running the first guard-data batch) — Pre-flight contradicted the runtime: it always probed {endpoint}/v1/models, while the OpenAI-compatible runtime uses the instance endpoint AS-IS (the adapter appends…
- Changed — interactive chat keeps labels, not behavioural guards — StreamSafeguards.behavioral_guards (default false): the text chat path no longer runs the narration nudge, the list-only coercion, or explore recovery. A promise-shaped…
- Fixed — completeness note false-positive on a successful device control — device control <id> stop (exit 0) still produced "the requested action was NEVER executed": the ask classifies as disable/stop (no domain keyword — "pump-A" is not…
- Added — eval model-identity guard — run / regression now ask the server what it is actually serving (llama.cpp /props → model_path, else /models ids) and refuse to start when it does not match…
- Added — guard ablation switch (eval A/B) — NEOMIND_GUARD_MODE=off disables the five post-hoc action guards (narration nudge, narration label, promise directive, list-only coercion, incomplete-action note) so an…
- First guard-data batch (5 real zh cases, minicpm5-2b) — 3 hard-pass, 2 wedged at the 300s cap (both rule-creation cases; the model stayed in a tool loop).
- Known sharp edge (not changed this pass) — detect_json_tool_calls accepts any array with a string "name" field as a tool call, so a model reply that IS a JSON data array with name-bearing rows can be executed as…
历史版本
| 版本 | 发布日期 | 主题 |
|---|---|---|
| 1.2.2 | 2026-10-20 | round-based chat timeline, local vision companion, memory… |
| 1.2.1 | 2026-10-15 | live-Jetson hardening: rebuilt runtime, layered self-heal,… |
| 1.2.0 | 2026-10-10 | review-hardening wave, small-model guardrails, and the… |
| 1.1.2 | 2026-10-08 | audit fixes, live-tested chat resilience, cross-distro… |
| 1.1.1 | 2026-09-30 | the watermark transcript: chat hardened end to end |
| 1.1.0 | 2026-09-24 | the agent kernel: three execution shapes, one runtime, and… |
| 1.0.0 | 2026-09-20 | the architecture release: seven monoliths split,… |
| 0.9.24 | 2026-09-14 | — |
| 0.9.23 | 2026-09-09 | binary push frames + platform perf pass, long-task agent… |
| 0.9.22 | 2026-09-03 | dialogs rebuilt single-page, Data Explorer detail grows… |
| 0.9.21 | 2026-08-29 | security hardening, backups, observability, in-app server… |
| 0.9.20 | 2026-08-26 | agent capability, open model catalog, Jetson |
| 0.9.19 | 2026-08-21 | — |
| 0.9.18 | 2026-08-19 | — |
| 0.9.17 | 2026-08-16 | — |
| 0.9.16 | 2026-08-11 | — |
| 0.9.15 | 2026-08-04 | — |
| 0.9.14 | 2026-07-31 | — |
| 0.9.13 | 2026-07-30 | — |
| 0.9.12 | 2026-07-27 | — |
| 0.9.11 | 2026-07-22 | — |
| 0.9.10 | 2026-07-21 | — |
| 0.9.9 | 2026-07-17 | — |
| 0.9.8 | 2026-07-16 | — |
| 0.9.7 | 2026-07-15 | — |
| 0.9.6 | 2026-07-15 | — |
| 0.9.5 | 2026-07-13 | — |
| 0.9.4 | 2026-07-10 | — |
| 0.9.3 | 2026-07-09 | — |
| 0.9.2 | 2026-07-07 | — |
| 0.9.1 | 2026-07-06 | — |
| 0.8.25 | 2026-06-26 | — |
| 0.8.24 | 2026-06-26 | — |
| 0.8.23 | 2026-06-25 | — |
| 0.8.22 | 2026-06-23 | — |
| 0.8.21 | 2026-06-22 | — |
| 0.8.20 | 2026-06-22 | — |
| 0.8.19 | 2026-06-18 | — |
| 0.8.18 | 2026-06-17 | — |
| 0.8.17 | 2026-06-17 | — |
| 0.8.16 | 2026-06-16 | — |
| 0.8.15 | 2026-06-16 | — |
| 0.8.13 | 2026-06-14 | — |
| 0.8.12 | 2026-06-12 | — |
| 0.8.11 | 2026-06-11 | — |
| 0.8.10 | 2026-06-11 | — |
| 0.8.9 | 2026-06-10 | — |
| 0.8.8 | 2026-06-09 | — |
| 0.8.7 | 2026-06-08 | — |
> 完整历史与细节见 NeoMind CHANGELOG。