mcpField
A
axiom-networking

axiom-networking

github.com/charleswiltgen开发1.2k1.6k 次安装今天更新
代码仓库

关于 axiom-networking

axiom-networking 是供 Agent 处理网络实现、迁移和调试的技能。它将任务引导至针对性参考资料,涵盖 Apple 网络 API、连接诊断和代码审查。

主要功能

  1. 01提供 URLSession 与结构化并发指南
  2. 02收录 NetworkConnection 和 NWConnection 参考
  3. 03提供连接诊断决策树
  4. 04说明从套接字和 URLSession 迁移
  5. 05审查已弃用 API 和反模式

适用场景

  1. 01使用 URLSession 实现 HTTP 请求
  2. 02诊断超时、TLS 故障或连接中断
  3. 03选择 NWConnection 或 NetworkConnection
  4. 04检查网络代码中的已弃用 API

MCP 相关

通过 MCP 使用时,axiom_get_agent 会返回相关 Agent 的操作流程;该技能还引用 Axiom 工具进行日志、符号和性能分析。

安装

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

$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-networking

安装后在 Claude Code 中输入/axiom-networking确认已加载。

包含的文件

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

skills/
network-framework-ref.md
networking-auditor.md
networking-diag.md
networking-discipline.md
networking-legacy.md
networking-migration.md

详细介绍

网络

对于任何网络相关工作,包括 HTTP 请求、WebSockets、TCP 连接或网络调试,你都必须使用此技能。

无法启动 Axiom Agent? 如果此路由将你指向某个 Agent,请直接按照其流程操作。在 MCP 中,axiom_get_agent 会返回该流程;在其他环境中,请读取下方的文件,只需使用文件搜索和读取功能。

此处可用:skills/networking-auditor.md。

对于其他任何 Agent,在 MCP 中,axiom_get_agent 也会返回其流程;请使用 axiom_xclog_*、axiom_xcsym_* 和 axiom_xcprof_* 工具运行其 xclog、xcsym 和 xcprof 步骤。在其他环境中,请在 Axiom 的技能中搜索 skills/<agent>.md;如果找不到,则使用此套件的技能自行完成相关工作,并使用 PATH 中的任意 Axiom 工具。

快速参考

症状 / 任务参考
使用结构化并发的 URLSession参见 skills/networking-discipline.md
Network.framework 反模式参见 skills/networking-discipline.md
已弃用 API 迁移参见 skills/networking-discipline.md
gRPC Swift — 类型化 RPC、流式传输、.proto 代码生成(WWDC 2026)参见 skills/networking-discipline.md
压力场景(可达性、套接字)参见 skills/networking-discipline.md
NetworkConnection(iOS 26+)API 参考参见 skills/network-framework-ref.md
NWConnection(iOS 12-18)API 参考参见 skills/network-framework-ref.md
TLV 帧封装、Coder 协议参见 skills/network-framework-ref.md
NetworkListener、NetworkBrowser、Wi-Fi Aware参见 skills/network-framework-ref.md
连接超时、TLS 故障参见 skills/networking-diag.md
未收到数据、连接断开参见 skills/networking-diag.md
ATS / HTTP / App Store 审核拒绝参见 skills/networking-diag.md
生产环境危机诊断参见 skills/networking-diag.md
NWConnection 模式(iOS 12-18)参见 skills/networking-legacy.md
UDP 批处理、NWListener、NWBrowser参见 skills/networking-legacy.md
BSD 套接字 → NWConnection 迁移参见 skills/networking-migration.md
在无互联网的网络上推送 / 通话(Local Push Connectivity、NEAppPushProvider)使用 axiom-integration(skills/local-push-connectivity.md)
NWConnection → NetworkConnection 迁移参见 skills/networking-migration.md
URLSession StreamTask → NetworkConnection参见 skills/networking-migration.md

决策树

