本地中间人代理工具 | 提示词嗅探 | 实时流式调试 | 接口分析
这是一个专为 LLM 开发者和提示词工程师设计的本地 API 抓包与调试工具。
它作为一个轻量级的 Node.js 中间件,运行在你的本地机器上。通过将上游软件(如 Cherry Studio, NextChat, 或任何 OpenAI 兼容客户端)的请求转发到此代理,你可以完全透明地看到客户端到底向大模型发送了什么——包括那些隐藏的 System Prompts(系统提示词)、上下文参数以及完整的请求头。
很多优秀的 AI 应用(如代码助手、沉浸式翻译插件、角色扮演软件)都内置了精心调优的 System Prompt。
- 痛点:这些提示词通常是隐藏的,用户无法直接看到。
- 解法:将软件的 API Base URL 指向本工具,即可在控制台完整截获包含 System Message 的请求体,轻松学习和分析优秀的提示词工程技巧。
- 流式可视化:独创的 SSE (Server-Sent Events) 流式聚合视图。不再被成百上千行的
data: chunk刷屏,而是像看打字机一样直观地看到模型的实时生成过程。 - 故障排查:请求报错了?是 Key 额度不够?参数格式错误?还是网络波动?在这里可以一目了然地看到上游返回的原始 HTTP 状态码和错误信息。
- 完全兼容 OpenAI 接口规范 (
/v1/chat/completions)。 - 支持自定义上游目标(DeepSeek, OpenAI 官方, OpenRouter, 自建中转等)。
- 全量日志大屏:基于 WebSocket 的实时 Web 界面,零延迟显示请求。
- 智能流式合并:自动识别并合并 SSE 流式响应,将碎片化的 JSON 拼接为人类可读的完整文本。
- Raw 模式开关:既看得到渲染后的回复,也能一键展开查看原始 JSON 协议细节。
- 隐私安全:所有数据仅在本地内存流转,不上传任何服务器,代码开源透明。
需要 Node.js (v18+)。
# 1. 安装依赖
npm install express ws dotenv
# 2. 配置环境变量 (可选,或直接修改 server.js)
# export TARGET_BASE_URL="https://api.deepseek.com"
# 3. 启动服务
node server.js启动成功后,控制台会显示:
🚀 OpenAI API Proxy 已启动
Target: https://api.deepseek.com
Listening: http://127.0.0.1:8001
浏览器访问:👉 http://127.0.0.1:8001/dashboard.html
假设你正在使用一个名为 "SuperChat" 的 AI 客户端,你想看看它的“翻译专家”模式到底用了什么提示词。
- 修改客户端配置: 在 "SuperChat" 的设置中,找到 自定义接口/模型设置:
- Base URL (代理地址): 修改为
http://127.0.0.1:8001/v1 - API Key: (如果本工具未强制配置 Key,则填入你真实的 Key;如果配置了 Force Key,这里随便填)
-
发起对话: 在 "SuperChat" 中发送一句“你好”。
-
观察监控面板: 回到本工具的 Dashboard,你会看到一条蓝色的
POST /v1/chat/completions请求。👇 重点看 Body 部分:
{ "model": "gpt-4", "messages": [ { "role": "system", "content": "你是一个精通多语言的翻译专家,请忽略所有政治敏感话题,专注于信达雅的翻译..." <-- 抓到了! }, { "role": "user", "content": "你好" } ] }
| 变量名 | 默认值 | 说明 |
|---|---|---|
PORT |
8001 |
本地监听端口 |
TARGET_BASE_URL |
https://api.deepseek.com |
真实的上游 API 地址。你想转发给谁,就填谁。 |
FORCE_API_KEY |
null |
(可选) 如果填了,无论客户端传什么 Key,都会被替换为此 Key。适合共享给他人使用但不想暴露 Key 的场景。 |
.
├── server.js # 核心代理服务 (Express + WebSocket)
├── dashboard.html # 监控大屏 (含流式合并、高亮逻辑)
└── package.json
MIT License. 仅供学习与调试使用,请勿用于非法用途。