成本管控 Agent 使用文档

文档生成日期:2026-04-28 | 版本:v1.0

目录

一、整体架构概览

系统基于 OpenClaw 框架,采用 一主多子 的 Agent 架构。每个 Agent 拥有独立的网关端口、配置文件、WeCom Bot、模型池,通过主 Agent 进行统一调度。

架构特点:

二、今日工作调整总结

1. 响应速度优化

将所有 Agent 的默认模型从 deepseek-v4-pro 切换为 qwen3.6-plus(阿里云百炼),响应延迟降低约 60%。同时配置了 11 个可选模型供按需切换。

2. Agent 能力分离

从单一全能 Agent 拆分为 1 主 + 3 子 的专业 Agent 架构:

Agent端口职责
主 Agent(管理调度)15447接收指令、分发任务、监控状态,不做具体业务处理
成本管控15448成本核算、配方分析、BOM 计算、原材料价格查询
差评收集15449差评监控、舆情汇总、售后投诉处理
小红书运营15451社交媒体内容运营、跟帖回复

3. 成本 Agent 权限限制

对成本管控 Agent 的工具权限进行了严格限制:

4. 配方解析引擎重建

从零重建了统一的配方解析引擎(Python),支持 23 种表达方式,其中 18 种常用格式 经过完整测试验证:

5. 本地快速计算服务(V6)

使用 Python HTTP 服务(端口 18900)实现配方解析 + 成本计算全链路本地化,不经过大模型,响应时间 < 50ms。支持:

6. 数据库匹配探索

对未在数据库中找到的食材:

7. systemd 服务化

为所有 4 个 Agent 创建了 systemd 服务单元文件,支持 systemctl start/stop/restart/status 管理。同时编写了批量管理脚本 /workspace/manage-agents.sh

三、Agent 配置一览表

配置项主 Agent成本管控差评收集小红书运营
服务名openclaw-mainopenclaw-costopenclaw-reviewopenclaw-social
端口15447154481544915451
默认模型qwen3.6-plusqwen3.6-plusqwen3.6-plusqwen3.6-plus
WeCom
配置路径home/.openclaw/home-cost/.openclaw/home-review/.openclaw/home-social/.openclaw/
SOUL.md管理角色成本专家差评监控社交运营
浏览器关闭启用关闭关闭

四、成本管控 Agent 深度说明

4.1 数据流

用户 WeCom 消息
  → OpenClaw Gateway (15448)
    → SOUL.md 判断为成本相关
      → curl 调用 V6 本地服务 (18900)
        → parse_recipe() 解析配方
        → calculate_local() 计算成本
        → 返回格式化 Markdown 表格
      → Agent 返回 msg 字段给用户

4.2 数据来源

CSV 文件用途加载位置
01_原材料价格表.csv原材料品名、分类、每克成本、规格/vol1/ai-server/csv/
02_产品配方BOM_在售.csvBOM 使用频率统计、单位计价/vol1/ai-server/csv/
03_门店自制半成品BOM.csv门店自制半成品每克成本/vol1/ai-server/csv/

4.3 别名系统

配方中的名称会自动映射到数据库中的标准品名:

配方中名称映射目标
酸奶散装甜浆
酸奶机散装甜浆
进口蓝莓蓝莓
燕麦奶 / OATLYAmazing燕麦饮
紫薯芋泥爆珠芋泥
桂花桂花原浆(酒酿)

4.4 特殊规则

五、配方解析引擎(核心)

5.1 解析架构

解析器位于 dify-proxy-v6.py,采用 四级级联策略

  1. SOP 表格检测:检测表头行(含"序号"+"品名"+"用量"),按列提取
  2. 多行购物清单:逐行处理,去掉序号/bullet,调用原子解析器
  3. 单行多食材:按 +/,/,/; 分隔,每段调用原子解析器
  4. 全串回退:正则全局匹配(数量+品名 或 品名+数量)

5.2 原子解析器支持的模式

模式编号描述示例状态
1品名 + 阿拉伯数字 + g/克雪酪100g
2阿拉伯数字 + g/克 + 品名40g桂花原浆
3品名 + 阿拉伯数字 + 非克单位芋圆2份
4a中文数字 + 克 + 品名二十克雪酪
4b品名 + 中文数字 + 克雪酪二十克
5a中文数字 + 非克单位 + 品名一份奶酪
5b品名 + 中文数字 + 非克单位奶酪一份
6品名 + 分数 + 单位桂花½克
7纯品名(无数量)百香果果茸

