适用于 OTOBO 的 AI 工单和文章摘要包
适用于 OTOBO 的 AI 工单和文章摘要包
AISummaryPackage 为 OTOBO 增加了 AI 驱动的工单和文章摘要功能。它能让客服人员快速从完整的工单对话或单个文章中创建内部摘要,并为管理员提供提供者配置、提示词自定义和连接测试的控制面板。
功能列表
- 工单缩放界面中的工单 AI 摘要
- 文章操作栏中的文章 AI 摘要
- 管理员 AI 摘要配置界面
- 支持 OpenAI、Claude、Gemini、Azure OpenAI、Ollama 以及兼容 OpenAI 的端点
- 工单和文章摘要的自定义提示词
- 管理后台中的提示词标签参考
- AI 摘要过滤,确保之前生成的 AI 摘要文章不会包含在未来的摘要中
- 仅限内部的摘要文章创建(供客服人员使用)
- 日志记录,可在容器/Docker 输出以及 OTOBO 日志中查看
截图
以下截图按你提供的顺序排列。
1. 工单 AI 摘要

此图显示工单缩放工具栏中的“工单 AI 摘要”操作,客服人员可从中基于完整工单对话生成摘要。
2. 管理后台的 AI 摘要配置

此图显示管理员从 OTOBO 管理后台打开 AI 摘要配置界面的入口。
3. AI 摘要配置详情

此图显示配置界面,包含提供者设置、API 密钥字段、提示词自定义以及用于构建摘要的标签参考面板。
支持的 OTOBO 版本
- 支持:OTOBE 11.0.x
- 未测试:OTOBE 10.x、OTRS、((OTRS)) Community Edition、Znuny
此包专为 OTOBO 开发。未经代码修改和测试,不保证能在 OTRS、((OTRS)) Community Edition 或 Znuny 上运行。
系统要求
- OTOBO 11.0.x
- 在 OTOBO 管理后台拥有包管理器访问权限
- 能够出站访问已配置的 AI 提供者
- 除 Ollama 外的所有提供者都需要有效的端点地址和 API 密钥
- 拥有创建和查看工单文章的权限
该包使用 OTOBO 运行时环境提供的标准 Perl 模块,包括 HTTP::Request 和 LWP::UserAgent。
安装步骤
- 从源码构建
.opm包,或下载发布版本。 - 打开 OTOBO 管理后台。
- 进入“包管理器”。
- 上传
.opm文件。 - 安装该包。
- 进入
管理 -> AI 摘要配置。 - 配置提供者、基础 URL、模型和 API 密钥。
- 测试连接。
如果从源码构建,请使用:
bin/otobo.Console.pl Dev::Package::Build AISummaryPackage/AISummaryPackage.sopm /tmp
升级
通过 OTOBO 包管理器使用较新版本的 .opm 发布包进行升级。升级后,请检查 AI 摘要配置并运行连接测试。
卸载
通过 OTOBO 包管理器删除该包。卸载后,请验证 AI 摘要菜单项和管理界面已消失,并且正常的 OTOBO 工单处理仍按预期工作。
管理员配置
配置界面让管理员设置以下内容:
- 功能启用/禁用状态
- AI 提供者
- 提供者基础 URL
- 模型名称
- API 密钥
- 工单摘要的自定义提示词
- 文章摘要的自定义提示词
管理界面还包含一个连接测试功能,以便在向客服人员启用该功能之前验证提供者的可用性。
客服人员使用方式
客服人员可以从以下位置创建摘要:
- 工单缩放工具栏(针对完整工单对话)
- 文章操作栏(针对单个选定的文章)
生成的摘要会作为 OTOBO 内部文章写入。其目的是帮助支持人员,而非替代人工审核。
AI 提供者设置
该包支持以下提供者:
- OpenAI
- Claude
- Gemini
- Azure OpenAI
- Ollama
- 兼容 OpenAI 的端点
典型设置步骤:
- 选择提供者。
- 设置该提供者的基础 URL。
- 输入模型名称。
- 输入 API 密钥(使用 Ollama 时无需输入)。
- 运行连接测试。
管理界面中显示的基础 URL 示例包括:
- OpenAI:
https://api.openai.com/v1 - Claude:
https://api.anthropic.com - Gemini:
https://generativelanguage.googleapis.com
提示词自定义
你可以从管理界面自定义用于工单和文章摘要的提示词。将提示词留空将使用内置的安全默认值。
标签参考
管理界面会为每种提示类型显示可用的标签。
工单提示标签
OTOBO_TICKET_TicketNumberOTOBO_TICKET_TicketIDOTOBO_TICKET_TitleOTOBO_TICKET_QueueOTOBO_TICKET_StateOTOBO_TICKET_PriorityOTOBO_TICKET_TypeOTOBO_TICKET_ServiceOTOBO_TICKET_SLAOTOBO_TICKET_CreatedOTOBO_TICKET_OwnerOTOBO_TICKET_ResponsibleOTOBO_CUSTOMER_DATA_UserFullnameOTOBO_CUSTOMER_DATA_UserLoginOTOBO_CUSTOMER_DATA_UserEmailOTOBO_CUSTOMER_DATA_UserCustomerIDOTOBO_AI_TICKET_CONVERSATION
文章提示标签
OTOBO_TICKET_TicketNumberOTOBO_TICKET_TicketIDOTOBO_TICKET_TitleOTOBO_TICKET_QueueOTOBO_TICKET_StateOTOBO_TICKET_PriorityOTOBO_ARTICLE_ArticleIDOTOBO_ARTICLE_SubjectOTOBO_ARTICLE_FromOTOBO_ARTICLE_ToOTOBO_ARTICLE_CcOTOBO_ARTICLE_CreatedOTOBO_ARTICLE_SenderTypeOTOBO_ARTICLE_ChannelOTOBO_AI_ARTICLE_CONTENT
日志记录与故障排除
该包会为配置检查、提示生成、提供商请求、摘要提取和文章创建等操作写入结构化事件日志。这些日志会显示在容器/Docker输出以及OTOBO日志流中。
有用的故障排除步骤:
- 确认该包已在OTOBO中启用
- 确认提供商配置完整
- 通过管理界面测试提供商连接
- 检查日志中是否存在API密钥缺失、无效响应或权限问题
- 验证AI提供商能否访问已配置的模型端点
安全与隐私
该包会将工单或文章内容发送至已配置的AI提供商。这意味着在投入生产环境前,您应审查提供商、端点、数据保留策略以及访问控制。
请将API密钥视为机密信息,切勿将其提交至代码仓库。
该包还会创建内部摘要文章,因此请检查您的OTOBO实例中哪些用户可以查看工单文章。
已知限制
- 摘要质量取决于所配置的AI提供商和模型
- 该包假设具备出站网络访问能力
- Ollama不需要API密钥,但端点仍必须可达
- 日志可能包含提示文本和摘要文本,请审查日志保留期限和访问权限
- 尚未提交正式截图集
与OTRS的兼容性
该包专为OTOBO开发。未经代码修改和测试,无法保证能在OTRS、((OTRS)) Community Edition或Znuny上运行。
许可证
GNU通用公共许可证,版本3或更高版本。详见 LICENSE。
支持 / 联系方式
联系方式: https://github.com/imabdelhadi
如遇安全问题,请使用 SECURITY.md。