Keysmith Lens 文档

第 04 章

各 Agent 的录制方式

把 Claude Code、Codex、OpenCode、Pi、OpenHands 的 API 地址指向本机代理。

Lens 认得三种请求格式:Anthropic Messages(/v1/messages)、OpenAI Responses(/v1/responses)和 Chat Completions(/v1/chat/completions)。只要 Agent 能自定义 API 地址,就能录。

Claude Code

PYTHONPATH=. python3 -m keysmith_lens record runs/cc \
  --upstream https://api.anthropic.com --rule ./CLAUDE.md --rule ./AGENTS.md
ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claude

用 API key 时才会走自定义地址。

Codex

在 ~/.codex/config.toml 里加一个 provider,base_url 指向代理:

[model_providers.lens]
name = "lens"
base_url = "http://127.0.0.1:8787/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"

再用 codex -c model_provider=lens 运行,--upstream 写 https://api.openai.com。

OpenCode

在 opencode.json 的 provider 里设置 options.baseURL 为 http://127.0.0.1:8787/v1。

Pi

在 ~/.pi/agent/models.json 里给 provider 设置 baseUrl 为 http://127.0.0.1:8787/v1。

OpenHands

在 LLM 设置里把 base_url 设为 http://127.0.0.1:8787/v1。生成会话标题的请求不带工具,会以淡色显示,不算规则消失。

在容器里跑的 Agent

代理只监听 127.0.0.1。Agent 跑在容器里时,让容器和代理共用网络(例如 docker run --network host),或者把代理也放进容器里。

文档有误或看不懂?到 GitHub 上告诉我们