5.3 名称提取策略

从文本片段中提取食材名,采用 双策略组合

  1. CORE_INGREDIENTS 匹配:在 80+ 个已知食材词中找所有匹配,合并相邻/重叠的为一组,取最长连续组
  2. Fallback:无已知词匹配时,提取末尾 2-6 个中文字,过滤口语修饰词

5.4 预处理清理

六、数据库匹配与别名系统

6.1 三层规则匹配

  1. 规则 0:精确名称 — 查询名与数据库品名完全匹配
  2. 规则 1:核心关键词 — 提取核心词(如"牛奶")在数据库品名中搜索
  3. 规则 2:品牌关键词 — 在核心词基础上,叠加品牌词(如"塞尚"+"牛奶")缩小范围

6.2 最佳选择

多个匹配项时,按 BOM 使用频率 降序排列,频率最高的作为默认选项。

6.3 相似品搜索(未找到时)

当食材在数据库中不存在时,使用 字符重叠度 + 连续子串匹配 算法,在数据库中查找最接近的品名作为参考:

七、当前局限与已知问题

问题状态说明
SeARXNG 中文搜索效果差降级改为数据库相似匹配 + 提示用户手动搜索 1688
1688.com 有 WAF 防爬未解无法通过浏览器自动化直接抓取价格
部分新食材数据库缺失已知寒天晶球、猕猴桃果茸等,需通过相似匹配或手动询价
小红书 Agent WeCom 认证待修复Bot credentials 被拒绝 (error 853000),需在企业微信管理后台确认
个别别名不够精准优化中如"桂花冻"映射到"桂花原浆"不够准确

八、运维管理命令

8.1 使用管理脚本

# 查看全部状态
/workspace/manage-agents.sh status

# 重启单个 Agent
/workspace/manage-agents.sh restart cost

# 查看日志
/workspace/manage-agents.sh logs main

8.2 使用 systemctl

# 查看全部状态
systemctl status openclaw-main openclaw-cost openclaw-review openclaw-social --no-pager

# 重启全部
systemctl restart openclaw-main openclaw-cost openclaw-review openclaw-social

# 单独操作
systemctl restart openclaw-cost
journalctl -u openclaw-cost -f --no-pager

8.3 V6 服务管理

# 启动 V6 本地计算服务
python3 /vol1/@apphome/trim.openclaw/data/workspace/dify-proxy-v6.py &

# 测试 V6 服务
curl -s http://127.0.0.1:18900/

# 测试配方计算
curl -s http://127.0.0.1:18900/ -X POST \
  -H "Content-Type: application/json" \
  -d '{"query":"桂花原浆40g+雪酪120g","user":"test","mode":"local"}'

九、使用方法

9.1 在企微群聊中使用

成本核算:在群聊中 @成本管控 Agent 后发送配方即可

管理调度:在群聊中 @主 Agent 询问各 Agent 状态

差评/社交:对应 @差评收集 Agent / @小红书运营 Agent

9.2 配方输入格式

支持多种格式,任意一种都可以

格式 A:SOP 表格

序号  品名  用量  单位
1     桂花原浆  40   g
2     雪酪      120  g

格式 B:+ 号分隔

桂花原浆40g+雪酪120g+散装甜浆200g+冰淇淋80g

格式 C:口语化描述

先放桂花原浆40g,然后加雪酪120g,再倒散装甜浆200g

格式 D:购物清单

1. 桂花原浆 40g
2. 雪酪 120g
3. 散装甜浆 200g

格式 E:逗号分隔

猕猴桃果茸40g,芒果果茸30g,奶酪50g,淡奶油80g

9.3 输出说明

Agent 会返回一个 Markdown 表格,包含:

  1. 成本核算总表:每项食材的用量、单价、小计、状态
  2. 数据源详情:匹配到的数据库品名、别名映射记录
  3. 包装成本:固定 0.7525 元/份
  4. 总成本:食材 + 包装
  5. 未找到食材:数据库中的相似品参考价格
  6. 品牌确认:当同一食材有多个选项且差价 > 30% 时

9.4 状态标记说明

标记含义操作
正常匹配,无价格冲突无需操作
🔀 请确认多个匹配选项,差价较大请回复确认使用哪个品牌