release: v0.5.0 - #110
Merged
Merged
Conversation
新增 design/knowledge-system-architecture.md 作为 AIMA 知识系统的长期架构 约束蓝图,与 PRD.md / ARCHITECTURE.md / MRD.md 同级。 确立三条根本原则:Edge 对 Prior 只读 / Overlay 是 Patch / 跨设备经 Central 中介。定义知识三层(Prior / Evidence / Decision)、Edge 六阶段 Pipeline、 Central Distillation Engine、AIMA Strategic Merge Patch 规则、6 条架构 Invariants、4 个 Promotion Gates、Edge ↔ Central 跨 repo 契约。 文档为架构约束蓝图,不含时间线与实施优先级,指导所有版本的知识 / Exploration / Central / Catalog / Resolver 相关开发。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrite README.md and README_zh.md to lead with the TCO-vs-performance
positioning: Ollama-level TCO with vLLM-level throughput, enabled by
putting an AI agent in the operator seat.
- Drop stale MCP tool counts; frame AIMA as an MCP server that plugs
into external agent runtimes (OpenClaw in production), alongside the
internal Explorer PDCA agent.
- Replace per-machine benchmark callouts with aggregate release-gate
numbers: 7 GPU/NPU vendors, 5 OS families, 16 UAT items, 1,200+
evidence files across 86 sub-folders, ~1,000 h on-silicon runtime.
- Rewrite Quick Start as a 5-step guided flow (download, hal detect,
init, onboarding wizard / deploy, OpenAI-compatible call) so new
users have a clear path from binary to first inference.
- Run humanizer/humanizer-zh over both versions to strip em-dash
cascades, bold emphasis, three-part parallelisms, meta labels
("The punchline.", "Why this matters for you.") and self-referential
constructions.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- add telemetry-free diagnostics export via MCP and CLI - move onboarding guardrails into catalog policy data - align MCP tool documentation with the current tool surface
- capture onboarding and diagnostics UAT artifacts for develop - document MCP remote parity and first-run smoke results
….patrol_config (#40) The Monitoring tab's save/load/reset paths called `agent.patrol_config` with a flat `{action:'get'|'set',...}` payload. That tool was consolidated into the single `patrol` tool (status/alerts/config/actions dispatch via action param, with config_action nested for get/set). The UI was never updated, so every monitoring field write returned `tool not found: agent.patrol_config` and the whole tab's save failed. Rewrite all 8 callTool sites in internal/ui/static/index.html to use `callTool('patrol', { action: 'config', config_action: 'get'|'set', ... })`. Field parsing on the GET response path is unchanged (server still returns the same PatrolConfig struct). Also drop the stale `agent.patrol_config` reference from the Config() doc comment in internal/agent/patrol.go. Verified against a live v0.3-dev build on gb10 (71): get/set/get round-trip through /api/v1/tools/patrol returns 200 and persists the new value. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Installer binary resolution prefers PATH over stale dist/ artifacts, onboarding init hint updated to new `aima onboarding init --tier` form. Served-model-name expansion and wizard viewport alignment mentioned in PR description were already landed via separate commits on develop.
…D395 iGPU (#42) Validated 2026-04-22 on AMD Ryzen AI MAX+ 395 + Radeon 8060S iGPU (gfx1151, RDNA3.5, 40 CU, 128GB LPDDR5X unified): - Short prompt (in=128, out=256, C=1): 76.4 tok/s decode, TTFT 291ms - Long context (in=25000, out=512, C=1): TTFT 43.5s, decode 43.5 tok/s - C=4 short aggregate peak: 122.6 tok/s (1.6x scaling) - Tuned config: -b 4096 -ub 512 -fa on, KV f16, --parallel 1, ctx 32768 iGPU decode matches AMD W7900D discrete workstation card (71-75 tok/s). Also rewrites the AMD395 comment block: ROCm/HIP llamacpp path blocked by Strix Halo kernel 6.8 + amdgpu-dkms 6.16.13 unified-memory HIP runtime bug (device-side page fault on tensor load), not fixable at application layer. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
- move Central server implementation out of the edge repo - load user and central catalog patches and make scenario.apply confirmable - remove engine-format hardcoding and refresh MCP docs/profile - add local and cjwx UAT evidence
Follow-up to #44. The new selection reason added by #44 had no translation in either locale, so routeSelectionLabel() fell back to the underscore-split key literal ("configured model unavailable local fallback"), breaking the EN/ZH consistency the other five reasons already have. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix(ui): stabilize deployed model list rendering
catalog(models): default AIBook Qwen variants to vllm-musa
fix(amd395): align Linux local model engines
…ine-lifecycle fix(engine): activate compatible native versions
…atform fix: allow local native engines on current platform
…fter-deploy fix: refresh agent state after deployment
feat: detect Houmo XH2A NPUs
feat: add DeepSeek V4 Flash dual-Spark deployment
…te VRAM
llama.cpp's default n_gpu_layers=999 ("offload every layer") assumes the
model fits in VRAM. On a discrete GPU with less VRAM than the model needs
(e.g. qwen3.5-9b on a 4GB RTX 2050) it forces an impossible allocation and
CUDA-OOMs at load, surfacing to users as a deployment that never becomes
ready.
Cap the engine-declared offload knob (offload_config_key) to CPU when a
discrete GPU can't hold the model's footprint, and warn with the numbers.
Unified-memory hosts (APU/GB10/Apple) share system RAM with the GPU, so
full offload is correct there and is left untouched. The knob is read from
catalog YAML, so no engine name or config key is hardcoded (INV-1/2).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A model pull streamed straight to disk with no free-space check. On a small disk a multi-GB GGUF could fill the filesystem past k3s's disk-pressure eviction threshold, tainting the node NoSchedule so the pod stayed Pending forever — surfacing only as "Timed out waiting for deployment to be ready". Guard the download: the moment its total size is known (reported by the existing downloader progress, before transfer for HF/ModelScope), abort if it won't fit while preserving a disk-pressure reserve (10% of the volume, 2 GiB floor), returning a clear, fatal, pre-transfer error instead of a disk-filling hang. Adds hal.DiskUsage for cross-platform free/total bytes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # README.md # README_zh.md # design/knowledge-yaml-generation-and-consumption-v0.4.md # internal/openclaw/config.go # internal/openclaw/sync_test.go # internal/proxy/sync.go
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release scope
Promote the current consolidated
v0.5development baseline to production asv0.5.0.This release includes all generally applicable capabilities and fixes audited from the active branches, while leaving model/device-specific experiments out unless they are already part of the validated shared baseline.
Highlights
v0.5.0changelog and corrected version-management documentationValidation
go test ./...go vet ./...go test -race ./...make release-assets(Windows amd64, macOS arm64, Linux amd64/arm64, desktop bundles, checksums)make first-run-smokemake amd395-build-testmake amd395-linux-build-testAll checks passed locally.