我本周构建的内容:Perfex CRM模块和管理员用户体验
Tech
Perfex CRM
AI Filters
Email History
CRM

我本周构建的内容:Perfex CRM模块和管理员用户体验

对我本周发布的Perfex CRM管理员层工作的实用回顾:电子邮件历史、AI过滤器、移动管理员用户体验、潜在客户后续步骤和Perfex CRM的发布门。

Uygar DuzgunUUygar Duzgun
Jul 24, 2026
更新於 2026年7月26日
8 min read

我本周构建的内容:Perfex CRM模块和管理员用户体验

本周我构建了两个Perfex CRM模块和一个更广泛的Perfex CRM管理员用户体验改进。这不是一个大功能,而是对每天拖慢CRM团队工作的实用清理:找到正确的上下文、过滤列表而不需要记住每个字段、在移动设备上浏览表格,以及在不猜测的情况下发布模块更新。

重要的是,我将工作紧密围绕Perfex CRM进行,而不是在其旁边构建一个第二系统。新组件是模块、钩子、列表改进和适合现有管理员工作流程的发布检查。

核心理念:保持Perfex原生,使工作更快

the Perfex CRM管理员层已经存在于Perfex CRM内部,因此目标不是替换Perfex,而是消除其周围的摩擦。

CRM通常会以小方式变得混乱。表格变得难以浏览。电子邮件上下文位于潜在客户之外。过滤器很强大,但员工需要知道确切的字段才能使用它们。移动管理员页面在技术上可以工作,但它们感觉像是被挤压到手机上的桌面页面。

这就是我本周工作的内容。两个模块构建最为重要:电子邮件历史和AI过滤器。

实际变化

这项工作分为四个实际改进:更好的客户上下文、更快的CRM过滤、更清晰的管理员表格和更安全的模块发布。电子邮件历史处理上下文问题。AI过滤器处理搜索和细分问题。DataTables的改进使日常管理员屏幕更易于浏览。发布门减少了发布损坏的Perfex CRM模块更新的风险。

对于搜索,主要主题是Perfex CRM模块,但真正的意图更广泛:团队希望CRM自动化不会泄露数据、打破原生工作流程或迫使员工学习新的仪表板。

模块1:Perfex CRM的电子邮件历史

电子邮件历史模块为Perfex的潜在客户和客户添加了只读对话视图。

该模块从配置的IMAP邮箱或.eml目录导入匹配的消息,然后仅在外部参与者的电子邮件与Perfex中的潜在客户或客户联系电子邮件完全匹配时链接消息。这个精确匹配规则很重要。它保持模块的实用性,而不会将其变成一个松散的电子邮件搜索索引。

该模块不发送邮件、不回复邮件、不删除邮件或将消息标记为已读。它被构建为证据和上下文,而不是另一个收件箱。

对于潜在客户屏幕,有用的部分很简单:当我打开一个潜在客户时,我可以在不离开CRM的情况下查看最新的可访问电子邮件上下文。相同的上下文也可以支持潜在客户档案中的下一步决策。如果潜在客户沉默了,如果最新的电子邮件更改了状态,或者如果员工需要提醒上一次真实对话,CRM视图就有证据在附近。

我还在内部邮件周围添加了更强的边界。该模块支持忽略同域电子邮件和额外的内部公司域,因此仅内部的对话不会污染客户历史视图。现有的审计数据不会因为可见性规则的变化而被删除。

数据处理故意保持保守。它存储纯文本、参与者、视图所需的标题和确切的CRM关系。它不存储附件、不渲染HTML、不加载远程图像、不运行跟踪像素或显示iframe。凭证是加密的,导入可以先进行干运行,然后再应用更改。

这就是我更信任的CRM自动化:在应该只读的地方只读,在松散匹配会产生噪音的地方严格匹配,并且有足够的可审计性来理解发生了什么。

模块2:Perfex CRM的AI过滤器

第二个模块是Perfex CRM的AI过滤器。

这个想法很简单:员工用简单的语言描述他们想要的列表,模块将该请求转换为原生Perfex过滤规则。

这很有用,因为CRM已经有过滤逻辑,但用户通常不记得每个字段的位置。他们知道自己想要什么:逾期发票、来自某个来源的高价值潜在客户、具有特定状态的活跃项目、需要关注的票据。该模块将这种意图转化为现有的过滤系统,而不是发明一个单独的搜索层。

