内容
🐟 Rem查看您的代理实际正在执行的操作。** 一个本地、无需配置的 LLM + MCP 流量采集工具,带有实时时间线 UI。
将您的代理的基础 URL 指向 Remora,每个模型调用和工具调用都会显示在实时瀑布流中,包含完整的有效载荷、令牌计数和第一个令牌的时间。想象一下 Wireshark,但它是用于代理的。
<!-- TODO 在发布前:使用真正的代理会话记录英雄 GIF,并将其保存到 docs/assets/hero.gifremora timeline](docs.gif)
##入门
启动 Remora UI:
```sh
npx remora-ai
```
://localhost:4100 并点击 **设置**。从那里,您可以执行所有操作,无需触摸配置文件:
- **连接** 显示任何代理都可以指向的基础 URL,带有复制实时的“已连接”指示器。
- **集成** 检测 Claude Code 并允许您通过单个切换来采集其 LLM 流量和每个 服务器。Remora 会写 `~/.claude / `~/.claude/settings.json`,保留 `.remora.bak` 备份,并在取消采集时恢复原始设置。
- **设置** 涵盖默认会话名称、保留和清除会话。
就是这样:无需 API 密钥,无需帐户,无需手动编辑配置。(Remora 本身不需要密钥;您的代理自己的 API 密钥会原封不动地流向提供
### 手动操作
更喜欢使用 shell 或使用 Remora 无法自动检测的代理?将任何遵循基础 URL 的框架指向 Remora:
```sh
export ANTHROPIC_BASE_URL=http://localhost:4100/anthropic
# 或
export OPENAI_BASE_URL=http://0/openai/v1
```
并在您的代理配置中包装io MCP 服务器(这切换为您编写的内容):
{
"mcpServers": {
"your-server": "command": "npx",
"args": ["remoramcp", "--", "n "your-mcp-server"]
}
}
}
```
Remora 位于代理和服务器之间,不修改地转发 stdin/stdout,同时向时间线报告每个工具 工作原理
```
┌─────────────────────────────┐
代理 ── LLM 调用 ──► remora (localhost:4100) ├──► api.anthropic.com
│ │ ├──► api.openai.com
│ │ /anthropic /openai/v1 │
└── MCP stdio ─────► remora mcp -- <server> │
│ │
│ 事件 ──► 磁盘上的 JSONL │
│ └─► 实时 UI (WebSocket) │
└─────┘
```
Remora 是一个直通代理。请求和流按字节转发到上游 API;采集发生在其他地方。实时瀑布流:LLM 跨度为青色CP 工具调用为青绿色,错误为珊瑚色任何跨度以检查完整请求有效载荷、令和 TTFT。会话选择器允许您在运行之间切换。
## 您的跟踪只是文件
每个事件都是 `~/.remora/sessions/*.jsonl` 中的一行 JSON。无需数据库,无需导出步骤。您可以 grep 它们、`jq` 它们、提交它们、差异它们,或将其中一个发送给同事:
```sh
jq -r 'select(.kind == "tool_calls") | .payload.name' ~/.remora/sessions/*.jsonl | sort | uniq -c
```
会话在 10 分钟不活动后自动滚动,或使用 `remora --session my-run` 固定会话名称。
## 失败开启,仅限本地
Remora 绝不能破坏您的代理。流式直通是无条件的:如果采集因任何原因失败,字节仍然流动,您的代理也不会注意到。服务器仅绑定到 `127.0.0.1`,UI 的 WebSocket 检查 `Origin` 和 `Host` 头,因此远程主机或恶意网页都无法访问您的跟踪。
## v1 范围
包括:Anthropic + OpenAI 兼容的 HTTP 代理、stdio采集、实时时间线 UI、JSONL 会话。
暂时不故意):运行差异、OpenTelemetry 导出、HTTP/SSE传输、身份验证、成本仪表板。如果 Remora 无法在前 秒内显示您的代理执行的操作,那么其他功能都不重要 许可证
MIT