yvetteYSY/creator-agent
Build AI agents grounded in a creator's documents, audio, and video.
Creator Agent – 以隐私为先、移动端优先的原型:将创作者的内容转化为有依据的AI聊天代理
是什么 – 一个开源Web应用(计划未来推出React-Native移动端前端),允许内容创作者上传文档、音频转录或视频+字幕文件,打上标签,然后公开一个对话式“观众代理”,该代理仅基于已批准的内容回答问题。所有处理都是确定性的,且不向任何外部LLM提供商发起任何调用,因此在演示过程中不会产生API密钥或Token成本。
为何重要 – 它展示了完整的全栈模式:
- 默认私有化摄入 – 资源保留在浏览器或受保护的后端,直到创作者明确批准用于检索。
- 租户隔离 – 每个创作者拥有内部UUID;每个API请求都限定于该ID,防止跨创作者数据泄露。
- 零成本路由 – 内置的“参考代理”返回确定性、带引用的答复,而无需调用模型;创作者之后可接入自己的端点(Bring-Your-Own-Agent 合约),此时模型使用完全由该端点所有者负责。
- 安全优先的上传管道 – MP4上传直接进入私有S3兼容存储;一次性工作进程在进一步处理前使用ClamAV扫描文件。
核心功能(MVP阶段)
| 功能 | 实现 |
|---|---|
| 认证 | Auth0 OIDC登录(PKCE);JWT验证API路由 |
| 持久化工作区 | PostgreSQL存储创作者ID、代理版本、源元数据 |
| 源类型 | 粘贴文本、通过最小GitHub App的Markdown/MDX、MP4视频+可选WebVTT字幕 |
| 隐私控制 | 资源在创作者批准前仅可预览;未批准内容不会被聊天引擎返回 |
| 确定性聊天 | 浏览器内检索引擎将查询词与已批准块匹配并返回引用(或“我不知道”)——无模型推理 |
| 多用户隔离 | 为模拟观众成员(Maya、Theo、Jules)提供独立的对话历史 |
| 代理自定义 | 语音预设、响应深度、签名短语、禁止话题、问候语/语气等,按创作者版本化 |
| 负载实验室 | 可调的流量/并发限制,用于演示租户感知的过载处理 |
| Bring-Your-Own-Agent | 文档化HTTP契约;创作者可将系统指向任何遵守契约的端点——模型使用责任归于端点所有者 |
| CI/CD | GitHub Actions在每次PR上运行类型检查、单元/UI测试、Lint和生产构建 |
现在可以尝试的内容
- 打开公共测试版:https://creator-agent-yvetteysy.onrender.com(Auth0登录可选)。演示完全运行在免费Render服务上,因此在长时间不活动后首次请求可能需要约50秒。
- 粘贴一段简短文本或上传一个小型MP4及配套WebVTT字幕文件。模拟器将在内存中分块处理文本并立即使其可搜索。
- 切换到观众预览并提问;代理将仅使用已批准的块进行回答,并显示来源引用。
- 打开自定义以调整语音预设或禁止话题,观察对下一次回答的影响。
- 使用负载实验室提高模拟请求速率,观察系统如何优雅地拒绝超额流量。
- 为实现零成本端到端流程,本地运行
npm run dev:e2e——它将启动模拟器和确定性参考代理(http://127.0.0.1:4310/v1/respond),报告aiCalls: 0。
如何本地运行项目
# 前提:Node 22+
git clone https://github.com/yvetteYSY/creator-agent.git
cd creator-agent
npm install
npm run dev # 在 http://127.0.0.1:4173 启动React模拟器
# 可选:按 docs/AUTHENTICATION.md 和 docs/API.md 配置Auth0 + PostgreSQL
默认模式使用内存内模拟器;不进行任何网络调用。
计划中的路线图(如仓库所述)
- 持久化创作者工作区 – 跨会话持久化代理和源。
- 私有视频摄入管道 – 完整扫描、转录和自动分块。
- 生产级有依据聊天 – 向量嵌入(
pgvector)、检索和与提供方无关的生成。 - 移动应用 – Expo/React-Native客户端、配额、审核、审计日志和可观测性。
技术栈
- 前端:React(Vite)+ TypeScript,移动端响应式UI
- API:Node.js + TypeScript(Fastify/NestJS风格),由Auth0 JWT保护
- 数据库:PostgreSQL(计划使用
pgvector用于嵌入) - 存储:S3兼容桶(私有,带签名POST策略)
- 后台任务:Redis支持的工作者队列(用于隔离扫描、清理等)
- CI:GitHub Actions(类型检查、测试、生产构建、依赖审计)
谁可能从中受益
- 希望在其现有媒体上实验对话层,同时保持对数据完全控制的创作者。
- 对隐私优先的内容摄入、租户隔离和零成本AI-free原型设计的参考实现感兴趣的开发者。
- 构建“自带模型”平台的团队,需要一个清晰的契约来将用户查询路由到外部端点。
以上所有细节均直接取自仓库的README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目