mirror of
https://github.com/RuoJi6/ARTEX.git
synced 2026-10-27 17:03:49 +08:00
审查模型改为接收版本化 JSON:任务描述/目标/操作约束、工作目录、Worker 意图、当前轮输入,以及按 tool_use_id 配对的近期工具执行记录;末尾是完整的 tool_name 与 arguments。 - 任务约束每次审查从数据库重新读取;读取失败或约束超预算转人工。 - 历史只保留唯一配对的执行事实,排除 Agent 自述、未完成请求与平台拒绝反馈。 - 裁决改为 JSON decision(allow/ask/deny) + comment,三种结果均须说明实际操作、成功后果与命中规则。 - 所有模型裁决(含自动放行)保存实际模型输入与 SHA-256 指纹,详情页可展开。 - 对话审批卡片支持展开完整请求、模型输入、裁决与执行结果。 - 修复父目录 lockfile 导致的 Turbopack 根目录误判。 官方默认拦截规则、工具范围与优先级不变。
43 lines
1.7 KiB
JavaScript
43 lines
1.7 KiB
JavaScript
import { fileURLToPath } from "node:url";
|
|
|
|
// 静态导出:`NEXT_EXPORT=1 next build` 产出纯静态目录到 web/out,可直接丢进
|
|
// nginx web 根目录运行。开发(next dev)不设该变量,保留 /api 反代与热更新。
|
|
const isExport = process.env.NEXT_EXPORT === "1";
|
|
// Vercel demo:整站走 mock,无后端,无需 /api 反代。
|
|
const isMock = process.env.NEXT_PUBLIC_MOCK === "1";
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
// 避免父目录的 lockfile 影响根目录推断及资源路径生成。
|
|
turbopack: { root: fileURLToPath(new URL(".", import.meta.url)) },
|
|
reactCompiler: true,
|
|
// 允许从局域网 IP 访问 dev 资源(HMR),按需增删。
|
|
// dev 阶段放开任意 IPv4 来源访问 /_next/* 与 HMR(局域网 IP 变动也不受影响)。
|
|
// 注意:Next 出于安全禁止裸 "*",需用分段通配;"*.*.*.*" 匹配任意 IPv4。
|
|
allowedDevOrigins: ["*.*.*.*"],
|
|
compiler: {
|
|
removeConsole: process.env.NODE_ENV === "production",
|
|
},
|
|
...(isExport
|
|
? {
|
|
// 纯静态导出:无 Node 运行时;图片不经优化;每个路由产出 <route>/index.html。
|
|
output: "export",
|
|
images: { unoptimized: true },
|
|
trailingSlash: true,
|
|
}
|
|
: isMock
|
|
? {
|
|
// Vercel mock demo:无后端,不需要 /api 反代。
|
|
images: { unoptimized: true },
|
|
}
|
|
: {
|
|
// 开发:把 /api/* 反代到 Go 后端(默认 :8787,可用 AUTOPENTEST_API 覆盖)。
|
|
async rewrites() {
|
|
const backend = process.env.AUTOPENTEST_API ?? "http://localhost:8787";
|
|
return [{ source: "/api/:path*", destination: `${backend}/api/:path*` }];
|
|
},
|
|
}),
|
|
};
|
|
|
|
export default nextConfig;
|