mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 07:02:00 +00:00
b2f6d8d7d2
- 依赖与锁文件:[postgres] 里装的是什么、为什么 langgraph-checkpoint 单独卡小版本、checkpoint-postgres 锁在 3.1.2;数据位置:PostgreSQL 时不再用 agentlab.db / checkpoints.db;开发与验证:scripts/test-postgres.sh - environment.yml 带上 [postgres];.env.example 补应用库一节 - deploy.sh:数据目录里没有 agentlab.db(库在 PostgreSQL)时,认 .secret_key、uploads/ 也算 AgentLab 的数据目录,不再拒绝改属主 - 断点库的连接串不带只给 asyncpg 看的参数(prepared_statement_cache_size 之类,psycopg 不认);地址规范化、启动日志不带密码的测试
74 lines
3.9 KiB
Bash
74 lines
3.9 KiB
Bash
# 复制成 .env 后按需修改。所有项都可以留空——留空时用代码里的默认值。
|
||
# API Key 也可以不写在这里,启动后在「设置 → 模型接入」页面填,会加密存进本地 SQLite。
|
||
|
||
# ---- 环境 ----
|
||
# 后端跑在哪个 conda 环境里(dev.sh 用)
|
||
# AGENTLAB_CONDA_ENV=agentlab
|
||
|
||
# ---- 服务 ----
|
||
# AGENTLAB_PORT=8000
|
||
# AGENTLAB_WEB_PORT=5273
|
||
|
||
# ---- 应用库 ----
|
||
# 不设:数据目录里的 SQLite(data/agentlab.db,断点 data/checkpoints.db),单机单进程。
|
||
# 设成 PostgreSQL 时整个应用库和断点都放进去(要 [postgres] 额外依赖,environment.yml 已带);数据目录照样要有。
|
||
# 从现有的 SQLite 数据目录搬过去:python -m app.db copy-to-postgres data(README「用 PostgreSQL」)
|
||
# AGENTLAB_DATABASE_URL=postgresql+asyncpg://agentlab:密码@127.0.0.1:5432/agentlab
|
||
# 断点放另一个库时才设(不设就和应用库同一个库)
|
||
# AGENTLAB_CHECKPOINT_URL=postgresql://agentlab:密码@127.0.0.1:5432/agentlab_checkpoints
|
||
# 连接池:每个进程常驻几条、高峰再多开几条;设成 0 不用连接池(前面有 PgBouncer 时)
|
||
# AGENTLAB_DB_POOL_SIZE=10
|
||
# AGENTLAB_DB_MAX_OVERFLOW=20
|
||
|
||
# ---- 沙箱 ----
|
||
# auto(挑第一个已就绪的:microvm → bubblewrap → seatbelt → local)
|
||
# 可选值:microvm | seatbelt | bubblewrap | local | off
|
||
# AGENTLAB_SANDBOX_BACKEND=auto
|
||
|
||
# ---- microVM 沙箱(独立 Linux 内核,需 conda 环境装了 [microvm] 额外依赖)----
|
||
# 注意:内存/CPU/进程表是内核级真限额,但网络关不干净——HTTP/HTTPS 断得掉,
|
||
# UDP/53 拦不住,DNS 隧道外泄通道始终开着。防外泄要靠网络层,别指望沙箱。
|
||
# 跑代码用的 OCI 镜像,首次使用会拉取并缓存到 ~/.microsandbox(实测约 55s,仅此一次)
|
||
# AGENTLAB_MICROVM_IMAGE=python:3.12-slim
|
||
# 同 session 复用同一台 VM;空闲这么久就回收,避免闲置 VM 占内存
|
||
# AGENTLAB_MICROVM_IDLE_SECONDS=300
|
||
# 单次启动(含首次拉镜像)的等待上限
|
||
# AGENTLAB_MICROVM_BOOT_TIMEOUT=300
|
||
# AGENTLAB_SANDBOX_TIMEOUT=30
|
||
# 内存限额:microvm 后端真实生效;seatbelt/local 在 macOS 上限不住(不强制 RLIMIT_AS)
|
||
# AGENTLAB_SANDBOX_MEMORY_MB=512
|
||
# AGENTLAB_SANDBOX_NETWORK=false
|
||
|
||
# ---- 执行护栏 ----
|
||
# AGENTLAB_MAX_GRAPH_STEPS=200
|
||
# AGENTLAB_MAX_AGENT_STEPS=25
|
||
# AGENTLAB_MAX_CONCURRENT_RUNS=20
|
||
|
||
# ---- HTTP 工具 ----
|
||
# 逗号分隔的域名白名单;留空表示只拦内网地址,不限制公网域名
|
||
# AGENTLAB_HTTP_TOOL_ALLOWLIST=api.github.com,news.ycombinator.com
|
||
# 本机代理(Clash / mihomo 等)开了 TUN + fake-ip 时,查任何域名都先拿到这个段的假地址,
|
||
# 网页工具会把它当内网拦掉。填上之后,落在段里的解析结果改向公共 DNS 核实真实地址:
|
||
# 公网放行,内网照拦,核实不了也拦。没开 fake-ip 就留空
|
||
# AGENTLAB_HTTP_TOOL_FAKE_IP_RANGES=198.18.0.0/15
|
||
# 核实用的 DNS-over-HTTPS(JSON 接口),逗号分隔,按顺序试;写 IP 形式免得解析它自己的域名。
|
||
# 境外的放前面:境内公共 DNS 对被封锁的域名返回污染结果,会被当成内网误拦
|
||
# AGENTLAB_HTTP_TOOL_DOH_URLS=https://1.1.1.1/dns-query,https://223.5.5.5/resolve
|
||
|
||
# ---- 落库加密密钥 ----
|
||
# 留空会自动生成并存到 data/.secret_key。换了这个值,之前存的 API Key 会解不开。
|
||
# AGENTLAB_SECRET_KEY=
|
||
|
||
# ---- 模型凭据(可选,首次启动会自动导入成 provider)----
|
||
# ANTHROPIC_API_KEY=sk-ant-...
|
||
# 用中转网关时填这两个(会以 Authorization: Bearer 发送)
|
||
# ANTHROPIC_BASE_URL=https://your-gateway.example.com/api
|
||
# ANTHROPIC_AUTH_TOKEN=...
|
||
# OPENAI_API_KEY=sk-...
|
||
|
||
# ---- 可选增强 ----
|
||
# 配了就用 Tavily 搜索,否则 web_search 退回 DuckDuckGo
|
||
# TAVILY_API_KEY=tvly-...
|
||
# 打开后知识库用 OpenAI embedding 代替本地哈希向量(检索质量更好)
|
||
# AGENTLAB_USE_OPENAI_EMBEDDINGS=1
|