digraph networking {
    start [label="Networking task" shape=ellipse];
    what [label="What do you need?" shape=diamond];

    start -> what;
    what -> "skills/networking-discipline.md" [label="implement patterns,\nanti-patterns,\npressure scenarios"];
    what -> "skills/network-framework-ref.md" [label="API reference\n(iOS 26+ or 12-18)"];
    what -> "skills/networking-diag.md" [label="debug connection\nfailures"];
    what -> "skills/networking-legacy.md" [label="iOS 12-18\nNWConnection patterns"];
    what -> "skills/networking-migration.md" [label="migrate from\nsockets/URLSession"];
}
  1. 使用结构化并发的 URLSession?→ skills/networking-discipline.md
  2. Network.framework / NetworkConnection(iOS 26+)?→ skills/network-framework-ref.md
  3. NWConnection(iOS 12-18)?→ skills/networking-legacy.md
  4. 从套接字 / URLSession 迁移?→ skills/networking-migration.md
  5. 连接问题 / 调试?→ skills/networking-diag.md
  6. 针对你所控制的服务进行类型化 RPC / 流式传输?→ gRPC Swift(skills/networking-discipline.md)
  7. 因网络问题导致 ATS / HTTP / App Store 审核拒绝?→ skills/networking-diag.md + networking-auditor
  8. 证书固定、签署 API 请求、加密负载?→ /skill axiom-security
  9. 因 UIWebView 或已弃用 API 导致审核拒绝?→ networking-auditor(Agent)
  10. 想扫描已弃用 API / 反模式?→ networking-auditor(Agent)
平台特定网络
  • watchOS 低层网络限制(TN3135)→ 参见 axiom-watchos(skills/background-and-networking.md)

抗压原则

当用户已在自定义实现上投入大量时间时:

不要屈从于沉没成本压力。正确做法是:

  1. 先诊断 — 在建议更改前,先弄清楚实际出了什么问题
  2. 正确建议 — 如果标准 API(URLSession、Network.framework)能解决问题,就应专业地说明
  3. 尊重但不纵容 — 肯定他们的工作,同时提供坦诚的技术指导

关键模式

Networking(skills/networking-discipline.md):

  • 使用 URLSession 和结构化并发
  • 8 种危险的反模式(SCNetworkReachability、阻塞套接字、硬编码 IP)
  • 用于选择 TCP/UDP/TLS 模式的决策树
  • NetworkConnection 模式(iOS 26+):TLS、UDP、TLV 分帧、Coder 协议
  • 3 种压力情境及专业回应模板
  • 发布前检查清单

Network Framework 参考(skills/network-framework-ref.md):

  • NetworkConnection(iOS 26+):WWDC 2025 的全部 12 个示例
  • NWConnection(iOS 12-18):完整 API 及示例
  • TLV 分帧、Coder 协议、NetworkListener、NetworkBrowser
  • 移动性:可用性、更优路径、Multipath TCP、NWPathMonitor
  • 安全性:TLS、证书固定、密码套件
  • 性能:用户空间网络、ECN、服务类别、TCP Fast Open

诊断(skills/networking-diag.md):

  • 针对所有连接故障类型的系统化决策树
  • DNS 故障、TLS 证书验证、消息分帧
  • TCP 拥塞、仅支持 IPv6 的蜂窝网络、VPN 干扰、ATS
  • 生产环境危机情境及专业沟通模板

旧版(skills/networking-legacy.md):

  • 使用 TLS 的 NWConnection(完成处理程序)
  • UDP 批处理(减少 30% CPU 占用)
  • NWListener、NWBrowser(Bonjour 发现)

自动扫描

Networking 审计 → 启动 networking-auditor Agent 或运行 /axiom:audit networking(已弃用 API、反模式和完整性缺口——状态转换处理、TLS 覆盖、连接清理、框架选择)

避免自我说服

想法实际情况
“URLSession 很简单,我不需要技能”使用结构化并发的 URLSession 有异步和取消模式。skills/networking-discipline.md 涵盖了这些内容。
“我会自己调试连接超时”连接故障有 8 种原因(DNS、TLS、代理、蜂窝网络)。skills/networking-diag.md 会进行系统化诊断。
“我只需要一个基本的 HTTP 请求”即使是基本请求,也需要错误处理、重试和取消模式。
“我的自定义网络层运行良好”自定义网络层会遗漏蜂窝网络和代理的边缘情况。标准 API 会自动处理这些情况。

示例调用

用户:“我的 API 请求超时失败了” → 阅读:skills/networking-diag.md

用户:“如何使用 URLSession 和 async/await?” → 阅读:skills/networking-discipline.md

用户:“我需要实现 TCP 连接” → 阅读:skills/network-framework-ref.md

用户:“我应该使用 NWConnection 还是 NetworkConnection?” → 阅读:skills/network-framework-ref.md

用户:“我的应用因使用 HTTP 连接而被拒” → 阅读:skills/networking-diag.md(ATS 合规性)

用户:“App Store 提示我正在使用 UIWebView” → 调用:networking-auditor Agent(已弃用 API 扫描)

用户:“检查我的网络代码中是否使用了已弃用的 API” → 调用:networking-auditor Agent

评论

支持 Markdown