2026年6月30日 2 分钟阅读

Digital Twin Proxy 实战教程:用浏览记录为 AI Agent 注入上下文

tinyash 0 条评论

AI Agent 的能力再强,如果不了解你的工作场景,它也只是个「聪明的陌生人」。你的浏览记录——打开了哪些技术文档、研究了什么竞品、阅读了哪篇博客——恰恰是理解你当下任务的最好线索。Digital Twin Proxy 正是为了解决这个问题而生:它把你的浏览流量转化成结构化的上下文,让 AI Agent 真正「懂你」。

背景:AI Agent 的上下文鸿沟

当下主流的 AI 编程助手(Claude Code、Codex、Cursor 等)知道你打开的代码文件,但它们不知道你几小时前在文档站上研究了什么 API,不知道你对比了多少个框架才选择了某一个。这种「上下文鸿沟」导致 Agent 经常给出看似合理实则脱节的建议。

解决思路很直接:把浏览行为变成数据,喂给 Agent。Digital Twin Proxy(下文简称 DTP)通过一个本地代理截获浏览流量,用 LLM 分析访问内容,生成对你的「数字孪生」理解,供其他 AI Agent 使用。

架构:Squid + Rust + LLM

DTP 是个用 Rust 编写的 CLI 工具,工作在 Squid 代理之上。流量路径很简单:

浏览器 → Squid 代理 (端口 8888) → 互联网
               ↓
           访问日志
               ↓
       DTP → LLM → 决定抓哪些页面 → 深度分析 → 结构化上下文

DTP 不依赖第三方服务,所有分析可以在本地 LLM 上完成(Ollama、LM Studio、vLLM 均可),隐私有保障。

安装与配置

