Tags give the ability to mark specific points in history as being important
-
v0.9.22
protectedRelease: v0.9.222769f52f · ·Release v0.9.22 - fix(kuboard): 过 golangci-lint —— gofmt 重排 + error 字符串小写开头 (6c31619) - fix(kuboard): v3 探测正向识别 + 列 Deployment 走 v3 + username 校验/回落 (c9701d1) - fix(kuboard): v3 凭据字段文案再精简(去 Kuboard 前缀;集群名简化为「仅 v3 需填」) (8c8bd47) - fix(kuboard): 优化 v3 凭据字段文案 + 集群名占位符改通用 (0f5d42f) - feat(kuboard): 支持 Kuboard v3(自动探测 v3/v4)+ 桌面/运行时/向导全链路 (9d95f95)
-
v0.9.21
protectedRelease: v0.9.21e8f02ae9 · ·Release v0.9.21 - docs(nacos): 文档同步 plan D — AGENTS / CONTRIBUTING / decisions 去除方案 B 残留 (8604191) - feat(nacos): plan D — 自研本地 nacos MCP,运行时自动 refresh token (0468658)
-
v0.9.20
protectedRelease: v0.9.20288b66fd · ·Release v0.9.20 - docs(README): 砍掉内部决策日志 / 历史叙事,瘦身 41 行 (8e6891d)
-
v0.9.19
protectedRelease: v0.9.198690b08b · ·Release v0.9.19 - docs(README): 安装一行命令 / Release 链接 / Makefile 表回滚到 GitLab (87b808a) - fix(install): 用 github.com web redirect 拿 latest tag,绕开 api.github.com rate limit (6233fef) - docs 开源仓只展示 GitHub:README/CI-RELEASE/CONTRIBUTING 移除全部 GitLab 引用 (3cbd400) - docs(install): 新增 scripts/install-github.sh + README 加 GitHub 安装入口 (7a41e71) - feat(ci): GitHub Actions 支持 release-patch/minor/major 三 job + GitHub Release 上传 (069e1a1) - fix(ci): bump golangci-lint-action to v9 + pin lint to v2.12.2 (0884e51)
-
v0.9.18
protectedRelease: v0.9.189694c466 · ·Release v0.9.18 - fix 恢复 web/package-lock.json 到 9ff63eb 的好版本:commit b3a5f98 误把本机 node v26 重新解析的坏 lock 提交了 (55ac451) - docs 同步本会话 29 commit 进 decisions.md + CONTRIBUTING.md (205eca8) - perf analyzerpipe.Run 加 ctx:auto-analyze 60s timeout 真正取消底层 analyzer (f2400cd) - perf MCP probe 用 setpgid + killpg 杀进程组 真正收尾 npx 孙子进程 (5ca9b5f) - perf RunAutoAnalyze 加 5min process-level cache:4 target 部署省 75% 重复扫码 (fb679c7) - fix UI 把 "0 FAIL" 误判 error 红色:detectLevel 先抽数字判 K=0 降级 (f2e9a71) - fix self-test 探别家 agent 的 mcp 拖累报告:只 probe 本系统前缀的 mcp (7c7ecab) - fix self-test 120s 卡死第二层根因:cmd.Wait() 在 npx 孙子进程不退出时永远等 (0ad06ae) - fix 再次恢复 internal/webui/dist/.gitkeep:commit b3a5f98 又 git add -A 误删 (17a5bae) - fix self-test 卡 120s 真因:MCP probe 60s/个 串行 → 15s/个 并发,从 660s→15s (b3a5f98) - feat 部署 UX:self-test 改后台异步,install 完即 toast 成功 + 跳 /bots,不再卡 60-90s (831e990)
-
v0.9.17
protectedRelease: v0.9.174fb7c4c3 · ·Release v0.9.17 - fix lock 里 esbuild 平台子包 extraneous 改 optional:npm ci 在 darwin 不再 EBADPLATFORM (9ff63eb) - fix web/package-lock.json sync:之前升 vitest 4.1.5 没重建 lock,CI npm ci 严格挂 (1ee7ad5) - ci 真正修 nvm 卡死:set -e 跟 nvm.sh 不兼容,source 时临时关掉 errexit (38a0929) - ci 修 nvm.sh 路径鲁棒性:brew --prefix nvm 动态拿真路径 + fallback + debug (7d182d1) - ci 修 nvm 路径:用 brew Apple Silicon 路径 /opt/homebrew/opt/nvm/nvm.sh (9f99c59) - ci 根治 node 版本:加 .nvmrc + web job before_script source nvm.sh && nvm use (229cacd) - ci 修 web job 卡死:vitest --pool=threads → --pool=forks 绕 node 25 worker_threads 死锁 (19e77d1) - ci 修 web job:npm ci 加 --ignore-scripts 绕 esbuild postinstall 在 node 25 SIGKILL (f5ed1d3) - fix CI lint:恢复 internal/webui/dist/.gitkeep — commit 7b38829 误删导致 fresh clone 挂 (f1d1648) - fix self-test 阶段 UI 看着死锁:桥 install:log + 120s total timeout (49f0f00) - fix 部署期 auto-analyze 死锁:加 60s timeout + 桥 OnLog 让用户看到进度 (7b38829) - hardening RunInstall 5 分钟 total timeout 兜底防未来无 timeout 卡死 (4ff743b) - feat codex install 自动写 network_access=true 不再让用户手抄 toml (9520460)
-
v0.9.16
protectedRelease: v0.9.163d57890d · ·Release v0.9.16 - fix 桌面 app 部署可能挂死 10 分钟+:openclaw gateway restart 没 timeout (ed80fac) - fix IDE target install 卡死无声:onProgress 没桥前端,kafka 下载 30-60s 用户感觉 UI 死锁 (d6bac71) - rename system_yaml/SystemYAML → troubleshooter_yaml/TroubleshooterYAML 全量统一 (24b34b3) - harden fixGUIPath:5s timeout + sh-like shell 白名单 (aef8935)
-
v0.9.15
protectedRelease: v0.9.15588f07cb · ·Release v0.9.15 - fix fixGUIPath 两个 bug:sentinel 防 banner 污染 + darwin 平台守卫 (a965c72) - fix errcheck:fixGUIPath os.Setenv 加 _ = 抑制返回值检查 (9700f57) - fix 桌面 app launchd 精简 PATH:main.go 加 fixGUIPath() shell-out 拿 login shell 完整 PATH (444e43d)
-
v0.9.14
protectedRelease: v0.9.14e1f14fda · ·Release v0.9.14 - ci:根治 go-build cache 跨 image 残缺 — 不再 cache go-build + 拆 lint/test key + 删冗余 go vet (013939c) - fix gofmt:godoc 列表缩进修正 5 文件 — 修 pipeline #637 go:lint 失败 (3864d29) - docs:MCP 不注册的两种情况分类校准(3a 方案 B 有替代 vs 3b 真禁用无替代) (d184c5f) - sprint3 工程化基础设施:api 测试 + LICENSE + CONTRIBUTING + AGENTS + stringscut sweep (4b88347) - feat P2.4: install 进度反馈 — 逐家 mcp 注册 log + cold-install 结尾提示 (27270d8) - docs P1.2: README TOC + 角色导览 + docs/decisions.md 决策演进记录 (9ef441b) - refactor P1.3: 拆 install_native_mcp_common.go 1103 行 → 4 个文件,按 SRP (6050a7b) - feat P1.1: MCP probe 工程化进 self_test_openclaw — 防 rabbitmq fastmcp 那种 silent failure 的长期护栏 (f22e3cb) - fix buildFeishuProject warn 文案对齐 B 方案 — 不再说凭据仍收集 (2a3a622) - fix B 方案:暂停 feishu_project 凭据收集 — mcp 没接 + SKILL 没接,收 token 是诈骗式收集 (115eed8) - fix mongo / mysql / grafana SKILL 工具名实测校准 — runtime probe 真验证后修文档不准 (12488f5) - fix es-runtime-query SKILL 工具名 — runtime probe 实测 v0.3.1 没暴露 esql (6e5009c) - fix rabbitmq mcp 禁用注册 — runtime probe 发现两个候选包都跑不起来,SKILL 走 HTTP Management API 主路径 (01c59e0) - fix clickhouse + tracing-query SKILL 工具名校准 — 全 MCP 能力审计收尾 (a0ef6be) - fix postgres mcp 换 @henkey/postgres-mcp-server — server-postgres 2025-07 archived,跟 mysql/redis 同款 SKILL 软约束模式 (c1087c7) - fix MCP 能力审计:feishu_project 禁用注册(字节 prototype 包) + 3 个 SKILL 工具名死引用修正 (93386e8) - fix nacos 接入彻底回归方案 B(HTTP API 主路径)+ 链路审计修复死字段 — 23d503a 设计前提坍塌的最终终局 (8d05068) - fix nacos mcp 设计错配真根治:从 nacos-mcp-router(MCP 市场管理工具,不读 KV)换成官方 nacos-mcp-server(暴露 get_config 等只读工具),install 阶段一次性 login 拿 token bake 到 mcp 启动参数 — 撤回 5d5a139 临时绕路方案(SKILL 主路径 HTTP API),真正修能力 (23d503a) - fix config-executor SKILL nacos 主路径从 MCP 改成 HTTP API + README 标注修正:nacos-mcp-router 能力错配真相 — 2026-05-15 truss case 第三层根因 (5d5a139) - fix incident-investigator 补强 Step 6 #8 fallback 规则:nacos-mcp-router 调失败时禁止 silent fallback 到代码 config.yaml — truss case 复盘第二层:刚加 7a7750e 的 #8 没规定配置中心不可达时怎么办,agent 走了 silent fallback 撞坑 (ff3ce0c) - feat incident-investigator Step 6 加第 8 条结论自检:runtime 配置源优先级(配置中心 > 代码仓库 config.yaml)— 2026-05-15 truss 广告配置被删 case 复盘真实根因 (7a7750e)
-
v0.9.13
protectedRelease: v0.9.1356308690 · ·Release v0.9.13 - fix web/package.json vitest run 加 --reporter=verbose --pool=threads 解 CI 卡在 "> vitest run" 之后空白问题 (3d1ad2e) - docs troubleshooting-flow §8 演进里程碑阶段 6 标题修正:"前端排障兼顾阶段 1" → "客户端类用户反馈分流能力" (bbe2697) - feat incident-investigator 加 Step 5.5 主动 curl 重放(客户端 + 资源加载/API smoke 类必试,先于让用户贴 HAR):接 1f56771 阶段 1 (5 维表第 6 行 + 1.1c 入口反问) 的自然增强,机器人主动取证而不是死等用户给 HAR (8be753a) - feat incident-investigator 阶段 1 兼顾前端排障(克制版,3 处共 30 行 SKILL.md):用户反馈机器人查前端问题"查不出来"是真实信号,符合 docs §8 "某类问题准确率明显偏低 → 该改"的触发条件 — 根因机器人是全后端视角:5 维证据表 5 类全 server-side,18 个 skill 无 frontend 取证,routing 12 张表无 rum/sourcemap → LLM 看到"页面白屏/按钮没反应"只能往后端找,trace 没报错就推"不知道" (1f56771)
-
v0.9.12
protectedRelease: v0.9.1233d10025 · ·Release v0.9.12 - docs README 加排障链路文档导航链接(指向 docs/troubleshooting-flow.md) (65c163e)
-
v0.9.11
protectedRelease: v0.9.11db8187e2 · ·Release v0.9.11 - ci .release-base 加 GIT_FETCH_EXTRA_FLAGS: --filter=blob:none partial clone 救 release job fetch 阶段卡死 (360fb1b)
-
v0.9.10
protectedRelease: v0.9.10ef4f5be9 · ·Release v0.9.10 - refactor InitPage countUmbrellaChildren 抽到 lib/repoUmbrella + 补 vitest + 顺手修 removeRepo 同款 inline bug (c46e09f) - fix InitPage countUmbrellaChildren 在 name 为空时误判 umbrella 锁仓 — 用户截图复现:新加仓库 13 (name 还没填) 显示 "锁定:本仓被 6 个子模块的 parent_repo 引用,URL 是 child 路径解析的真源,不允许改" hint + URL 字段 readonly + 右上 × 删除按钮 disabled,导致用户既不能填 URL 也不能删,体验完全卡死 (f88824d)
-
v0.9.9
protectedRelease: v0.9.9d71f70cd · ·Release v0.9.9 - ci .gitlab-ci.yml bump go cache prefix v2-rw → v3-rw 解 mongo-driver v1.17.9 升级后 klauspost/compress 残留 cache 导致 go vet 失败 (909d359) - fix release.sh 加 idempotency check:last tag 已经在 HEAD → publish-only 重试模式(救 macOS runner publish 阶段超时 dirty state) (11f8eb8)
-
v0.9.8
protected925eaaa7 · ·Release v0.9.8 - docs troubleshooting-flow.md 同步本轮 fee5bc1 软化 + 加 §8 设计哲学(克制原则)段沉淀演进路线 (45f27f0) - refactor incident-investigator 软化 A(差分诊断)+ C(missing_critical_evidence) 4 处硬约束防过度防御:上两轮 b0b5211/4e80198 加 A+C 时措辞太硬"≥2 候选必列"+"missing 必输出",对简单 case 过度防御 — 漂移风险预判:(1) known-errors 命中 OOMKilled 这种 1 步出 next_actions 的 case 被卷进差分凑 ≥2 候选 (2) LLM 凑稻草人对偶满足约束("是 stub / 不是 stub" 这种伪二选一) (3) missing 过度防御导致 confidence=high 几乎拿不到 → Step 7 沉淀流程跑不起来 → known-errors.local.yaml 累积停滞 (4) ASK_USER 三分支让排障从 1-2 轮变 4-5 轮交互 (fee5bc1) - feat incident-investigator 加 Step 5 子查询通用输出契约 missing_critical_evidence — 跟上一轮 b0b5211 差分诊断对偶闭环:解决 LLM 排障第二大盲区"用看到的证据凑自洽故事,忽略应看但没看的证据";A(差分) 排除错误假设,本契约(C) 主动找缺失证据,两者组合才是完整推理护栏 (4e80198) - feat incident-investigator 加 Step 6 候选假设差分诊断前置段(医学式 differential diagnosis):覆盖排障机器人最大盲区 — "找证据支持单一假设"凑自洽故事,本节强制 LLM 出根因前先列候选→找反证→排除 — 是 Step 6 一切其它判断(置信度/反偏科/处置)的前置必跑,所有问题类型通用(不像 5.4 只数据/逻辑类) (b0b5211) - docs 加 troubleshooting-flow.md 排障机器人排障链路全景:覆盖入口路由→主线 7 步→横切机制→取证拓扑→沉淀回路→反幻觉护栏 6 段,326 行 — 起因是上轮 importPgcVideos case 复盘后 PM 问"机器人完整排障链路是啥",chat 里口述清楚但没沉淀到仓库,新人/SRE 看代码得跨 incident-investigator + routing + 8 个 *-runtime-query + recent-changes + k8s-runtime-query 串起来才能理解全景 (14e60ad) -
v0.9.7
protected91c106cf · ·Release v0.9.7 - fix incident-investigator SKILL: 修 LLM 排查 partial-success 批量接口 4 个误判 — importPgcVideos case 复盘:用户问"调用方说导入 10 部 182 集,实际数据不对",LLM 第一轮看 jaeger trace 见 duration=0.286ms + 0 mongo span 直接推"服务是 stub",真相在网关 response_body.results[0].error="parent.title 超过 200 字" → 业务 40001 早返回,trace status/HTTP/metric 全绿,3 轮提示才得正确结论 (556b795)
-
v0.9.6
protectedRelease: v0.9.6ac9da004 · ·Release v0.9.6 - fix ci go:lint 4 个 issue: - errcheck:ensure_kafka_mcp gz.Close 返回值改 _ = gz.Close() 显式忽略(只读流 Close 失败无 recovery) - gofmt:ensure_kafka_mcp const 文档块缺空行 + install_native_openclaw findOpenclawCLI candidates 数组对齐空格 gofmt 自动修 - staticcheck ST1005:error 字符串首字母大写 "Windows 不支持..." 改 "windows 不支持..."(Go 风格 error msg 不大写,跟其它 fmt.Errorf 一致) 本地 golangci-lint run 0 issues (22a37f7) - docs ensure_kafka_mcp 跟进上轮 review 后再审,只找到 2 个 docstring 跟代码不一致(无新 ship-blocker): (1) 顶部头注释 cache 路径还写 ~/.tshoot/bin/kafka-mcp-server,实际带版本号 kafka-mcp-server-<ver>;补流程 4 步明确返回绝对路径 / cache 命中条件 + 版本号文件名意图(避免 mcp-grafana 早期孤儿 binary 教训) (2) MCPBuildOptions.KafkaMCPBinaryPath 没强调隐式契约 — production 调用方必须先调 EnsureKafkaMCPInstalled 拿绝对路径;空字符串=回落 PATH 字面只两种场景用(ensure 失败 fallback / 单元测试只验 builder 逻辑);新人改代码不会漏 launchd PATH 兼容这层 其它发现的 6 个 polish(context.Context 接口 / 下载进度日志 / SHA256 校验 / 失败时返绝对 cache 路径 / 重试 / uninstall hook)都算研制阶段可接受 trade-off,不修;具体见本会话讨论 (662c16e) - fix ensure_kafka_mcp 收 reviewer 找的 3 个 ship-blocker + 4 个 hardening: (1) **PATH 命中返字面 "kafka-mcp-server" 而非 LookPath 绝对路径** — 跟 e44c74d findOpenclawCLI 同款 mac launchd GUI PATH 不兼容坑:install 从 shell 跑 PATH 有 brew prefix 写字面到 ~/.claude.json,Claude Code desktop 启动子进程 PATH 只 /usr/bin:/bin 字面找不到 ENOENT 静默挂;返回 p 绝对路径 (2) **并发 install tmp 名互相覆盖** — dest+".tmp" 固定名两个 IDE 同时跑 install 会 race;tmp+pid 后缀防覆盖 (3) **HTTP 中途截断写出 corrupt binary 后续 cache 命中误用** — io.Copy 不报错短 binary 顺利 rename 0o755 进 cache,下次启动 MCP 子进程异常退出;校验 tar header.Size 跟 io.Copy 写入字节数一致,不等则删 tmp 报 truncated hardening: (4) Windows 自动下载 EnsureKafkaMCPInstalled 头部直接 return 走手动安装路径 — 之前 log "自动下载中" 再失败误导用户 (5) cache 文件名带版本号 "kafka-mcp-server-v2.0.2" — bump 版本旧文件不被命中触发重下,避免静默用旧版;tarball 内 binary 名仍是 "kafka-mcp-server" 不带版本,匹配走常量不用 filepath.Base(dest) (6) cache 探测 0o100 owner-only 改 0o111 任意 execute bit — umask 异常时也能识别已装好的 binary (7) HTTP body 套 io.LimitReader 200 MiB — 防恶意 mirror 重定向 /dev/urandom 灌爆磁盘(tuannvm tarball 实际 ~5 MiB,10× 余量) (8) install_native_mcp_common.go:981 stale doc 引用 CheckKafkaMCPServerAvailable(已删函数)改成 EnsureKafkaMCPInstalled test:加 3 个新测试 PathHit / CacheHit / VersionPinned 覆盖核心分支,PathHit assert filepath.IsAbs(got) 能 catch ship-blocker #1 回归;删了一个依赖网络下载行为的 flaky NonExecCacheRejected 测试(下载成功失败结果不定) (3e9a82e) - feat install 时自动下载 kafka-mcp-server binary 替代之前只 warn 让用户手动 brew install:kafka-mcp-server 是单一用途 binary(不像 uv 那种系统级工具)装哪不污染系统,符合早期 mcp-grafana 自动下载判定;EnsureKafkaMCPInstalled 三档:PATH 命中返回 "kafka-mcp-server"(用户已装 brew/其它路径)/ ~/.tshoot/bin/kafka-mcp-server cache 命中直接用 / 都没有就拉 GitHub Release tarball 解到 cache(版本 pin v2.0.2 少 1 次 GitHub API 调用 + 上游崩不自动跟着崩) 90s timeout tmp+rename 避免半写残文件;失败不阻塞 install 仍 warn 给手动指引 fallback;buildKafka 接 KafkaMCPBinaryPath option 写绝对路径 / 空时回落 "kafka-mcp-server" PATH 形式(用户事后手动装到 PATH 不用重跑 install);Windows zip 暂未实现自动解压走手动安装路径(mac/linux 优先);test 加 abs path 用例验证 option 生效 (419a98e) - fix kafka MCP 换 tuannvm/kafka-mcp-server(franz-go 纯 Go binary)替代 @confluentinc/mcp-confluent:confluent 包依赖 native librdkafka 绑定(@confluentinc/kafka-javascript),Node ABI 矩阵滞后(Node 26 v147 没出 prebuilt) + install scripts 静默失败 + fallback build 需要 librdkafka/cmake 系统依赖,跨平台脆 2026-05-13 实战踩坑;tuannvm 是 MIT 纯 Go franz-go 无 native deps,GoReleaser 跨 5 个 triple(darwin/linux/windows × amd64/arm64) GitHub Release + brew tap 装一次永远稳;trade-off 是用户多一步 brew install(其它 7 家是 npx/uvx 零安装);buildKafka 改 command:"kafka-mcp-server" + env KAFKA_BROKERS+MCP_TRANSPORT,删 18 个 confluent --block-tools 黑名单(tuannvm 只 1 个 mutative tool produce_message 靠 SKILL.md 文档契约约束 LLM 不调);重加之前 9c32f8b 删的 CheckKafkaMCPServerAvailable 探测同款 CheckUvxAvailable 模板,缺 binary 打 [warn] brew 安装指引不阻塞 install;test 期望同步;kafka-runtime-query SKILL.md.tmpl 把 mcp 选用 / 安全契约段全重写 (335dbe3) - fix install_native_openclaw 找 openclaw CLI 走 PATH + 绝对路径 fallback:mac 桌面 app launchd GUI 默认 PATH 只有 /usr/bin:/bin:/usr/sbin:/sbin,brew prefix(/opt/homebrew/bin or /usr/local/bin)里装的 CLI exec.LookPath 找不到 → 用户实际装了 CLI(npm i -g openclaw)却被代码当"未装"走 [info] 文案;加 findOpenclawCLI helper 兜 4 类装机路径(Apple Silicon brew / Intel mac brew / npm-global / ~/.local)命中即用绝对路径直调 gateway restart;2 个 test 覆盖 PATH 命中分支 + 全 miss 返回空串分支(本机 brew openclaw 存在时 all-miss 自动 t.Skip 兜底) (e44c74d)
-
v0.9.5
protectedRelease: v0.9.5d25fa6d4 · ·Release v0.9.5 - ci .release-base 加 GIT_STRATEGY: clone 防 unshallow 卡死:其它 job 默认 GIT_DEPTH=20 留下浅克隆 build dir,release job 设 GIT_DEPTH=0 复用同 dir 触发 --unshallow,sideband 协议协商卡 19 分钟到 SIGTERM(14 MiB 小仓库都拖死,fetch-pack: unexpected disconnect / fatal: early EOF);单次 clone 走的 protocol 路径更短不依赖本地浅克隆 boundary,代价是每次多几秒;runner 端 stale build dir 仍需手动清(rm -rf /Users/botmaster/go/src/builds/tCyGE6NK9/0/...) (3120f34) - refactor ensureDirectConnection 收 simplify review:删 2 行复述代码的注释 + 翻转嵌套条件成 early-return 少一层缩进;调用点 3 行注释压成 1 行(与 helper 文档块重复);测试"密码含 @ + 多 host"改成"密码含 @ + 单 host"实际覆盖 LastIndex 找真 host 起点的逻辑(旧用例跟"多 host"一行重复测同分支);skip 抽 splitMongoURI 公共 helper(pre-existing 5 处重复另起单子) / 字符串常量化(单点使用反而噪声) / 效率(agent 明确不值得);go test agent 全过 (9476fb8)
-
v0.9.4
protected708edfd0 · ·Release v0.9.4 - fix mongodb MCP 单节点 + mongod 8.x wire 27 卡 30s 超时:加 ensureDirectConnection helper 给单 host URI 自动补 directConnection=true,跳过 Node mongodb driver(6.x/7.x 都验)在 ReplicaSetWithPrimary 拓扑下 commonWireVersion 协商 bug;mongosh 走另一套 driver 同 URI 秒回,排除掉 mongod/网络/凭据/MCP 框架;buildMongoDB 调用链 normalizeMongoURI → ensureDirectConnection;多 host / SRV / 用户显式 replicaSet= 时不动避免破坏副本集 SDAM;9 个新 test 覆盖单节点 / 多 host / SRV / 显式 replicaSet 边界 + 更新 TestBuildMCPServers_DataStores 期望,全过 (ff8efd79) - sec 升 Go 1.25.7 → 1.25.10 修 7 个 stdlib CVE(net/crypto/x509/net-http/crypto-tls/os/net-url),govulncheck 0 vulnerabilities;go.mod 声明 + .gitlab-ci.yml golang docker image 同步锁 patch 版本避免 cache drift (96f094e3) - feat kafka MCP 换 @confluentinc/mcp-confluent(MIT,官方维护,npx 零安装)替代 CefBoud binary:用 --block-tools 黑名单禁 18 个 mutative 工具实现 read-only 契约;删 ensure_kafka_mcp.go 探测代码 + cfgUsesKafkaMCP helper(npx 不需要预装探测);env 用标准 BOOTSTRAP_SERVERS 替代 KAFKA_MCP_BOOTSTRAP_SERVERS;test 加 sanity 断言守护 kafkaMutativeTools 全部出现在 --block-tools 参数里 (9c32f8b7) - feat 加 rabbitmq MCP 支持(AWS amq-mcp-server-rabbitmq,uvx 零安装,默认只读):buildRabbitMQ 接 URL 字段 dedup-by-URL 同其它家;凭据落 args(同 redis/pg 已知 trade-off);CfgUsesUvx 把 rabbitmq 也纳入,缺 uv 装机时会打 warn;routing 表 + rabbitmq-runtime-query SKILL.md 同步;2 个新 test(单 / 多 cluster + 验证默认只读 contract)全过 (30a8962d) - feat 加 kafka MCP 支持(CefBoud/kafka-mcp-server,带 --read-only 强制只读):buildKafka 接 brokers 字段 dedup-by-URI 同其它 6 家;非 npx/uvx 零安装,加 CheckKafkaMCPServerAvailable 探测 PATH 缺 binary 打 warn 给 go install 指引;routing 表 + kafka-runtime-query SKILL.md 同步;2 个新 test(单 / 多 cluster)全过 (cc2a5285) - feat 删除 rocketmq 整个数据层支持(C 档全清):skill 模板 / dsprobe / 5 语言 analyzer regex / config types / health 已知 skill / 前端 InitPage data store options + 字段配置 + dataStoreParser / README 适配列表 / examples 注释 共 15 文件 (41e0a35f) - feat 数据层 MCP 按 URI 自动 dedup 支持多 cluster:同 URI 共享 1 个 MCP,不同 URI 各注册;sourceID 用 host 第一段(撞名加 hash 兜底);单 URI 退化无 source 段(老用户零变化);加 service-to-datastore-source.yaml 映射表 + routing/6 runtime-query SKILL.md 强约束 LLM 不在多 source 间瞎选(同 grafana datasourceUid 契约) (46b77951) - fix 上次 6→7 步漏修 3 处:codex.go buildCodexRootSkillMD / cascade_check.py next_steps_for_agent / routing SKILL.md causation_chain.check_downstream_for(都说递归走 6 步,应统一 7 步) (d72e8e62) - fix tshoot --help 命令行模式 + 详细说明都漏了 codex 平台,实际代码 install.go 支持(unknown target 错误消息也有列),只是 main.go 顶级 help 文本忘了同步 (89cbe2de)
-
v0.9.3
protectedRelease: v0.9.3b8092e20 · ·Release v0.9.3 - ci 加 Windows amd64/arm64 跨平台编译:Makefile PLATFORMS 加 windows,自动 .exe 后缀;README 同步 PowerShell 安装指引 (5455e777)