Skip to content

feat(runtime): 增加单节点运行诊断 - #60

Merged
uvwt merged 1 commit into
mainfrom
feat/runtime-diagnostics
Sep 29, 2026
Merged

uvwt merged 1 commit into
mainfrom
feat/runtime-diagnostics

Conversation

@uvwt

@uvwt uvwt commented Sep 29, 2026

Copy link
Copy Markdown
Owner

说明

此 PR 是 stacked PR,基于 #55(feat/otel-trace-context),不应在 #55 之前单独合并。

增加单节点、按需读取的 Runtime 诊断入口:

  • 复用现有 Runtime Bridge,读取 AgentDock GET /internal/runtime/diagnostics
  • Nexus 不落库、不后台采集、不保存调用历史、不做多节点聚合
  • 严格解析 Nexus 真正消费的字段;未知未来 Stage 名称保持原值,避免正向兼容失败
  • 旧 AgentDock 返回明确 AGENTDOCK_DIAGNOSTICS_UNSUPPORTED / HTTP 501
  • 离线节点明确显示“节点已离线,诊断数据仅保存在设备内存”
  • Runtime 区新增“诊断”入口,继续复用显式节点选择器
  • 最近调用列表仅突出时间、Tool、成功/失败、耗时和弱化 Source
  • 单条详情展示稳定错误码/分类与 Stage;Trace ID 只在“高级信息”里可复制
  • 不展示 Span ID、OTel/traceparent、参数、结果、命令、路径、错误正文或 stack
  • OpenAPI 为前端类型源,generated.ts 由契约生成
  • 不引入图表库或新的观测基础设施

验证

后端/契约:

  • go test ./...
  • go test -race ./internal/agentdock ./internal/httpx
  • go vet ./...
  • make check
  • OpenAPI / generated API types / i18n checks

前端:

  • TypeScript + Vite production build
  • 桌面浅色真实浏览器检查
  • 500px 移动断点列表 → 详情钻取
  • macOS 系统 Dark 模式真实检查后恢复 Light
  • 在线 / 离线状态检查
  • 无 console/page/network error

真实链路:

  • 隔离 Nexus + AgentDock 真配对并建立 Bridge
  • 官方 MCP Go SDK 真调 exec_command
  • Nexus 经 Bridge 显示同一调用及 command.start / command.foreground_wait
  • AgentDock diagnostics JSON 验证 zero-payload

Agy 最终 staged diff 复核:无未处理 High/Medium。

依赖

@uvwt
uvwt force-pushed the feat/otel-trace-context branch 2 times, most recently from 139acb8 to 95c68f8 Compare September 29, 2026 11:38
Base automatically changed from feat/otel-trace-context to main September 29, 2026 11:42
@uvwt
uvwt force-pushed the feat/runtime-diagnostics branch from 971c364 to 7f5d11f Compare September 29, 2026 11:47
@uvwt
uvwt merged commit 6c9daa6 into main Sep 29, 2026
2 checks passed
@uvwt
uvwt deleted the feat/runtime-diagnostics branch September 29, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant