跳到主要内容
OPENVZ*AI
OPENVZ / CRM

让智能体去填表。

大多数 CRM 是一个数据库加一张表单,AI 版本再在旁边挂个聊天框,真正的活——把事情查清楚、写下来——还是留给人。OPENVZ CRM 反过来做:智能体不是 CRM 的一个功能,CRM 是智能体记笔记的地方。

MIT 协议 · v1.0.0 · 1.9 MB · 需要 Bun、Node 24 与一个 Postgres

它怎么工作

01

它自己有作息

智能体跑在自己的部署上、自己的排期上、自己的工作队列上。它决定下一个看谁,自己预约复查,花掉一份调研预算,预算用完就停。关掉浏览器它照样在跑——这不是请求-响应。

02

没有一件事是猜的

所有工具都不接受「置信度」这个参数。让模型给自己的把握打分,它一定会打,而且一定往「显得有用」的方向偏。工具只报告它观察到了什么——邮件签名档、GitHub 身份——再由一套证据账本给这些线索定价。证据够硬才写进记录,不够硬只成为一条待人确认的建议。关于客户的一条自信的错误信息,比一个空字段更糟,因为没人看得出它是错的。

03

最好的线索是你自己的收件箱

零外部密钥也能用:它读你自己的邮件往来、日程和签名档。这是免费的,也是最硬的证据——没有哪家数据商能卖给你一封来自对方本人地址的回信。每加一个密钥只是多开一个可查的地方,而它在每次会话开始时就知道这次装了哪些,据此规划,而不是一个接一个地撞失败的调用。

04

沙箱没有网络,也没有数据库

智能体有一个带 bash、grep 和工作区的沙箱,出口流量全禁。另一半规则是一个缺席:沙箱从不拿到数据库连接串。有凭据又有出口的 shell,形状就是数据外泄;两样都没有的 shell 只是个文本处理器。

05

你能看着它干活

每个联系人、公司和交易都有一个「智能体」标签页:它每一步的动作、它扔掉的线索和扔掉的理由,以及它在两个人之间拿不定主意时当场提的问题。对话是持久的,刷新页面不会丢。

06

默认不向任何人汇报

遥测默认关闭,且没有默认的上报地址。上游那套预置的分析密钥已经删掉了——跑在你自己机器上的软件,在你说可以之前不该往任何地方发数据。想要这些数字,把密钥指向你自己的 PostHog 项目。

技术构成

智能体运行时
eve —— 持久会话、工具、技能、排期、沙箱。文件即工具,Markdown 即技能。
模型
Vercel AI Gateway。不绑任何厂商 SDK,模型是设置项而不是环境变量。
前端
Next.js App Router · shadcn/ui · 列表状态存在 URL 里,复制地址栏就能复现视图。
接口层
NestJS + nestjs-trpc。路由类型从 Nest 生成,Prisma 的行到表格单元格全程类型安全。
数据
Prisma · Postgres。单租户,刻意不做组织隔离——一个永远同值的 organizationId 只是白花一个索引和一次权限校验。
登录
Better Auth —— Google、Microsoft,或你自己的身份提供方。一份允许名单就是全部授权模型。
协议
MIT。改名、商用、闭源都可以。

CRM 管的是关系建立之后:把已经发生的事记清楚、跟进下去。如果你还没有名单 —— 需要先找到人、判断值不值得聊、把第一封信写出来 —— 那是 OpenVZ Leads 干的活。

去看获客

它的来历

OPENVZ CRM 是一个 MIT 开源代码库的衍生版本。我们做的不只是换名字:品牌、图标与配色重做了一遍,遥测从默认开启改成了默认关闭并清掉了上游的分析密钥,落地页上属于上游的客户 logo 和员工照片全部移除。原始版权声明按 MIT 的要求保留在 LICENSE 里,改动清单写在仓库的 NOTICE 中。

需要一套自己的客户中枢?

源码是完整的,跑起来要一套自己的 Postgres 和一个 OAuth 客户端。如果你想让我们按你的流程改造它,或者干脆托管一套,说一声。

联系我们