安全边界是主要特性。该模块将用户的请求和可用的过滤定义发送给OpenAI。它不发送过滤列表中的行。它不将保存的过滤器作为数据发送。模型不能返回SQL、可执行代码、原始回调或任意列名。服务器在应用任何内容之前会根据允许列表验证输出。

用户界面也围绕恢复构建。如果AI请求失败,用户当前的过滤器和输入的文本保持不变。清除AI过滤器会恢复到确切的预AI过滤器状态。魔杖按钮是为了速度,但结果仍然落在Perfex的原生过滤行为中。

我还将模块配置移入原生Perfex设置区域,添加了加密的只写API密钥处理,并在角色权限周围收紧了卸载清理。对于发布更新,该模块检查不可变的GitHub发布资产、版本元数据、SHA-256摘要、归档路径、PHP语法和同一文件系统的交换行为,然后再替换文件。

这听起来很无聊,直到CRM模块更新出现问题。那时,这就是唯一重要的事情。

管理列表得到了最大的视觉改进

本周可见的部分是管理员列表用户体验。

我为Perfex CRM管理员层的DataTables工作了一个紧凑的卡片行皮肤。目的是使列表屏幕更易于浏览,而不改变底层数据源。标题得到了更清晰的排序指示。活动排序列现在显示更强的强调箭头,而未排序的列保持较轻的提示。行操作被压缩到一个小菜单中,标签溢出现在使用+N模式,而不是拉伸行。

潜在客户也得到了更强的结构。状态向前移动,联系操作变成了更清晰的图标列,来源则移动到它应该在的位置。这使得表格更像一个工作队列,而不是原始数据库导出。

我还通过使用md5版本的custom.css URL修复了管理员CSS的缓存问题。这是一个小改动,但效果显著:不可变的浏览器缓存不应该让员工在用户体验修复发布后盯着旧样式表。

移动管理员工作

CRM管理员在手机上不应该崩溃。

本周包括了对客户、潜在客户、项目、任务、发票、费用和估算的移动改进。我收紧了关键列、触摸目标、输入、分页对比、右边缘滚动提示、焦点环和暗模式行为。

这不是为了让CRM感觉像一个消费应用。它是为了在某人离开桌子时使快速管理员工作成为可能。如果用户只需要检查一个潜在客户、浏览一张发票或更新一个任务,页面不应该因为在移动设备上打开而惩罚他们。

知识库搜索被重建

知识库列表也进行了真正的搜索改进。

我添加了一个中央搜索英雄、实时计数、高亮显示、Enter和Escape行为以及一个键盘快捷键。这使得知识库从一个静态列表变成了更接近内部工具的东西。员工应该能够快速找到正确的答案,特别是在他们已经在客户工作流程中时。

潜在客户下一步变得更有用

潜在客户下一步小部件现在有更好的上下文可供使用。电子邮件历史可以提供最近的沟通上下文,而工作流程则将决策保持在潜在客户档案附近。

这就是我喜欢在CRM工作中使用AI的方向。AI不应该漂浮在系统之上。它应该坐在实际记录旁边,使用狭窄的上下文,解释下一步行动,并让用户掌控。

发布门和测试比用户界面更重要

本周不太可见的工作可能是最重要的。

我加强了模块打包和发布门,增加了对电子邮件历史迁移的检查,测试了导入器行为,覆盖了AI过滤器打包,并在面板环境周围增加了本地TLS和部署检查。

教训很简单:管理员用户体验的改进只有在发布路径无聊时才是可信的。如果模块更新脆弱,一个漂亮的表格皮肤是不够的。如果模型可以推动不安全的过滤输出,那么一个有用的AI过滤器也不够。如果模块存储过多或链接消息过于松散,那么电子邮件上下文也不够。

因此,工作在产品表面和操作纪律之间进行了分割:更好的屏幕、更严格的模块、更安全的更新和更小的失败模式。

我从本周得到的收获

最好的Perfex CRM定制不是展示最多自定义代码的那个。它是让现有CRM感觉更敏锐,而不打破团队已经工作的方式。

电子邮件历史使CRM记录更加完整。AI过滤器使列表视图更易于使用。管理员表格工作使日常浏览更快。移动修复使相同的工作流程在桌面之外变得不那么痛苦。发布门使工作更安全。

这就是我想继续构建的AI CRM自动化版本:狭窄、有用、可测试,并与实际的管理员工作紧密相连。