调试Claude code的正确姿势

发布于:2025-07-21 ⋅ 阅读:(13) ⋅ 点赞:(0)

随着kimi k2的发布,Claude code的使用频率愈发的频繁,在发现moonshot官方提供了调试工具之后,我对claude code的交互过程愈发好奇。

moonpalace的安装

官方moonpalace仓库地址
image.png

go语言编写,可以直接下载二进制二进制文件,并添加到环境变量中。

代理运行

moonpalace start

默认端口9988

$ moonpalace start --port <PORT>
[MoonPalace] 2024/07/29 17:00:29 MoonPalace Starts => change base_url to "http://127.0.0.1:9988/v1"
[MoonPalace] 2024/07/29 21:30:53 POST   /v1/chat/completions 200 OK
[MoonPalace] 2024/07/29 21:30:53   - Request Headers: 
[MoonPalace] 2024/07/29 21:30:53     - Content-Type:   application/json
[MoonPalace] 2024/07/29 21:30:53   - Response Headers: 
[MoonPalace] 2024/07/29 21:30:53     - Content-Type:   application/json
[MoonPalace] 2024/07/29 21:30:53     - Msh-Request-Id: c34f3421-4dae-11ef-b237-9620e33511ee
[MoonPalace] 2024/07/29 21:30:53     - Server-Timing:  7134
[MoonPalace] 2024/07/29 21:30:53     - Msh-Uid:        cn0psmmcp7fclnphkcpg
[MoonPalace] 2024/07/29 21:30:53     - Msh-Gid:        enterprise-tier-5
[MoonPalace] 2024/07/29 21:30:53   - Response: 
[MoonPalace] 2024/07/29 21:30:53     - id:                cmpl-12be8428ebe74a9e8466a37bee7a9b11
[MoonPalace] 2024/07/29 21:30:53     - prompt_tokens:     1449
[MoonPalace] 2024/07/29 21:30:53     - completion_tokens: 158
[MoonPalace] 2024/07/29 21:30:53     - total_tokens:      1607
[MoonPalace] 2024/07/29 21:30:53   New Row Inserted: last_insert_id=15

命令行中并未包含我们想要的数据,只是展示了简略的信息。但很幸运的是,请求的request和response都被完整记录在sqlite数据库中。

因此我在原版项目基础上添加了web命令。

web改造

因为主要任务是研究提示词,并未深入测试,所以单独建立了一个仓库,在此基础上添加。
moonpalaceweb仓库

为了减少web请求也被记录的数据库的情况,并未和start共用一个命令,增加了一个web命令,默认端口9998

D:\>moonpalace web
[MoonPalace] 2025/07/20 20:56:09 Web interface started at http://127.0.0.1:9998/

image.png

完整显示了请求信息,如果需要获取详情信息点击view detail。

主要元数据

image.png

request
image.png
image.png

response
image.png

返回的是sse数据。

后续我们可以根据实际发送的请求深入研究claude code的提示词设计