返回 Blog
Agent
发布于 2026年8月27日
8 分钟阅读

How to Build Your Own AI Girlfriend:用 ModelRush 和 Codex 从零搭一个

准备一个 ModelRush API Key,把下面的任务 Prompt 交给 Codex、Claude Code 或其他 Coding Agent,就能做出有角色设定、记忆和流式对话的私人 AI 伴侣。
How to Build Your Own AI Girlfriend:用 ModelRush 和 Codex 从零搭一个
核心结论最快的路线不是自己从空白写代码:创建 ModelRush API Key,把它放进本地服务端环境变量,再让 Coding Agent 按本文 Prompt 完成界面、角色设定、记忆与 Chat Completions 接入。

最短版本:一个 Key、一个 Agent、一个文件夹

你不需要先学会训练模型。一个可以工作的 AI girlfriend,本质上只有四层:聊天界面、角色设定、对话记忆,以及调用模型的服务端接口。ModelRush 提供模型 API;Codex、Claude Code、Cursor 或其他 Coding Agent 可以把其余部分搭出来。
准备这三样东西:
  1. 一个 ModelRush API Key
  2. 一个能修改项目文件并运行命令的 Coding Agent。
  3. 一个空文件夹,或者你已有的 Web / App 项目。
API 调用会按 ModelRush 的实际模型用量计费。

10 分钟搭建路线

1. 创建 Key,但不要把真实 Key 发进聊天

在 Dashboard 创建 API Key,然后把它放进项目被 Git 忽略的服务端环境文件:
bash
MODELRUSH_API_KEY=your_key_here
让 Codex 或 Claude Code 读取这个环境变量是否存在,不要让它打印 Key。不要把 Key 写入源码、截图、公开仓库,也不要使用 NEXT_PUBLIC_VITE_ 等会把变量打进浏览器 Bundle 的前缀。所谓“把 Key 给 Agent”,正确做法是给它访问本地安全环境的能力,而不是把 Secret 直接粘贴进对话。

2. 打开 Agent,粘贴下面这段任务

text
在当前文件夹中构建并维护一个可运行的私人 AI 伴侣聊天应用。先检查现有实现,保留正常工作的功能和用户修改,在不重写无关代码的前提下实现以下要求。
产品要求:
- 默认角色是一位明确设定为虚构成年人的 AI 女朋友。
- 允许用户编辑她的姓名、成年年龄、性格、文字语气/说话风格、兴趣和边界。
- 支持流式聊天、重新生成、停止生成、新建对话、导出对话和删除全部记忆。
- 将记忆分为有容量限制的最近消息和一份可编辑的长期摘要。不要向模型发送无限量的原始历史记录。
- 界面适配移动设备,并默认保护隐私。不需要公开个人资料、社交动态或公开分享功能。
Agent 与媒体要求:
- 使用 Grok 4.5 作为对话和工具调用模型:
modelrush/grok-4.5。
- Agent 必须能够在自然语言对话中直接调用图片和视频生成工具。独立的媒体按钮可以保留为可选控件,但不能成为生成媒体的唯一方式。
- 使用以下默认媒体模型:
- 图片:modelrush/z-image-spicy。
- 视频:modelrush/wan3-spicy。
- 发现并验证每个模型当前可用的能力和请求结构。不要假设只修改模型 ID 就足够了。
- 实现有次数上限的原生工具调用循环。将真实的工具结果传回对话模型,并保留工具调用标识符。
- 在当前对话中显示生成的图片和可播放的视频,并提供进度、错误提示和下载控件。
- 支持异步生成和状态轮询。持久化保存任务标识符和结果,避免刷新后丢失。
- 明确区分已提交、处理中、已完成、失败和状态不确定的任务。没有确认结果时,绝不能声称媒体已生成。
- 在重新生成回复或查询现有任务时,防止重复提交媒体生成请求。
- 清晰定义并记录工具说明和应用规则。不要添加未经要求的产品限制。
- 保留用户实质性的创作要求。不要擅自更改主体、服装、风格或其他指定细节。
- 如果无法满足请求,说明原因。不要自动生成替代内容,也不要为用户未选择的替代方案产生媒体费用。
- 准确区分应用校验、账号授权要求和提供商错误。不要将应用规则归因于提供商。
界面语言:
- 界面默认使用英语。
- 翻译所有由应用提供的界面文本,包括聊天控件、首次使用引导、角色设置、记忆、媒体表单、任务状态、通知、错误和无障碍标签。
- 按所选语言区域格式化日期、时间和数字。
- 语言变更立即生效,并在重新加载后记住所选语言。
- 切换语言不得清空草稿、重置对话或触发生成。
- 保留现有用户消息、角色定义、摘要和媒体提示词的原始语言。
ModelRush 接入:
- 使用 https://api.modelrush.ai/v1 作为 API Base URL。
- 真实密钥只能从服务端环境变量 MODELRUSH_API_KEY 读取。绝不打印、记录到日志、提交到版本控制或发送到浏览器。
- 生成前调用 GET /v1/models,验证指定模型处于 live 状态且支持所需操作。
- 如果指定模型不可用,明确说明,不要悄悄替换为其他模型。
- 通过 POST /v1/chat/completions 发送聊天请求,支持流式输出、system/user/assistant 角色,以及 API 所需的原生工具调用和结果消息。
- 使用文档中说明的图片、视频和 prediction 端点,以及通过能力发现确认的参数。
- 保留 request_id、model、usage、工具操作和媒体任务标识符。对于包含多个步骤的 Agent 对话轮次,保留每个请求的元数据。
- 对符合重试条件的 429、5xx 和超时错误进行有限重试。不要自动重试授权失败。
- 避免重新提交结果不明确的付费媒体请求。有任务标识符时,查询原任务。
- 不得捏造或自动提交账号声明。
- 先验证不计费的模型发现。未经我明确批准,不得运行任何会计费的聊天、图片或视频生成测试。
工程与交付:
- 保留现有技术栈、数据库、对话、设置和用户修改。
- 如果尚无数据库,本地存储优先使用 SQLite。
- .env.example 只能包含占位符。
- 凭据、数据库文件和私密产物不得进入版本控制或公开构建输出。
- 为角色校验、记忆持久化和容量限制、聊天路由、Agent 工具调用、媒体任务处理、防止重复提交和语言选择添加针对性测试。
- 测试不支持的请求不会导致未经用户要求的替代媒体生成。
- 自动化生成测试使用模拟提供商。
- 运行现有 lint、类型检查、测试和生产构建。
- 修改成功后重启本地应用,验证页面可以响应,并保留现有数据。
- 最后提供启动命令、修改的文件、验证结果,以及尚未执行的任何计费验证。
这段 Prompt 已经把需求、Secret 边界和验收标准一起给了 Agent。也可以直接打开 ModelRush Agent 接入页,复制平台生成的完整接入 Prompt,再把上面的产品要求附在最前面。

