Files
gzth/yuthon_ai_agent/README.md
T
2026-05-28 10:15:40 +08:00

129 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Yuthon AI Agent - 智能助手
> Odoo 17 内嵌 AI 智能体模块,让 ERP 系统具备自然语言交互能力。
**作者:** pengyuthon
**邮箱:** pengyuthon@163.com
**微信:** pengyuthon
**版本:** 17.0.2.2.0
**许可证:** LGPL-3
---
## 功能清单 & 价值分析
### 一、智能对话核心
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **AI 对话面板** | Web 端内嵌全屏聊天界面,支持完整对话记录 | 员工无需离开 ERP 系统即可获得 AI 辅助,**降低操作门槛**,不需要额外购买/部署 ChatGPT 等工具 |
| **浮动聊天窗口** | 右上角紫色图标一键唤出,支持展开/收缩 | **随时随地即问即答**,不打断当前业务操作流程,提升工作效率 |
| **多会话管理** | 支持新建、切换、删除对话,每个对话独立上下文 | 不同业务场景分开讨论,**对话不混乱**;历史可追溯,方便复盘 |
| **对话历史存储** | 所有消息持久化存储在数据库中 | 可审计、可追溯,**满足企业合规需求**;管理员可查看全部对话 |
### 二、数据交互能力 (Function Calling)
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **自然语言查数据** | 用户说"查一下本月销售订单",AI 自动调用工具查询 | **大幅降低 ERP 使用门槛**,新员工无需培训也能查数据,**降低实施和培训成本** |
| **数据统计** | "公司有多少员工"、"本月开了几张发票" | **让管理层随口问就能得到数据**,不用等报表、不用等 IT 部门导出,**提升决策效率** |
| **字段探索** | 不确定字段名时 AI 自动调用 `fields_get` 探索 | 遇到不熟悉的模块,**AI 自己搞清楚再回答**,减少错误回答 |
| **数据创建/修改/删除** | 可控的写入能力(需管理员开启) | "帮我建一个客户叫张三" — **简单业务操作无需进入表单手动填写**,节省操作时间 |
| **权限隔离** | 所有工具调用走当前用户权限 (ir.rule) | AI 看不到用户权限外的数据,**安全可控**,不会越权访问 |
### 三、用户个性化体系
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **用户 AI 画像** | 每人一个画像:称呼、职位、部门、沟通风格、自定义指令 | AI 了解每个人的背景,**回答更精准更贴合** |
| **关联 HR 员工** | 画像自动关联 `hr.employee`,一键带出职位/部门 | **零配置**,装好模块就能用,不用每个人手动填信息 |
| **AI 长期记忆** | AI 自动识别并保存用户偏好、工作内容、专业知识 | **越用越懂你**,记住你的习惯和偏好,**替代重复沟通** |
| **沟通风格定制** | 简洁/详细/轻松/正式 四种风格 | 技术人员要简洁结论,管理层要详细分析,**一个 AI 适配不同角色** |
### 四、规则配置系统
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **回复指令** | 控制 AI 回答风格(如"不超过200字"、"用表格展示") | **统一企业 AI 输出标准**,不同员工问同类问题,回答格式一致 |
| **限制规则** | 禁止 AI 回答特定话题(如薪资、商业机密) | **信息安全防护**,防止敏感数据通过 AI 泄露给无关人员 |
| **技能接口** | 对接外部 API(天气/知识库/审批等),AI 自动判断何时调用 | **扩展 AI 能力边界**,可以调企业内部知识库、业务系统 API,打通数据孤岛 |
| **按用户组生效** | 规则可指定适用用户组 | **精细化管控**:销售组禁止查成本价,管理层开放完整权限 |
| **按服务商绑定** | 规则关联到具体服务商 (Many2many) | 不同模型不同规则:推理模型不开工具调用,对话模型配全规则 |
### 五、成本管控
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **Token 用量追踪** | 每次调用自动记录 prompt/completion/total token | **精确到人、到次、到服务商的成本核算**,知道钱花在了哪里 |
| **Token 汇总统计** | SQL 视图聚合分析,按用户/服务商/模型维度 | **发现异常用量**:谁在刷、哪个模型性价比低,辅助采购决策 |
| **Stat Button 穿透** | 用户画像和服务商表单都有 Token 统计按钮 | 管理员**一眼看到**每个用户/每个服务商的消耗情况 |
### 六、多服务商架构
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **多 Provider 配置** | OpenAI / Azure / 本地模型 / 自定义,可配多个 | **不绑定单一厂商**,随时切换。想用便宜的用 DeepSeek,想要强推理用 GPT-4o |
| **独立参数配置** | 每个服务商独立配 Token 上限、温度、超时 | 不同场景不同参数:日常对话低 Token 省钱,复杂分析高 Token 保质量 |
| **API Key 升级保护** | `noupdate="1"` 防止模块升级覆盖已填的 API Key | 运维无忧:**升级模块不丢配置** |
### 七、权限与安全
| 功能 | 说明 | 业务价值 |
|------|------|---------|
| **双层用户组** | 普通用户组 + 管理员组,继承关系 | 普通用户只有"我的 AI"入口,管理员有"系统配置",**职责分离** |
| **数据记录规则** | 对话/画像/记忆/Token 全部做了 ir.rule 隔离 | 用户只能看自己的数据,**隐私保护**到位 |
| **工具调用权限** | 写入能力默认关闭,需管理员手动开启 | **防止 AI 误操作**,创建/修改/删除必须显式授权 |
| **工具调用轮次上限** | 最多 6 轮防死循环 | **防止 Token 无限消耗**,异常场景自动熔断 |
---
## 核心价值总结
| 维度 | 价值 |
|------|------|
| **降低实施成本** | 员工通过自然语言查数据,减少 80% 的"怎么查XXX"类咨询需求,优先内部自助解决 |
| **降低培训成本** | 新员工不用学复杂的 ERP 操作,问 AI 就行,入职即可用 |
| **提升决策效率** | 管理层随口问数据,不用等人导报表 |
| **信息安全** | 规则 + 权限双重防护,敏感数据不泄露 |
| **成本可控** | Token 精确计量到人到次,杜绝滥用 |
| **可扩展** | 技能接口可对接任意外部系统,AI 能力无上限 |
---
## 菜单结构
```
AI 助手
├── 我的 AI ← 普通用户唯一入口(画像、记忆、对话、Token 统计)
└── 系统配置 ← 管理员专属
├── 服务商配置(含 Token 统计 & 关联规则)
├── 规则配置(回复指令 / 限制规则 / 技能接口)
└── 用户列表
```
---
## 技术栈
- **后端:** Odoo 17 (Python 3.10+)
- **前端:** Odoo OWL Framework
- **AI 接口:** OpenAI 兼容 API(支持 DeepSeek / Qwen / Ollama / Azure 等)
- **数据库:** PostgreSQL(含 SQL 视图聚合)
---
## 安装
1. 将模块目录放入 Odoo 17 addons 路径
2. 更新应用列表,搜索 **Yuthon AI Agent** 安装
3. 进入 **AI 助手 → 系统配置 → 服务商配置**,填入 API 地址和 Key
4. 将需要使用 AI 的用户加入 **AI Agent 用户** 组
---
## 联系方式
- **作者:** pengyuthon
- **邮箱:** pengyuthon@163.com
- **微信:** pengyuthon