jiawood2006/ai-project-advisor
Hermes Agent 工程 AI 顾问(AI Project Advisor)——微信/企微对话式工程管理:记忆图谱、多群接入、规则+大模型混合引擎、风险雷达。Construction project AI advisor for Hermes Agent: memory graph, multi-group, rule+LLM hybrid, risk radar.
AI Project Advisor is a chat-based assistant for construction projects on WeCom, DingTalk, and H5. It turns messages into project records, tracks milestones and receivables, flags risks, and generates briefings; rule-based commands handle supported tasks, with an LLM fallback for open-ended questions and summaries.
- Uses a separate SQLite database per tenant.
- Includes a reversible masking layer before model requests.
- Supports WeCom, DingTalk, and H5.
full readme from github
工程项目 AI 顾问 · AI Project Advisor
Enzo 工程 AI 助手 —— 由 青岛云境未来文化科技发展有限公司 开发与运营 · 服务全国(远程交付,不限地域)
🔗 在线体验(官网):https://yunvela.com/ · 微信扫码即可试用
把 AI 顾问装进企业微信/钉钉:项目群里正常说话,它负责记录一切、盯节点、盯回款、提醒风险、出报告。
不是软件,没有菜单按钮——会用企业微信就会用。记录用文字/语音/图片随手发,顾问在后台把内容变成结构化档案,并且每天主动找您一次(早报/日报/预警)。
企微群 · 老板单聊 · 钉钉 · H5 网页
│
▼
适配器层 adapters/{wecom_app, wecom_aibot, dingtalk, h5}
│ 同客户同库 · msg_id 去重 · 群聊才带 group_id
▼
统一接入层 gateway/core.py ← 一客户一租户一 SQLite
│
▼
脱敏中间层 masking.py ← 手机号/金额/单位/人名 → 占位符,本地金库可逆
│
▼
顾问引擎 advisor_engine.py
├─ 规则命令层(建档/节点/签证/材料/回款…) ← 不调大模型,零 token
├─ 记忆图谱(项目-事件-承诺-资源方,可回溯"谁在什么时候说了什么")
├─ 8 个顾问(进度/回款/变更/资料/风险/巡检/复盘/新人)
└─ LLM 兜底(自由问答、行业知识注入)
│
▼
回复 / 早报 / 日报 / 驾驶舱看板
能力
| 你能说 | 它做什么 |
|---|---|
| 「新建项目:XX大厦装修,合同80万,工期3个月,负责人王经理」 | 6 步建档 → 自动生成付款计划与节点 |
| 「钢筋验收过了吗?」 | 查档案回答(谁/何时/依据),不看资料不编 |
| 「回款情况」/「现金流怎么样」 | 应收台账 + 逾期提醒 + 催款话术(附对话依据) |
| 「签证:外墙增加保温 2.8万」 | 登记签证台账 → 结算前自动提示未签/已签/已付 |
| 「材料:XX 100台 1750元」/「材料到货」 | 材料台账 + 到货跟踪 + 名称/数量/单价解析 |
| 「有什么风险」 | 风险雷达:甲方被执行/失信、对接人变动、资源方异常 |
| 「生成周报」/「项目总结」 | 基于全量数据生成周报、复盘材料并归档 |
| 群里随手说的承诺 | 自动归档(谁/何时/原话),换人/赖账时调得出记录 |
- 多租户:客户各自独立库,A 项目群看不到 B 项目群;老板单聊看全局。
- 多平台:企业微信自建应用、企微智能机器人、钉钉、H5 网页版共用同一个引擎与数据模型。
- 省 token:命令类走规则引擎(0 token),只有自由问答/总结才调模型;知识库走关键词检索而非向量库。
- 每日主动:早报预警 7:30、日报推送 8:00、日报生成 22:00(cron)。
对外红线(写进 prompt 的硬约束)
- 只记录事实、盯节点、提醒风险、给建议 —— 不替客户做商业决策(不比价、不选型、不定价)。
- 不自动测算时间节点 —— 只标注合同/文件里写明的、以及客户口述提供的(避免责任风险)。
- 需签章成果由持证人签署(借人不借资质)。
- 数据隔离:一租户一库;对外脱敏后才送模型。
目录
advisor_engine.py 顾问引擎(规则命令 + 记忆图谱 + LLM 兜底)
advisor_llm.py LLM 调用封装(OpenAI 兼容;key 走环境变量)
masking.py 脱敏中间层(可逆,本地金库,fail-closed)
gateway/
core.py 统一接入层:租户路由 / 去重 / 分发
onboard.py 扫码接入:专属码 → 开通 → 绑定租户
adapters/ wecom_app / wecom_aibot / dingtalk / h5
h5/ 网页版对话页 + 服务
wecom_bot.py 企业微信机器人(单租户长连接版)
advisor_alerts.py 早报预警 advisor_daily_summary.py 日报生成/推送
test_*.py 测试(不调大模型,可离线跑)
快速开始
# 引擎自带 sqlite,无第三方依赖;测试可离线跑
python3 test_advisor.py # 27 项
python3 test_gateway.py # 29 项(4 平台报文 → 同一引擎 → 同一库)
python3 test_masking.py # 16 项(脱敏可逆性/不泄漏/一致性/容错)
python3 test_onboard.py # 30 项(扫码接入/专属码/限流)
python3 test_masking_e2e.py # 2 项(端到端 + 金库权限 600)
实测(2026-10-01):5 个测试文件、104 项断言、全部通过。
配置(环境变量):
| 变量 | 说明 |
|---|---|
ADVISOR_DB / 租户 db 路径 |
数据文件位置(默认按租户分库) |
LLM_BASE_URL / LLM_API_KEY / LLM_MODEL |
模型接入(key 只走环境变量,不写死) |
ADVISOR_MASK=0 |
关闭脱敏中间层 |
ASR_FIX_DICT(见姊妹项目) |
语音转写纠错表 |
与 Hermes Agent 的配合
本项目配套一个标准格式的 Hermes 技能,装上之后 Hermes Agent 就掌握了本产品的产品规格与技术 架构(多平台接入层、多租户数据隔离、规则引擎优先的省 token 设计、记忆图谱),可以据此做二次开发、 部署上线与日常巡检;本项目本身也是在 Hermes Agent 下开发与运维的。
hermes skills install jiawood2006/hermes-skills/skills/ai-project-advisor
技能源码:https://github.com/jiawood2006/hermes-skills/tree/main/skills/ai-project-advisor
变更记录
- 2026-10-02 · 单一引擎合并:原先「企微顾问」与「扫码检验」各自维护一份
advisor_engine.py(已分叉)。 现合并为一份(本仓库此文件即唯一来源),并修掉 3 个已复现的缺陷:- 大模型「优先作答」分支排在规则识别之前 —— 有 API key 时收款金额/承诺到期日不落库;
- 建档引导会吞掉业务消息 —— 「收到20万」「答应明天付尾款」被当成建档步骤;
- 函数内重复
import advisor_llm使该名字成为局部变量 —— 未绑定项目时抛UnboundLocalError。 测试:test_advisor.py27/27;test_gateway.py/test_masking.py/test_onboard.py全部通过。
文档
English
An AI project advisor that lives inside WeCom/DingTalk: chat normally in a project group and it turns messages into structured records (milestones, payments, visa/change orders, material ledgers, promises), watches deadlines and receivables, pushes a daily briefing, and answers questions with citations back to the original conversation. Rule-engine first (zero tokens) with an LLM fallback; a reversible masking layer strips phones/amounts/orgs/names before anything leaves the box; one SQLite DB per tenant behind a unified multi-platform gateway (WeCom app/bot, DingTalk, H5).
如果这个项目对你有用,欢迎点个 ⭐ Star —— 这是我们继续打磨的动力。
关于
- 产品名称:Enzo 工程 AI 助手(工程项目 AI 顾问)
- 开发与运营:青岛云境未来文化科技发展有限公司
- 服务范围:全国(远程交付,不限地域)
- 官网:https://yunvela.com/ | 联系:enzo@yunvela.com
License
MIT(见 LICENSE)。