在Claude Code中打印Opus请求体:抓包与非抓包方法全解

结论:不只有抓包! 以下提供4种方法,从简单到复杂,覆盖不同场景需求,帮你清晰看到最终发给Opus大模型的完整请求体(包含系统提示词、上下文、工具定义等)。


一、快速非抓包:启用调试日志(推荐)

这是最简单的内置方法,无需第三方工具,直接通过命令行参数或环境变量开启调试模式,输出完整请求信息。

操作步骤:

  1. 临时启用(单次会话)
# 方法1:使用--debug参数指定日志范围
claude --debug api,mcp "请用Python写一个计算斐波那契数列的函数" --model opus

# 方法2:设置环境变量
export CLAUDE_LOG_LEVEL=debug
claude "请用Python写一个计算斐波那契数列的函数" --model opus
  1. 永久配置(所有会话)
# 在~/.zshrc或~/.bashrc中添加
echo 'export CLAUDE_LOG_LEVEL=debug' >> ~/.zshrc
source ~/.zshrc

效果示例:

[DEBUG] anthropic.api: Request to https://api.anthropic.com/v1/messages
[DEBUG] anthropic.api: Payload: {
  "model": "claude-opus-4-6",
  "max_tokens": 4096,
  "system": [
    {"type": "text", "text": "<system-reminder>Skills列表...</system-reminder>"},
    {"type": "text", "text": "<system-reminder>CLAUDE.md + MEMORY.md...</system-reminder>"}
  ],
  "messages": [
    {"role": "user", "content": "请用Python写一个计算斐波那契数列的函数"}
  ],
  "tools": [/* 82个工具定义,共96.6 KB */]
}

优缺点:

无需抓包工具,内置功能,操作简单
✅ 可看到完整请求体(系统提示词、工具定义、上下文等)
⚠️ 日志输出较多,建议配合grep过滤:claude --debug api "query" | grep -A 20 "Payload:"


二、进阶非抓包:使用第三方监控工具

针对需要更清晰可视化或长期监控的场景,有专用工具可直接捕获Claude Code与Opus的通信。

工具1:CC-Viewer(推荐)

https://github.com/weiesky/cc-viewer?tab=readme-ov-file
Claude Code专用请求监控系统,实时捕获并可视化展示所有API请求。

# 安装
git clone https://github.com/weiesky/cc-viewer.git
cd cc-viewer
npm install

# 启动
npm run start

启动后会自动打开Claude Code界面,正常使用即可在浏览器中看到完整请求体,包括原始JSON和格式化视图。

工具2:claude-trace

专门用于“透视”Claude Code运行过程的工具,能捕获系统提示词、工具调用和请求体。

# 安装
pip install claude-trace

# 启动
claude-trace

每次对话结束后,会在当前目录生成日志文件,包含完整请求信息。


三、抓包方法(最完整,适合深度分析)

当需要最权威、无遗漏的请求数据时,使用抓包工具是终极方案。

工具:mitmproxy(跨平台)

  1. 安装
# macOS
brew install mitmproxy

# Ubuntu/Debian
sudo apt install mitmproxy
  1. 配置代理
# 启动代理
mitmproxy -p 8080

# 配置Claude Code使用代理
export HTTP_PROXY=http://localhost:8080
export HTTPS_PROXY=http://localhost:8080
  1. 安装证书(首次使用需信任mitmproxy证书,否则无法解密HTTPS流量)
    • 访问http://mitm.it
    • 下载对应系统的证书并安装
    • 在系统钥匙串/证书管理器中设为“始终信任”

抓包效果:

在mitmproxy界面中,可看到所有发往api.anthropic.com的请求,包括:

  • 完整URLhttps://api.anthropic.com/v1/messages
  • 请求头:Authorization、Content-Type等
  • 请求体:完整JSON,包含系统提示词、工具定义、用户消息等
  • 响应:Opus返回的结果

优缺点:

最完整数据,无任何信息丢失
✅ 可修改请求(用于调试)
⚠️ 配置稍复杂,需安装证书
⚠️ 可能影响其他网络应用,建议仅在需要时启用代理


四、代码级非抓包:自定义SDK请求拦截

如果你在代码中使用Anthropic SDK调用Opus,可通过拦截请求的方式打印请求体。

Python示例:

import anthropic
import logging
from anthropic._client import Anthropic

# 启用SDK日志
logging.basicConfig(level=logging.DEBUG)

# 或自定义请求拦截
class LoggingAnthropic(Anthropic):
    def _request(self, method, path, **kwargs):
        # 打印请求信息
        print(f"Request: {method} {path}")
        print(f"Payload: {kwargs.get('json', {})}")
        return super()._request(method, path, **kwargs)

# 使用自定义客户端
client = LoggingAnthropic(api_key="your-api-key")
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=4096,
    messages=[{"role": "user", "content": "Hello, Opus!"}]
)

优缺点:

✅ 可编程控制,适合集成到自动化测试或监控系统
✅ 可自定义日志格式和输出位置
⚠️ 仅适用于代码中直接调用SDK的场景,不适用于Claude Code CLI


五、方法对比与选择建议

方法 难度 完整性 适用场景
调试日志 快速查看请求体,临时调试
CC-Viewer 可视化监控,长期使用
mitmproxy抓包 最高 深度分析,需要修改请求
SDK拦截 代码集成,自动化测试

我给你做最清晰、最精简、可直接抄作业的总结,严格区分你说的两种场景,只保留终端优先、无GUI、实用的方法,剔除所有无关方案:

🔥 终极总结:两种场景下 捕获 Claude 请求体+返回结果 全方法

场景1:你在终端直接用官方 Claude Code CLI

(命令行敲 claude code / anthropic code,无自定义代码)
✅ 核心前提:官方CLI无内置日志开关,只能通过「终端抓包/代理」拦截网络请求

方法 核心操作 优点 推荐指数
mitmproxy(首选) 1. 启动代理
2. 终端配置代理变量
3. 正常运行 Claude Code
纯终端、可视化、一键查看完整请求/返回 ⭐⭐⭐⭐⭐
tcpdump + jq 系统原生抓包,解析HTTPS流量 无需安装任何软件、硬核命令行 ⭐⭐⭐
httpry 轻量命令行HTTP监听工具 极简、无配置、自动打印日志 ⭐⭐⭐

场景2:你自己写 Python / 代码调用 Claude API

(用 anthropic SDK 写代码,自定义请求)
✅ 核心前提:支持日志打印、代码拦截、命令行包裹,可选方案更多

方法 核心操作 优点 推荐指数
SDK 原生DEBUG日志 开启 logging.DEBUG,自动打印所有请求 零第三方依赖、官方原生 ⭐⭐⭐⭐
claude-trace 1行导入开启追踪,自动彩色打印 Python专属、极简、无侵入 ⭐⭐⭐⭐⭐
llm-trace 命令行包裹Python脚本,自动追踪 零代码修改、通用LLM工具 ⭐⭐⭐⭐
官方 Anthropic CLI (-v) 命令行直接调用API,加 -v 打印详情 不写代码、官方、最简洁 ⭐⭐⭐⭐⭐
mitmproxy 同场景1,全局抓包 全语言通用、无代码侵入 ⭐⭐⭐

🎯 一句话选型(直接记这个)

  1. 用官方 Claude Code CLI → 必选 mitmproxy(唯一简单好用的方案)
  2. 自己写Python代码调用API → 首选 claude-trace / 官方CLI -v
  3. 全场景通用兜底mitmproxy(纯终端抓包,通吃所有情况)
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