这个项目能做什么
Vocion (@vocion/core) 是一个用于在生产环境(而非仅在原型阶段)运行 AI Agent 工作的开放框架。其 README 将目标用户定义为将 Agent 团队推向生产环境的工程师或技术负责人,并明确指出该项目不适用于单一聊天机器人、一次性脚本或托管的无代码构建器。它假设用户运行 Postgres,将配置保存在 git 中,并希望在关键操作中引入人工干预。核心包未发布到 npm;用户需克隆仓库并自行运行。
平台组合能力
Vocion 被描述为 Next.js 应用 + Postgres 模式 + MCP 服务器 + 工作流运行器的结合体。用户以 YAML 和 markdown 形式在 git 中编写 Sources、Objects、Skills、Playbooks、Workflows、Missions、Automations、Agents 和 Teams,将其应用到数据库,从而获得一个带有统一人工审核队列、可观测性和插件生态系统的类型化运行时。
三种工作模式共享同一个运行时:
- Workflows(工作流):具有审批和询问门禁的确定性步骤。
- Missions(任务):开放式的长期职责,由 Agent 团队在审核下进行规划、执行并产出交付物。
- Teams(团队):由一名负责人和一名负责的人类监管的多个 Agent 组合。
其他声明的功能包括:内置的连接器包(支持 Google Ads, GA4, HubSpot, Gmail, Slack 和 Google Drive),采用增量且基于客户端范围的摄取流水线;一个带有租户 Bearer 令牌的多租户控制平面,可解析为权限主体;一个通过 REST 暴露审核队列的写入 API(包含审核列表和决策端点);以及作为 Agent 和工具平面的 HTTP 协议 MCP。发现权限与变更权限分离,通过带有审批门禁的自主阶梯(autonomy ladder)管理执行,且跨客户端隔离在查询层级强制执行,而非通过提示词实现。
Agent 的执行通过单一设置 harness.runsOn 进行配置。文档记录的选项包括:在应用进程内运行 Agent 循环、在 AWS Bedrock AgentCore Runtime 的项目自有容器中运行,或交给 AWS 的托管 harness,文档详细说明了每种情况下哪个 AWS 账户支付 Token 费用。
分层包与插件合约
该仓库是更大平台的核心层。SDK 包定义了稳定的插件合约,包括 Skill 和 PluginManifest 类型以及 LLM 客户端类型。连接器和技能作为独立的插件 npm 包发布,计划在单独的仓库中提供可分叉的启动安装程序。
插件是一个导出 manifest 的 npm 包;核心层在启动时通过 SDK 加载 manifest。README 展示了一个使用模式验证库构建的技能定义示例,声明了 slug、名称、版本、提供商、审批要求、输入输出模式以及一个作为 PluginManifest 导出的 run 函数。packages/plugins 目录下包含一个参考的 transcript-highlights 插件。
工作区即代码 (Workspace as code)
所有租户上下文都存在于一个工作区(workspace)中:这是一个由 git 跟踪的 YAML 和 markdown 目录,位于仓库检出之外(通常是独立仓库),以便客户端上下文可以通过拉取请求(PR)进行审核,且绝不与核心代码混淆。通过环境变量将应用指向该目录;否则不配置工作区。文档记录的实体类型及其位置包括:工作区清单、Agents(一个 YAML 文件加一个系统提示词 markdown 文件)、Teams、Skills、Playbooks、Missions、由 API 创建的 Workflow runs、Workflows、作为唯一时间与事件存在地的 Automations、带有源权重和分类提示词的 Object types、带有连接器类型和同步频率的 Sources、规定哪些操作可自动执行的信任规则、作为累积规则命名桶的学习步骤(learning steps)、用于单 Agent 测试用例的评估数据集,以及租户定义的仪表盘页面。
核心层内置了一个基础包(base pack)并层叠在工作区之下:用户通过 extends 指令将其固定,通过 use 列表激活 Agent,并使用相同 slug 的文件覆盖默认设置。将工作区应用到数据库时会记录一条带有工作区版本的审计行,且工具调用会盖上工作区哈希戳,以便将输出追溯到产生它们的提示词。
安装与运维
入门文档指引为:克隆并安装,复制环境示例文件并设置数据库 URL、认证密钥和至少一个 LLM 提供商密钥,使用 dev:up 脚本启动支持服务(Postgres, Langfuse, Temporal),运行迁移,构建工作区,将 WORKSPACE_PATH 指向该目录,应用它,然后在 localhost 3000 端口启动开发服务器。项目脚本还涵盖了 linting、类型检查、测试、工作区应用和评估运行。
对于 Claude Code, Cursor 或 Zed 等 MCP 客户端,提供了一个用于单开发者安装的本地 stdio 命令,以及一个远程 HTTP 端点(组织通过租户 Bearer 令牌派生,且每个工具调用在与人类相同的权限模型下被限制在相应组织范围内)。
凭据采用双向处理并通过仪表盘页面管理。入站令牌由 Vocion 铸造,仅存储为 SHA-256 哈希,且仅在创建时显示一次明文。出站供应商密钥可按工作区提供,使用每组织一个的数据加密密钥通过 AES-256-GCM 在静态状态下加密,因此由工作区自身的供应商账户计费;每个平台每个组织仅限一个活动密钥。每个出站供应商调用首先解析工作区存储的密钥,其次解析服务器环境变量,涵盖聊天模型、摄取与查询时的嵌入(embeddings)、重排序(reranking)、视觉和图像生成,其中两条内部路径设计为始终使用服务器密钥。加密配置提供用于开发的本地 vault 模式和推荐用于持有真实客户密钥安装的 KMS 模式。
检索为原生实现:使用 pgvector(HNSW 余弦相似度)结合 Postgres 全文搜索,通过倒数排名融合(RRF)将两者融合,并可选 LLM 重排序。嵌入和重排序模型是环境级设置,而每类型和每 Agent 的检索权重在工作区中定义,无需修改代码。
技术栈与集成
声明的技术栈为:Next.js 16 (App Router), React 19 和严格的 TypeScript;PostgreSQL 16 配合 ORM;Auth.js / NextAuth v5 用于通过账户和项目成员身份实现基于角色的第一方租户管理;OpenAI 和 Anthropic 作为可按技能切换的 LLM 提供商;Langfuse 用于 LLM 追踪,OpenTelemetry 用于 span 和指标;基于 Postgres 的进程内持久化工作流步骤运行器;Slack 聊天界面(提及 Agent 会产生线程回复,但审核队列仍是唯一审批地,处于特性开关后);以及一个用于数小时长运行的外部 Worker 控制平面(包含租约、心跳、单次运行成本和回收机制,同样处于特性开关后)。
许可证
该项目在 Mozilla Public License 2.0 下提供源码可用,被描述为 OSI 批准且具有文件级 copyleft 特性:你可以使用、自托管、检查、修改并将其嵌入到更大的专有系统中;分发时,修改后的 Vocion 文件在 MPL 下保持开放,而周围的应用代码仍归你所有。README 指出,数据、业务上下文、Agent 配置、工作流、评估历史和运行输出均归用户所有,且项目可部署在用户自有环境中。某些用途(如对 Vocion 进行白标处理、在专有许可证下分发、提供供应商支持的托管服务、专有企业模块或商业保证和服务水平协议)需要单独协议。名称和标志是 Metacto, Inc. 的商标,MPL 不授予商标权。
文档指引
README 链接了以下内容:从空目录到无需代码即可运行 Agent 团队的入门指南、一份为在仓库中工作的编码 Agent 编写的文件、机器可读的文档索引、工作区编写指南、各实体字段参考、描述每个对象编写/存储/执行/显示位置的对象模型页面、仪表盘页面指南,以及涵盖多种环境和父项目模式的部署文档。贡献指南涵盖了由工具强制执行的约定式提交(conventional commits)、DCO 签署,以及在提交前运行类型检查、测试和 lint。
评论
0 评分人数达到10人后显示
登录后参与讨论。