Releases: ongridio/ongrid
Ongrid v0.8.7
Install
Ubuntu 22.04+, Debian 12+, RHEL/Rocky 9 are supported.
AMD64
wget https://github.com/ongridio/ongrid/releases/download/v0.8.7/ongrid-v0.8.7-linux-amd64.tar.xz
tar -xf ongrid-v0.8.7-linux-amd64.tar.xz && cd ongrid-v0.8.7-linux-amd64 && sudo ./install.shARM64
wget https://github.com/ongridio/ongrid/releases/download/v0.8.7/ongrid-v0.8.7-linux-arm64.tar.xz
tar -xf ongrid-v0.8.7-linux-arm64.tar.xz && cd ongrid-v0.8.7-linux-arm64 && sudo ./install.shWhat's Changed
- docs(readme): update install commands to v0.8.6 by @youzi-1122 in #113
- feat(web): 知识库/技能/助理 支持查看与编辑详情 by @kylexlau in #109
- feat(alerts): add natural language alert rule drafts by @youzi-1122 in #116
- fix(store): resolve soft delete unique conflicts by @youzi-1122 in #123
- chore(release): bump version to v0.8.7 by @youzi-1122 in #124
New Contributors
Full Changelog: v0.8.6...v0.8.7
Ongrid v0.8.6
Install
Ubuntu 22.04+, Debian 12+, RHEL/Rocky 9 are supported.
AMD64
wget https://github.com/ongridio/ongrid/releases/download/v0.8.6/ongrid-v0.8.6-linux-amd64.tar.xz
tar -xf ongrid-v0.8.6-linux-amd64.tar.xz && cd ongrid-v0.8.6-linux-amd64 && sudo ./install.shARM64
wget https://github.com/ongridio/ongrid/releases/download/v0.8.6/ongrid-v0.8.6-linux-arm64.tar.xz
tar -xf ongrid-v0.8.6-linux-arm64.tar.xz && cd ongrid-v0.8.6-linux-arm64 && sudo ./install.shWhat's Changed
- docs(readme): update install examples to v0.8.5 by @youzi-1122 in #104
- fix databasemetrics secret lifecycle by @youzi-1122 in #110
- feat(system): add web upgrade check by @youzi-1122 in #93
- chore: bump version to v0.8.6 by @youzi-1122 in #111
- fix(web): preserve plugin drafts during refresh by @youzi-1122 in #112
Full Changelog: v0.8.5...v0.8.6
Ongrid v0.8.5
Install
Ubuntu 22.04+, Debian 12+, RHEL/Rocky 9 are supported.
AMD64
wget https://github.com/ongridio/ongrid/releases/download/v0.8.5/ongrid-v0.8.5-linux-amd64.tar.xz
tar -xf ongrid-v0.8.5-linux-amd64.tar.xz && cd ongrid-v0.8.5-linux-amd64 && sudo ./install.shARM64
wget https://github.com/ongridio/ongrid/releases/download/v0.8.5/ongrid-v0.8.5-linux-arm64.tar.xz
tar -xf ongrid-v0.8.5-linux-arm64.tar.xz && cd ongrid-v0.8.5-linux-arm64 && sudo ./install.shWhat's Changed
- feat(release): support arm64 server packages by @youzi-1122 in #80
- fix(release): harden package release workflow by @youzi-1122 in #81
- docs(release): update v0.8.4 release docs by @youzi-1122 in #82
- docs(readme): drop docker compose install until stable by @singchia in #85
- docs(agents): add 前端 UI conventions to AGENTS.md by @singchia in #84
- docs(readme): add star history chart by @youzi-1122 in #87
- feat(ui): show app version in sidebar by @youzi-1122 in #89
- docs(readme): 适配 star history 深色主题 by @youzi-1122 in #90
- fix(rca): use default LLM model for automatic analysis by @youzi-1122 in #92
- security: harden JWT boot check, auth cache, goroutine leak, and timing attacks by @Qiuser in #97
- fix(device): key host fingerprint on hardware (MAC|CPU|disk), not HostID/hostname by @singchia in #99
- fix(frontierbound): stop device_id label falling back to edge_id by @singchia in #98
- feat(metrics): complete database metric subplugin collection by @youzi-1122 in #101
- chore(release): bump version to v0.8.5 by @youzi-1122 in #102
- fix(metrics): harden scrape health and database analysis by @youzi-1122 in #103
New Contributors
Full Changelog: v0.8.4...v0.8.5
Ongrid v0.8.4
Install (Ubuntu 22.04+/Debian 12+/RHEL/Rocky 9):
AMD64:
wget https://github.com/ongridio/ongrid/releases/download/v0.8.4/ongrid-v0.8.4-linux-amd64.tar.xz
tar -xf ongrid-v0.8.4-linux-amd64.tar.xz && cd ongrid-v0.8.4-linux-amd64 && sudo ./install.shARM64:
wget https://github.com/ongridio/ongrid/releases/download/v0.8.4/ongrid-v0.8.4-linux-arm64.tar.xz
tar -xf ongrid-v0.8.4-linux-arm64.tar.xz && cd ongrid-v0.8.4-linux-arm64 && sudo ./install.shOngrid v0.8.3
UI polish: Health page (compact layout, indigo accents, de-emphasized OK status), Traces light-mode color fix, report schedules grid, Home hero spacing. Platform health check (Settings -> Health, admin-only). Edge deployment guide + Telegram/Slack community badges. ssh.service log-filter fix.
Install (Ubuntu 22.04+/Debian 12+/RHEL/Rocky 9):
wget https://github.com/ongridio/ongrid/releases/download/v0.8.3/ongrid-v0.8.3-linux-amd64.tar.xz
tar -xf ongrid-v0.8.3-linux-amd64.tar.xz && cd ongrid-v0.8.3-linux-amd64 && sudo ./install.sh
Ongrid v0.8.2 — report list typography polish
Ongrid v0.8.2 — report list typography polish
Builds on v0.8.1. The report list now reads calm and consistent with the
other list pages:
- The summary/headline is the report's primary name (descriptive,
distinct per report) instead of the date dominating the row. - Period leads as its own column; Kind / Status / Generated
each get a dedicated column. - Period + summary use the skills-table description scale (text-xs, soft
grey) — no more bright/oversized text.
Includes all v0.8.0/v0.8.1 content (Scheduled Reports, chat tool-id root
fix, report i18n).
Ongrid v0.8.1 — report list UI polish
Ongrid v0.8.1 — report list UI polish
Builds on v0.8.0 (Scheduled Reports + chat tool-id root fix + report i18n).
- Report list adopts the skills/tools table form for cross-product UI
consistency: the Report column is now a two-line cell (period date
in bold + kind label as a grey sub-line) instead of a single cramped
"kind · date" string; Status is a localized coloured pill.
All v0.8.0 fixes included (report i18n: title / narrative / markdown all
follow the requester's UI locale).
Ongrid v0.8.0 — Scheduled Reports + chat tool-id root fix
Ongrid v0.8.0 — Scheduled Reports (HLD-014) + chat tool-id root fix
报告中心(新功能)
- 定时/手动生成的运维报告:日报 / 周报 / 月报 + 自定义 cron,时区感知调度器。
- 报告正文四个彩色主题行:集群态势(CPU/内存/磁盘 周期均值+峰值,来自 Prometheus)/ 告警与处理 / 知识资产新增(助理/技能/仓库)/ 使用情况(会话数 + LLM token)。中间夹 LLM 叙事说明。
- 反幻觉:所有数字由 SQL/Prometheus 预先算好,LLM 只写叙事 + 建议,事后用事实覆写。
- 列表为设备页同款表格;详情 Apple 风扁平卡片;导出 PDF(白底彩色,window.print 隔离);分享链接;飞书/Slack 等渠道投递。
- 列表筛选(状态/类型)+ 分页。
聊天历史完整性 — 根本修复
- 修复并行工具乱序完成导致的 DeepSeek 400「tool must follow tool_calls」:持久化层改为直接读 eino 的权威
compose.GetToolCallID(ctx),不再用完成顺序去猜call_XXid;从源头消除合成 id 孤儿消息。 - 防御加固:FIFO 改按工具名全队列匹配;回放丢弃未配对的孤儿 tool 行(修复已被污染的历史会话)。
完整变更见仓库提交历史。
Ongrid v0.7.179 — chat history integrity (4 layers) + LLM timeout unification
Highlights
Eight changes since v0.7.176. Five of them harden the chat-completion path against eino ToolsNode's parallel persistence drops + the dirty histories DeepSeek-strict providers refuse to replay. One unifies LLM timeouts across every call site. Two clean up the curl-pipe edge uninstaller. And the roadmap doc lands open-core.
Chat persistence + replay (4 fixes)
- #50 —
AI 助查 · PromQLreturnedHTTP 502immediately on every translate.queryTranslateTimeoutwas hard-coded at 6 s, tuned for a Haiku-class default; DeepSeek v4-flash averages 5–8 s for short JSON output and tripped the wall. Bump to 20 s; also surface plain-text response bodies intoApiError.messageso the UI no longer drops the actionable detail. - #51 — every LLM call site had its own timeout (6 / 20 / 30 / 60 s), all tuned for Haiku. Unified to 120 s across
pkg/llm/client.go::defaultTimeout,query_translate.go::queryTranslateTimeout,alert/investigator::SummarizerTimeout, andaiops/investigator::defaultLLMTimeout. DB / tool / probe / monitor-sync timeouts deliberately untouched. - #52 — on .91 session
b528bfb0-..., an assistant emitted 4 parallelhost_bashtool_calls but only 2 of 4 role=tool rows landed inchat_messages. Replay then sent an envelope DeepSeek rejected with 400insufficient tool messages following tool_calls. The error classifier ALSO mis-categorised this as "余额不足/限流" because of a bareinsufficientsubstring match — operator chased provider config while the actual bug was history corruption. Two fixes: (a) replay precheck — before emitting an assistant with hydratedToolCalls, everycall_idmust have a hoistablerole=toolrow, or the whole turn is dropped; (b) classifier tightened (insufficient_quota,insufficient balance,credit balance is too low, etc.) + a distinct case for the protocol error that tells the user truthfully: this session's history is poisoned, open a new one. - #53 — Layer 2 of the integrity fix:
PersistenceHandlernow tracks the per-assistant tool batch, marks eachtool_call_idseen inpersistToolEnd, and at the nextChatModel.OnStart(and onchatruntimedefer for browser-close cases) writes a stubrole=toolrow for every missingcall_id. Stub body honestly says{"error":"tool response was not persisted ...","autoheal":true}. Addsongrid_chat_tool_response_loss_total{outcome,tool_name}counter + info-level traces on every callback firing so the underlying eino bug becomes observable instead of being discoverable only via user-reportedHTTP 400. Tests cover the 4-of-4 / 2-of-4 / sequential-batches / no-batch / finalize-idempotent cases.
Operations
- #46 / #47 — edge curl-pipe uninstaller (
https://<server>/uninstall.sh) printed[OK]while every agent process kept running. Two issues: (1) onlynode_exporter+process_exportergotrm -f'd, leavingpromtail+ plugin work dir orphaned; (2) theif systemctl list-unit-files | grep -q ...precondition silently skipped on hosts where formatting confused the anchored grep. Fix: wholesalerm -rfof/usr/local/lib/ongrid-edge+/var/lib/ongrid-edge; stop units unconditionally +pkill -9 -f /usr/local/{bin,lib}/ongrid-edgeas a belt-and-suspenders.
Docs
- #48 / #49 —
ROADMAP.md+ROADMAP.zh-CN.mdland at the open-core root with nested-bullet structure, A–L sections, status legend◯ □ ◐ ✓. Sections A (root-cause RCA), B–G (value chain + ops), H (sandbox), I (security/compliance), J (ecosystem), K (SOP), L (periodic agent jobs).
Upgrade
wget https://github.com/ongridio/ongrid/releases/download/v0.7.179/ongrid-v0.7.179-linux-amd64.tar.xz
tar -xJf ongrid-v0.7.179-linux-amd64.tar.xz
cd ongrid-v0.7.179-linux-amd64
bash upgrade.shIn-place; no schema migration. Edge agents pick up #46/#47 on their next bundle-upgrade heartbeat (ADR-024).
Checksums
59f7cb572bb514f3373de5b4dfb8af433610df4044247391a4f6964047e16052 ongrid-v0.7.179-linux-amd64.tar.xz
Ongrid v0.7.176 — DeepSeek replay + sub-agent routing + conntrack metrics
Highlights
Seven fixes since v0.7.169 — five of them resolve chat-stream HTTP 400 failures we tripped in production after rolling DeepSeek v4. The remaining two clear up UI auto-scroll and an upstream node_exporter gap on modern kernels.
chat replay + LLM routing (5 fixes)
DeepSeek v4 enforces the OpenAI tool-call protocol strictly: every assistant message with tool_calls MUST be followed by tool responses pairing each tool_call_id. Several historical shortcuts in our persistence + replay layers produced subtly malformed history that older permissive providers tolerated and DeepSeek v4 rejected.
- #39 — buildMessages dropped
Content=NULLassistant rows (the natural shape for a turn that emitted only tool_calls). The following tool messages became orphans and the next request 400'd. HydratedMessage.ToolCallsvia JOIN, addedchat_tool_calls.llm_call_idcolumn, factored the pairing logic into a newtoolreplaypackage shared between the legacy agent path and the graph kernel. - #40 — graph kernel's
PersistenceHandlerexposedWithMessageID/WithToolCallIDseams that production code never called →chat_tool_calls.message_idwas empty → NOT NULL violation → silent log warn → 0 rows written. Tool messages received syntheticname|typeIDs. Handler now self-wires vialastAssistantID+ apendingLLMCallsFIFO populated frommsg.ToolCalls. - #41 — sub-agent workers (
AgentTool) called the routing chat model with no opts and defaulted toopenai. On installs configured for Zhipu / Anthropic / DeepSeek only, the specialist call hard-failed with "provider not configured". Coordinator LLM choice now propagates through context (basetool.WithLLMChoice) intoSpawnRequest{Provider, Model}and the worker's chat model opts. - #42 — when
AgentToolfinishes seconds after parallel sibling tools, persistence stores rows in created_at order, which interleaves the next assistant turn between the parent and its delayed tool response. DeepSeek then 400'd with "insufficient tool messages following tool_calls message". Replay now indexes tool messages bytool_call_idand hoists each immediately after its parent assistant viaemitToolByCallID. - (IM bridge model resolution — already shipped in #38 / v0.7.169.)
UI
- #43 — long chat threads stopped auto-scrolling. The post-update
useEffectmeasured distance AFTER React had already appended the new message, soscrollHeight - scrollTop - clientHeightalways cleared the 80px threshold and the code bailed. Replaced with astickToBottomRefflipped by the scroller's ownonScroll(120px slack at the bottom).
Edge metrics
- #44 / #45 —
node_exporter1.8.2's conntrack collector reads/proc/sys/net/nf_conntrack_count, which doesn't exist on modern kernels (the file lives at/proc/sys/net/netfilter/nf_conntrack_count). The collector registered but emitted nothing, leaving the manager's "conntrack 利用率" panel empty on every edge.hostmetricsplugin now wraps the subprocess with a 15s producer writingnode_nf_conntrack_entries{,_limit}to a managed textfile collector dir.#45adds a guard so the shim stays quiet on older kernels (where the built-in collector is already emitting the same series).
Upgrade
wget https://github.com/ongridio/ongrid/releases/download/v0.7.176/ongrid-v0.7.176-linux-amd64.tar.xz
tar -xJf ongrid-v0.7.176-linux-amd64.tar.xz
cd ongrid-v0.7.176-linux-amd64
bash upgrade.shIn-place; no data migration. Edge agents pick up the conntrack fix automatically on their next bundle-upgrade heartbeat (ADR-024).
Checksums
687f50938e8960640455416940c169545c9a820be167cd2bd3a302fc6400125b ongrid-v0.7.176-linux-amd64.tar.xz