【AIGC】在 Claude Code 中打印 LLM 请求体:抓包与非抓包方法全解
在Claude Code中打印Opus请求体:抓包与非抓包方法全解
结论:不只有抓包! 以下提供4种方法,从简单到复杂,覆盖不同场景需求,帮你清晰看到最终发给Opus大模型的完整请求体(包含系统提示词、上下文、工具定义等)。
一、快速非抓包:启用调试日志(推荐)
这是最简单的内置方法,无需第三方工具,直接通过命令行参数或环境变量开启调试模式,输出完整请求信息。
操作步骤:
- 临时启用(单次会话)
# 方法1:使用--debug参数指定日志范围
claude --debug api,mcp "请用Python写一个计算斐波那契数列的函数" --model opus
# 方法2:设置环境变量
export CLAUDE_LOG_LEVEL=debug
claude "请用Python写一个计算斐波那契数列的函数" --model opus
- 永久配置(所有会话)
# 在~/.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(跨平台)
- 安装
# macOS
brew install mitmproxy
# Ubuntu/Debian
sudo apt install mitmproxy
- 配置代理
# 启动代理
mitmproxy -p 8080
# 配置Claude Code使用代理
export HTTP_PROXY=http://localhost:8080
export HTTPS_PROXY=http://localhost:8080
- 安装证书(首次使用需信任mitmproxy证书,否则无法解密HTTPS流量)
- 访问
http://mitm.it - 下载对应系统的证书并安装
- 在系统钥匙串/证书管理器中设为“始终信任”
- 访问
抓包效果:
在mitmproxy界面中,可看到所有发往api.anthropic.com的请求,包括:
- 完整URL:
https://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,全局抓包 | 全语言通用、无代码侵入 | ⭐⭐⭐ |
🎯 一句话选型(直接记这个)
- 用官方 Claude Code CLI → 必选 mitmproxy(唯一简单好用的方案)
- 自己写Python代码调用API → 首选 claude-trace / 官方CLI
-v - 全场景通用兜底 → mitmproxy(纯终端抓包,通吃所有情况)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)