SuperAPI AI 工具集

burner-agents-privacy

智能体与模型

查看项目

更新于 10-16 03:30

技能介绍

用途

Burner Agents 是一个 Python 框架,用于部署一次性(disposable)AI 智能体,让它们代替用户与网页交互。每个智能体在隔离的浏览器上下文中运行,拥有唯一指纹,任务完成后立即销毁,从而防止被追踪和建立用户画像。系统提供不可归因(non-attribution)、不可关联(non-linkability),并确保不创建持久化配置文件。

主要能力

项目由四个主要组件构成:

  • isolation/:为每个智能体提供全新、可分离的浏览器上下文。
  • reasoning/:将意图转化为动作,对每个页面进行实时推理。
  • orchestration/:分解任务、在多个智能体间分发、汇总结果。
  • identity/:在任务开始时实例化,在完成时销毁。

框架支持单智能体任务、多智能体集群(Swarm)、任务分解、扇出(Fan-Out)、顺序流水线(Pipeline)等编排模式。还提供限流与节流、轮换代理集成、结果校验等高级模式。

使用方式

安装

# 克隆仓库
git clone https://github.com/NotPBShaw/burner-agents.git
cd burner-agents

# 安装依赖
pip install -r requirements.txt

或通过 pip 安装(如已发布):

pip install burner-agents

单智能体任务

from burner.agent import BurnerAgent
from burner.task import Task

task = Task(
    intent="Find the top 3 Python AI frameworks on GitHub",
    max_agents=1
)

agent = BurnerAgent()
result = agent.execute(task)

print(result.data)
# 完成后智能体及所有状态自动销毁

多智能体集群

from burner.orchestration import Swarm
from burner.task import Task

task = Task(
    intent="Compare pricing across 5 cloud providers",
    max_agents=5,
    parallel=True
)

swarm = Swarm(size=5)
results = swarm.execute(task)

for result in results:
    print(f"Provider: {result.provider}, Price: {result.price}")
# 所有智能体销毁,不保留持久状态

配置

环境变量:

# 必需:用于推理的 LLM 提供方
export BURNER_LLM_PROVIDER="anthropic"
export ANTHROPIC_API_KEY="your-api-key"

# 可选:浏览器配置
export BURNER_HEADLESS=true
export BURNER_TIMEOUT=30000

# 可选:网络隔离
export BURNER_PROXY_ROTATION=true
export BURNER_PROXY_POOL_SIZE=10

# 可选:身份生成
export BURNER_FINGERPRINT_RANDOMIZATION=true

配置文件示例:

from burner.config import BurnerConfig

config = BurnerConfig(
    isolation={
        "browser": "chromium",
        "headless": True,
        "separate_contexts": True,
        "clear_on_complete": True
    },
    reasoning={
        "provider": "anthropic",
        "model": "claude-3-5-sonnet-20241022",
        "max_steps": 50,
        "live_page_analysis": True
    },
    orchestration={
        "max_parallel_agents": 10,
        "task_decomposition": "auto",
        "result_reconciliation": True
    },
    identity={
        "fingerprint_source": "random",
        "destroy_on_complete": True,
        "no_state_retention": True
    }
)

智能体隔离

from burner.isolation import IsolatedContext
from burner.identity import generate_identity

identity = generate_identity()

context = IsolatedContext(
    fingerprint=identity.fingerprint,
    user_agent=identity.user_agent,
    viewport=identity.viewport,
    timezone=identity.timezone,
    locale=identity.locale,
    device_characteristics=identity.device
)

async with context.browser() as browser:
    page = await browser.new_page()
    await page.goto("https://example.com")
# 退出时上下文自动销毁

推理引擎

from burner.reasoning import ReasoningEngine
from burner.isolation import IsolatedContext

engine = ReasoningEngine(
    provider="anthropic",
    model="claude-3-5-sonnet-20241022"
)

async with IsolatedContext() as context:
    page = await context.new_page()
    result = await engine.reason_and_act(
        page=page,
        intent="Navigate to Hacker News and find the top story about AI",
        max_steps=20
    )
    print(result.final_answer)
    print(f"Steps taken: {len(result.steps)}")

编排模式

任务分解:

from burner.orchestration import TaskDecomposer, Swarm

decomposer = TaskDecomposer()
subtasks = decomposer.decompose(
    intent="Research and compare 10 project management tools",
    max_agents=10
)

swarm = Swarm(size=len(subtasks))
results = await swarm.execute_parallel(subtasks)
final_report = decomposer.reconcile(results)

扇出模式:

from burner.orchestration import FanOut

fanout = FanOut(
    task=Task(intent="Check if service is available"),
    agent_count=3,
    reconciliation_strategy="majority"
)
results = await fanout.execute()
print(f"Service available: {results.consensus}")
print(f"Agreement: {results.agreement_percentage}%")

顺序流水线:

from burner.orchestration import Pipeline

pipeline = Pipeline([
    Task(intent="Find the top AI research papers this week"),
    Task(intent="Summarize the key findings from these papers"),
    Task(intent="Identify practical applications")
])
result = await pipeline.execute()
print(result.final_output)

身份管理

from burner.identity import IdentityManager

manager = IdentityManager()
identity = manager.create()
print(f"Identity ID: {identity.id}")
print(f"Created: {identity.created_at}")

agent = BurnerAgent(identity=identity)
result = await agent.execute(task)

manager.destroy(identity.id)
assert manager.get(identity.id) is None

高级模式

限流与节流:

from burner.orchestration import ThrottledSwarm

swarm = ThrottledSwarm(
    size=10,
    requests_per_minute=30,
    jitter=True,
    delay_range=(2, 8)
)
results = await swarm.execute(task)

轮换代理:

from burner.isolation import ProxyRotator

rotator = ProxyRotator(
    proxy_list=[
        "http://proxy1.example.com:8080",
        "http://proxy2.example.com:8080",
        "http://proxy3.example.com:8080"
    ],
    rotation_strategy="random"
)
context = IsolatedContext(proxy_rotator=rotator)

结果校验:

from burner.orchestration import Validator

validator = Validator(
    consensus_threshold=0.7,
    min_agents=3
)
swarm = Swarm(size=5)
raw_results = await swarm.execute(task)
validated_result = validator.validate(raw_results)

适用场景

  • 需要隐私保护的网页调研与信息收集。
  • 跨多个来源并行比较数据(如价格、功能)。
  • 需要多智能体冗余校验的关键任务。
  • 需要避免被追踪、不留下持久画像的自动化网页交互。

限制与注意事项

  • 需要配置 LLM 提供方(如 Anthropic)及相应 API Key 才能进行推理。
  • 使用轮换代理、限流等高级能力需要额外配置。
  • 官方文档提供了法律与合规提示:该工具用于隐私保护的网页交互,用户需自行负责遵守网站服务条款、所在司法辖区的适用法律,并以合乎伦理和负责任的方式使用。框架提供技术能力,法律合规由用户负责。
  • 关于收费、价格、具体平台支持范围等事实,资料中暂未提供。