隨著kimi k2的發布,Claude code的使用頻率愈發的頻繁,在發現moonshot官方提供了調試工具之后,我對claude code的交互過程愈發好奇。
moonpalace的安裝
官方moonpalace倉庫地址
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/
完整顯示了請求信息,如果需要獲取詳情信息點擊view detail。
主要元數據
request
response
返回的是sse數據。
后續我們可以根據實際發送的請求深入研究claude code的提示詞設計