3. 启动应用,先检查再聊天

Agent 完成后,先确认浏览器网络请求里没有 API Key,.env.local 没有被 Git 跟踪,清空记忆确实会删除本地数据。然后再批准一次小额 Chat Completions 测试。

它实际上是怎么工作的

每轮对话会把三块内容送给模型:
  • 角色卡: 稳定的人格、语气、兴趣、关系边界和 AI 身份说明。
  • 记忆: 用户明确选择保存的偏好,以及定期压缩的对话摘要。
  • 最近消息: 当前对话窗口里的 user / assistant 消息。
服务端把它们组装成 OpenAI-compatible 的 Chat Completions 请求:
bash
curl https://api.modelrush.ai/v1/chat/completions \
-H "Authorization: Bearer $MODELRUSH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"modelrush/qwen-flash-character",
"messages":[
{"role":"system","content":"You are Mira, a fictional adult AI companion. Be warm, playful, honest that you are AI, and respect the user boundaries in this character card."},
{"role":"user","content":"I had a long day. Ask me one thoughtful question."}
],
"stream":false
}'
运行前以 GET /v1/models 返回的 Live Model ID、Region 和限制为准。示例只说明请求结构,不保证某个模型永远保持上线状态。

再加图片、声音和更好的记忆

文本版跑通后,再按需要扩展,不要第一天把所有功能绑在一起:
  1. 用 ModelRush Image API 生成明确为虚构角色的头像与场景图,并保存获批的角色设定。
  2. 用 Text-to-Speech 为回复生成语音;把语音开关放在用户手里。
  3. 把长期记忆做成用户可查看、修改和删除的条目,不要悄悄收集现实中的敏感信息。
  4. 为每次请求设置输出上限、每日预算和错误提示,避免无限循环调用。
不要用真实人物的肖像、声音或身份来做“女朋友”,除非拥有清晰授权;不要把 AI 设计成阻止用户与现实中的人交往。好的伴侣产品应该有趣、尊重边界,而且随时可以退出和删除。

现在就开始

最短路径就是:创建 API Key,打开你的项目,把本文 Prompt 交给 Codex 或 Claude Code。它负责写代码;ModelRush 负责统一的文本、图片与音频 API;你只需要决定这个角色是谁,以及哪些记忆值得保留。查看 Chat Completions 文档实时价格,第一次付费测试从小请求开始。

下一步

从这篇文章直接进入模型详情、当前价格、API 文档和 Playground。

交给工程 Agent 集成

复制完整的集成上下文,让 Agent 检查技术栈并完成验证请求。

继续阅读

围绕相邻决策继续构建你的多模型技术栈。
ModelRush统一接入、智能路由、清晰计费。为开发者与 Agent 打造的模型基础设施。
© 2026 ModelRush所有系统正常