前置依赖

  • Rust 工具链(cargo build
  • Squid 代理(系统包管理器安装)
  • 一个 OpenAI 兼容的 LLM 服务(推荐本地 Ollama)

安装 DTP

git clone https://github.com/kstonekuan/digital-twin-proxy.git
cd digital-twin-proxy
cargo build --release

编译后的二进制文件在 target/release/digital-twin-proxy 中。

配置浏览器代理

把你浏览器的 HTTP/HTTPS 代理设为 127.0.0.1:8888

  • Chrome:设置 → 系统 → 打开代理设置
  • Firefox:设置 → 网络设置 → 手动代理配置
  • 命令行(测试用):export http_proxy=http://127.0.0.1:8888 https_proxy=http://127.0.0.1:8888

配置 LLM 端点

DTP 支持三种配置方式(优先级从高到低:命令行参数 > 环境变量 > .env 文件)。推荐用 .env 文件:

cp .env.example .env

编辑 .env

API_BASE=http://localhost:11434/v1
MODEL=qwen2.5:14b
AMBIENT_INTERVAL=60
MAX_ANALYSIS_ITEMS=1000

配置项说明:

配置项环境变量命令行参数说明
API 地址API_BASE--api-baseOpenAI 兼容端点
API 密钥API_KEY--api-key远程服务时需要
模型MODEL--modelLLM 模型名
分析间隔AMBIENT_INTERVAL--interval后台模式分析间隔(秒)
单次最大条目MAX_ANALYSIS_ITEMS--max-items每批分析的上限 URL 数

三种使用模式

DTP 设计了三种操作模式,覆盖从简单到复杂的场景。

1. 纯日志模式

只记录流量,不做分析。适合想先确认代理正常工作:

./digital-twin-proxy log

此时 Squid 在 8888 端口运行,访问日志以 NDJSON 格式写入 ~/.local/share/ai-proxy/log.ndjson

tail -f ~/.local/share/ai-proxy/log.ndjson

2. 一次性分析

浏览一段时间后,对最近记录的流量做一次深入分析:

./digital-twin-proxy analyze --since 2h --model qwen2.5:14b

LLM 会先扫描 URL 列表,选出有分析价值的页面,然后逐个抓取内容做语义理解。最终输出你近 2 小时的技术关注主题摘要。

3. 后台常驻模式

在工作时让 DTP 持续运行,定期刷新上下文:

./digital-twin-proxy ambient --interval 300 --model gpt-5 \
  --api-base https://api.openai.com/v1 --api-key $OPENAI_API_KEY

每 5 分钟分析一次新流量。分析结果持续写入本地文件,你可以随时用这些数据构建 Agent 的上下文窗口。

实战:让 Claude Code 用你的浏览上下文工作

这是一个完整的闭环示例:浏览 → 分析 → 上下文注入。

先启动 DTP 并浏览几个技术页面:

./digital-twin-proxy ambient --interval 180 --model qwen2.5:14b

一小时后,DTP 已完成了分析。分析结果的结构化摘要存储在日志文件中,你可以通过以下方式查看:

cat ~/.local/share/ai-proxy/log.ndjson | tail -1 | jq '.'

输出类似:

{
  "topics": ["async Rust", "Tokio ecosystem", "Axum web framework"],
  "tools_explored": ["axum 0.8", "tokio 1.38", "tower"],
  "intent": "Evaluating Axum for a new microservice project",
  "depth": "medium"
}

把这个 JSON 注入到 Claude Code 的 prompt 开头:

我的技术上下文:用户在评估 Axum 0.8 + Tokio 1.38 来构建微服务,已浏览了 Tower 中间件文档。特别注意错误处理和路由设计。

Claude Code 就不再「凭空」回答,而是知道你在评估框架阶段,给出的建议更有针对性。

高级技巧

与 MCP 生态结合

虽然 DTP 的 MCP 功能还在开发中(参见 README「Planned Features」),但你完全可以手动将分析结果通过一个简单的 MCP Server 暴露给 Claude Code 或 Cursor。思路如下:

from mcp import Server, tool
import json
import os

server = Server("browsing-context")

@tool()
async def get_browsing_context(hours: int = 2) -> str:
    """返回最近 N 小时的浏览分析摘要"""
    # 读取 DTP 的分析日志并过滤时间窗口
    with open(os.path.expanduser("~/.local/share/ai-proxy/log.ndjson")) as f:
        entries = [json.loads(l) for l in f if l.strip()]
    # 返回最近的摘要
    return json.dumps(entries[-1]["summary"])

server.run()

这样,你的 AI Agent 就自动获得了「你最近在关注什么」的元认知。

隐私:完全本地化

DTP 的最大优势是数据掌控。使用 Ollama 或 LM Studio 运行本地模型时,所有分析流量不离开你的机器:

export API_BASE=http://localhost:11434/v1
export MODEL=qwen2.5:14b
./digital-twin-proxy ambient

甚至不需要 API Key。这对于处理机密代码库和技术调研的开发者来说,是一个不可妥协的特性。

与同类工具对比

DTP 的定位不是又一个 AI Agent 框架,而是上下文供给侧的工具。它解决的是「Agent 的信息输入」问题,而不是「Agent 的动作执行」问题。同类工具的对比:

工具定位数据来源输出
Digital Twin Proxy浏览上下文工程Squid 代理日志主题摘要 JSON
Reference MCP跨 Agent 会话记忆Agent 历史会话记忆检索 API
Context Gateway上下文压缩LLM 调用历史精简上下文

三个工具可以叠加使用:DTP 提供当前浏览上下文,Reference MCP 提供长期记忆,Context Gateway 压缩后送入 LLM。

总结

Digital Twin Proxy 用一种巧妙的方式架起了「浏览行为」和「Agent 上下文」之间的桥梁。它不复杂——本质就是 Squid + Rust CLI + LLM 的三层组合——但解决了一个真实且被忽视的痛点:Agent 不了解你的工作场景。

对于追求隐私又想提升 AI Agent 能力的开发者来说,DTP 是一个值得加入工具箱的开源利器。推荐从 ambient 模式开始,搭配本地 Ollama,先跑一天看看效果,你会发现 AI Agent 的输出质量有明显的「上下文跳跃」。


本文工具信息:Digital Twin Proxy 基于 MIT 许可开源,Rust 编写,当前版本支持 OpenAI 兼容 API。GitHub 仓库:https://github.com/kstonekuan/digital-twin-proxy

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。