mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 05:51:57 +00:00
3e311ec551
整合(3c-integrate) - 公共层:跨天时长(formatSpan / formatOffset / formatLapse)、本机署名(lib/actor)、检索分类色令牌、 数据源目录(useDatasources)收进公共层;失败说明能一次列出多个写坏的自定义工具,查询超时指到数据源的查询时限 - 管理页收尾:设置页接入统一的离开前确认;检查脚本不再把沙箱里的真实值打进输出 - 画布 ↔ 右栏:点出具印章、点节点能跳到右栏对应位置;「定位」直接聚焦到出问题的字段 - 回答流 / 问数据 / 记录页:失败信息带「去哪修」且不再被翻译两遍;协作团队的结局按执行截取; 等审批时断流重连、而运行已在空档里跑完的,补全事件 扫尾(3c-sweep) - 术语统一:开始运行 / 继续运行、工作流最大步数;未保存的运行统一叫「未保存的工作流」(后端新运行同步) - 沙箱报错不再带 Python 异常类名;新增 check-tokens,未定义的 CSS 变量为 0,两个旧别名迁移后删除 检查脚本(3c-checks) - check-ui 跟上新界面(运行列表按 data 属性找行),加上令牌与选中态的回归断言,输出里的名字打码 - 新增 check-all:按顺序跑全部检查、汇总退出码,--repeat 列出偶发项 - 单节出错只记这一节失败、不再带崩整个脚本;外壳遥测浮层「重新检测」时焦点不再掉到 body 网页工具与 fake-ip - Clash / mihomo 一类代理开 TUN + fake-ip 时,查什么都先拿到 198.18 段的假地址,被当成内网拦截。 新增 AGENTLAB_HTTP_TOOL_FAKE_IP_RANGES(默认空):落在段里的解析结果改向公共 DNS(DoH)核实真实地址, 公网放行、内网照拦、核实不了按拦截处理。DoH 默认先问境外的,境内公共 DNS 会对被封锁的域名返回污染结果 - 列表型环境变量接受逗号分隔(原来注释说逗号分隔、实际只认 JSON 数组);域名解析改为异步,不再阻塞事件循环 验证(沙箱):tsc 干净,pytest 866 passed(两遍),检查脚本全绿。
63 lines
3.1 KiB
Bash
63 lines
3.1 KiB
Bash
# 复制成 .env 后按需修改。所有项都可以留空——留空时用代码里的默认值。
|
||
# API Key 也可以不写在这里,启动后在「设置 → 模型接入」页面填,会加密存进本地 SQLite。
|
||
|
||
# ---- 环境 ----
|
||
# 后端跑在哪个 conda 环境里(dev.sh 用)
|
||
# AGENTLAB_CONDA_ENV=agentlab
|
||
|
||
# ---- 服务 ----
|
||
# AGENTLAB_PORT=8000
|
||
# AGENTLAB_WEB_PORT=5273
|
||
|
||
# ---- 沙箱 ----
|
||
# 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
|