mcpField
M
make-app-observability

make-app-observability

github.com/qfeius开发081 次安装3 天前更新
代码仓库

关于 make-app-observability

用于 Make App 开发与改造的可观测性技能,规范 UI、Service 与 Make Gateway 间的 Trace ID 生成、传递、日志关联和错误呈现。它还要求通过行为测试与审计检查追踪链路,并避免记录敏感数据。

主要功能

  1. 01生成并传递 W3C Trace 上下文
  2. 02关联请求、响应与安全日志
  3. 03区分 HTTP、网络及业务错误
  4. 04统一展示可复制的 Trace ID
  5. 05运行行为测试与链路审计

适用场景

  1. 01为新建 Make App 接入追踪
  2. 02补齐现有 App 的请求链路
  3. 03检查 AI JSON、SSE 与二进制传输
  4. 04验证错误展示和发布门禁

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/qfeius/make-platform-skills --skill make-app-observability

安装后在 Claude Code 中输入/make-app-observability确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
package-integration.md
testing-and-audit.md
trace-chain.md
scripts/
audit-trace-contract.mjs
test-audit-trace-contract.mjs

详细介绍

来自项目 README

make-app-observability

所有新建 Make App 默认接入 Trace ID。存量 App 的本次任务涉及业务请求、AI transport、错误出口或发布门禁时,应核对相关 Trace 链路并补齐缺失环节;无关改动只报告发现的缺失,不擅自扩大本次任务范围。Trace ID 的默认范围是 App 的业务请求及其错误出口,包括启用时的 AI JSON、SSE 和二进制传输。静态资源和 OAuth 回调不属于 UI 业务请求适配器的范围。

主责与边界

本 Skill 负责跨 UI、可选 Service 和 Make Gateway 的 Trace ID 生成、传递、关联日志、错误分类与统一展示。@qfei-design/make-app-observability 提供错误呈现模型及 React 组件;它不会发请求、创建 Span、传 Header、记录日志或配置导出器。不能把安装该包等同于完成 Trace 链路,也不能把仅有 Trace ID 关联宣称为已接入集中式 Trace 后端。

  • 认证请求与 cookie/session 机制交给 make-app-auth;在其共享已认证请求适配器中注入追踪 Header,不另写裸请求或浏览器 token 逻辑。
  • Service 路由、UI-Service 业务合同和 Make adapter 交给 make-app-service;本 Skill 定义跨这些边界的 Trace 不变量。
  • AI 路由、流式事件和取消语义交给 make-ai-assistant;其已认证 JSON、SSE、二进制传输沿用同一追踪合同。
  • 发布脚本和交付门禁交给 make-app-runtime;该 Skill 调用本 Skill 的审计器。
  • 全局错误出口在持久应用根层的挂载、与宿主 overlay 的层级协调及真实 Shell 可见性验收交给 makeui;本 Skill 负责把安全的结构化请求错误交给该出口。0.1.8+ 公共包负责桌面与手机 viewport 的默认定位、错误卡片和 Trace ID 展示规则,宿主不重写默认定位。

默认接入流程

  1. 判定 App 的请求拓扑:UI 直连 Make Gateway,或 UI -> Service -> Make Gateway。两种拓扑都必须经过一个共享、已认证的 UI 请求适配器。
  2. 在 UI 的每次业务请求开始时创建有效的 W3C Trace 上下文,保存本次 128-bit 非零 Trace ID。请求 Header 同时写入 traceparent 和等于其中 trace-id 的 X-Log-Id;同一次请求的成功或失败使用创建时保存的 ID,重试作为新的网络尝试重新创建并保留对应 ID。不要通过 URL query 传 Trace 信息。
  3. Service-fronted App 在请求入口校验入站 Header,缺失或非法时生成安全 Trace ID;所有响应返回 X-Log-Id。向 Make Gateway 转发时只使用已校验且一致的追踪 Header,Service 安全日志带同一个 traceId。直连模式则由共享 UI 适配器把 Header 送到 Gateway。
  4. 统一错误出口区分 HTTP 非 2xx、网络异常和 HTTP 2xx 业务码异常。收到响应时在 Span 记录实际 HTTP 状态码;业务码失败和 HTTP 非 2xx 标记为错误,网络异常不虚构状态码。请求层及权限、Schema 等 Provider 到错误出口之间保留安全的 kind/status/title/description/traceId,不得降级成只有文案的字符串。使用公共包的 MakeAppErrorNotice,全局错误队列须由一个 MakeAppErrorNoticeViewport 包裹,页面内嵌错误卡片可单独使用。三类真实请求失败只要携带合法 Trace ID 都显示可复制的 ID。失败时优先保留本次请求创建的 ID,避免无响应的网络错误丢失关联信息。
  5. 当 App 使用 AI transport 时,JSON、SSE、文件和二进制请求也发送这两个 Header;HTTP 非 2xx 即使有响应体也要标记 Span 为错误。不能恢复通过 __traceparent 等 query 参数传递 Trace 的旧做法。
  6. 新接入或本次改造错误出口的 App 使用实际安装的 @qfei-design/[email protected]+;这是桌面顶部 Toast、双端 portal 与完整内容可见性的交付基线。先补行为测试,再运行 scripts/audit-trace-contract.mjs 和 App 原有测试。审计检查声明版本与源代码接线,不能代替实际安装版本核对、真实请求及真实 AppShell 下错误卡片可见性的断言。

按需阅读

工作读取
安装公共包、公开入口、错误状态与桌面/移动全局出口references/package-integration.md
UI、Service、Gateway 和 AI 的 Trace 链路及安全边界references/trace-chain.md
行为测试、静态审计、发布检查和排障references/testing-and-audit.md

安装或升级时,先从目标 App 已安装包的 package.ai.json 读取 readOrder,按声明顺序阅读公开文档;不要从包内 src 或 dist 深层导入,也不要把本 Skill 写的示例当成高于目标安装版本的公开 API。

交付条件

  • 新建 Make App 的项目级发布检查包含 trace:audit;发布前同时通过适用的行为测试和审计。已有 App 使用自身的兼容运行时及发布命令,不为接入追踪强制迁移包管理器。
  • 审计命令:node skills/make-app-observability/scripts/audit-trace-contract.mjs <project-root> --mode auto。复制到 App 项目本地的脚本才可写入项目 package.json,不要引用开发者机器上的 Skill 绝对路径。
  • 不记录或传给 UI Authorization、Cookie、token、业务请求正文、AI 提示词或原始内部错误。日志只写安全的路由、方法、状态、错误类别及 traceId。

评论

支持 Markdown