fix: RG-001 max_total_tokens 规则失效修复 问题:_extract_total_tokens_from_response_obj 对 LiteLLM 响应的 usage 字段 提取失败(Pydantic 嵌套对象、Responses API 格式不兼容),导致 trace_total_tokens 始终为 0,max_total_tokens 阈值永不触发。 修复: 重写 _extract_total_tokens_from_response_obj: 优先直接读取 Pydantic 属性(绕过 model_dump 序列化) 序列化后读取 + 嵌套 Pydantic 对象 fallback 兼容 Responses API 的 input_tokens + output_tokens 格式 类型检查放宽为 (int, float) 兼容部分 provider _accumulate_trace_total_tokens 增加诊断日志(delta=0 时记录 token_accumulate_skip) policy.json: max_total_tokens 调整为 1200000000
fix: RG-001 max_total_tokens 规则失效修复
问题:_extract_total_tokens_from_response_obj 对 LiteLLM 响应的 usage 字段 提取失败(Pydantic 嵌套对象、Responses API 格式不兼容),导致 trace_total_tokens 始终为 0,max_total_tokens 阈值永不触发。
修复:
RedCore 是基于 OpenClaw 的多 Agent AI 协作平台,提供多 Agent 对话、全球资讯态势感知、Agent 管理与编排、定时任务等能力。
确保你的系统已安装:
node -v
npm -v
openclaw --version
npm install -g openclaw
Windows 用户:以下终端命令请在 WSL2 (Ubuntu) 或 Git Bash 中执行,不要在 CMD/PowerShell 中执行。
git clone https://github.com/fewioj9f/ttt.git ~/redcore cd ~/redcore npm install
npm install 会自动安装前端依赖和 auth-server 依赖。
npm install
首次使用 OpenClaw 需要完成初始化配置(选择模型提供商、填入 API Key 等):
openclaw onboard
按提示操作:选择模型提供商(如 DeepSeek)→ 输入 API Key → Gateway 配置(默认端口 18789 即可)→ 跳过频道和技能(可选)。
如需后续修改配置:openclaw configure --section model(修改模型)或 openclaw configure --section gateway(修改网关)。
openclaw configure --section model
openclaw configure --section gateway
# 在一个终端中前台运行 Gateway(开发推荐) openclaw gateway run # 或者安装为系统服务后台运行 openclaw gateway install openclaw gateway start
看到 Gateway running on ws://127.0.0.1:18789 表示启动成功。
Gateway running on ws://127.0.0.1:18789
Gateway 必须保持运行,另开一个终端执行后续步骤。
在新终端中执行:
openclaw config get gateway.auth.token
复制输出的 Token 字符串,下一步需要用到。
如果输出为空,执行 openclaw doctor --generate-gateway-token 自动生成一个。
openclaw doctor --generate-gateway-token
方式 A:单用户模式(推荐个人使用)
cd ~/redcore npm run dev
浏览器打开 http://localhost:3000 ,在「系统设置 → 连接配置」中粘贴上一步获取的 Gateway Token,点击「保存」。
方式 B:多用户模式(团队协作)
cd ~/redcore cp .env.example .env
编辑 .env 文件,填入以下内容:
.env
# 必填:DeepSeek API Key DEEPSEEK_API_KEY=sk-your-key-here # 必填:Gateway Token(第五步获取的) REDCORE_GATEWAY_TOKEN=your-gateway-token # 可选:修改端口(默认即可) REDCORE_PROXY_PORT=3002 REDCORE_GATEWAY_URL=ws://localhost:18789
然后一键启动:
npm run start:all
浏览器打开 http://localhost:3000 ,注册账号后登录即可。
多用户模式通过 Auth Proxy 实现用户隔离,每个用户只能看到自己的会话和 Agent。
ArbiterOS 为 Agent 提供安全策略管控、指令审计和工具调用过滤。不安装不影响核心功能,安装后可增强安全性。
cd ~/redcore npm run setup:arbiteros
按提示操作,脚本会自动:安装 Python 依赖 → 生成 litellm 配置 → 注册模型到 OpenClaw。
启动方式:npm run start:all 会自动检测并启动 ArbiterOS Kernel。
详细说明见 README-ARBITEROS.md。
redcore/ ├── src/ # 前端源码 │ ├── api/ # WebSocket RPC + HTTP 客户端 │ ├── pages/ # 9 个页面(对话/资讯/代理/技能/数据库/任务/日志/设置/协作) │ ├── components/ # UI 组件(chat/news/agents/groupchat/federation/...) │ ├── store/ # Zustand 状态管理(chat/agent/news/groupChat/federation) │ ├── engine/ # 引擎(relay/groupChat/delegate/messageBus) │ ├── auth/ # 多用户认证(JWT + 登录/管理员页) │ ├── main.jsx # 入口 │ ├── App.jsx # 根组件 │ └── index.css # 全局样式 ├── auth-server/ # 独立认证代理(多用户模式) │ ├── index.js # Express + WS 代理入口 │ ├── ws-proxy.js # WebSocket RPC 代理 + 数据隔离 │ ├── db.js # SQLite 初始化 │ ├── routes/ # REST 路由(auth/admin/files) │ └── package.json # 独立依赖 ├── scripts/ # 部署脚本 │ ├── start-all.sh # 一键启动(Gateway + Auth Proxy + 前端) │ └── setup-arbiteros.sh # ArbiterOS 安装配置 ├── arbiteros/ # ArbiterOS 安全治理内核(可选) ├── package.json # 依赖 + 脚本 ├── vite.config.js # Vite 配置 ├── tailwind.config.js # Tailwind 主题 └── index.html # HTML 入口
/chat
/news
/groupchat
/agents
/skills
/database
/tasks
/logs
/settings
React 18 + Vite 5 + TailwindCSS 3 + Zustand 4 + ECharts 6 + WebSocket RPC (Protocol v3) + Ed25519 签名
# 确认 Node.js 版本 node -v # 需要 >= 18 # 清除缓存重试 rm -rf node_modules package-lock.json && npm install # 网络问题可切换镜像 npm config set registry https://registry.npmmirror.com
openclaw config get gateway.port
http://localhost:3000
curl http://localhost:3002/api/health
浏览器需在安全上下文中运行(localhost 或 HTTPS),不能用 IP 地址直接访问。
localhost
清除 localStorage 会导致设备身份丢失。解决方法:
rm ~/.openclaw/devices/paired.json
npm run build # 产出 dist/ 目录 # dist/ 可用任意静态服务器托管,支持子目录部署
生产环境需确保 Gateway allowedOrigins 包含前端域名,且应关闭 allowInsecureAuth。
allowedOrigins
allowInsecureAuth
npm run dev
npm run build
npm run start:auth
npm run start:arbiteros
npm run setup:arbiteros
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
RedCore — 红芯战场大脑
RedCore 是基于 OpenClaw 的多 Agent AI 协作平台,提供多 Agent 对话、全球资讯态势感知、Agent 管理与编排、定时任务等能力。
快速开始
第一步:安装依赖
确保你的系统已安装:
node -vnpm -vopenclaw --versionnpm install -g openclaw第二步:克隆项目
第三步:配置 OpenClaw
首次使用 OpenClaw 需要完成初始化配置(选择模型提供商、填入 API Key 等):
按提示操作:选择模型提供商(如 DeepSeek)→ 输入 API Key → Gateway 配置(默认端口 18789 即可)→ 跳过频道和技能(可选)。
第四步:启动 Gateway
看到
Gateway running on ws://127.0.0.1:18789表示启动成功。第五步:获取 Gateway Token
在新终端中执行:
复制输出的 Token 字符串,下一步需要用到。
第六步:启动 RedCore
方式 A:单用户模式(推荐个人使用)
浏览器打开 http://localhost:3000 ,在「系统设置 → 连接配置」中粘贴上一步获取的 Gateway Token,点击「保存」。
方式 B:多用户模式(团队协作)
编辑
.env文件,填入以下内容:然后一键启动:
浏览器打开 http://localhost:3000 ,注册账号后登录即可。
可选:ArbiterOS 安全治理
ArbiterOS 为 Agent 提供安全策略管控、指令审计和工具调用过滤。不安装不影响核心功能,安装后可增强安全性。
按提示操作,脚本会自动:安装 Python 依赖 → 生成 litellm 配置 → 注册模型到 OpenClaw。
启动方式:
npm run start:all会自动检测并启动 ArbiterOS Kernel。详细说明见 README-ARBITEROS.md。
项目结构
功能列表
/chat/news/groupchat/agents/skills/database/tasks/logs/settings技术栈
React 18 + Vite 5 + TailwindCSS 3 + Zustand 4 + ECharts 6 + WebSocket RPC (Protocol v3) + Ed25519 签名
常见问题
npm install 失败
聊天无回复
Gateway running on ws://127.0.0.1:18789openclaw configure --section model查看WebSocket 连不上
openclaw config get gateway.porthttp://localhost:3000访问,不能用 IP 地址curl http://localhost:3002/api/healthEd25519 签名失败
浏览器需在安全上下文中运行(
localhost或 HTTPS),不能用 IP 地址直接访问。清除 localStorage 后重连失败
清除 localStorage 会导致设备身份丢失。解决方法:
rm ~/.openclaw/devices/paired.json后重启 Gateway构建产物部署
生产环境需确保 Gateway
allowedOrigins包含前端域名,且应关闭allowInsecureAuth。npm 脚本速查
npm run devnpm run buildnpm run start:allnpm run start:authnpm run start:arbiterosnpm run setup:arbiteros