AIFriends:把 AI 角色做成“好友”,让每次聊天都更像真实对话

如果你也在做 AI 应用,可能会遇到同一个问题:模型能力很强,但用户体验很容易停留在“一个输入框 + 一段回复”。
AIFriends 想做的,是把这件事重新设计成“和好友对话”。

它不是单轮问答工具,而是一个支持多角色、多会话、流式文字/语音、知识库检索、技能调用和机器人接入的完整对话系统。
后端是 Django ,前端是 Vue 3 + Vite,核心交互围绕“角色”与“好友关系”展开。

项目地址: https://github.com/wangfusehng/AIFriends-public/tree/main
上线地址:https://app8119.acapp.acwing.com.cn/

核心体验一览

1) 首页:先看关系,再进对话

用户进入后看到的是好友列表、角色入口和状态信息,而不是裸模型参数。
这让产品的第一感知更像“社交产品”,而不是“模型控制台”。

首页

2) 聊天页:流式回复 + 工具事件可视化

聊天支持 SSE 实时流式输出,同时展示工具调用过程(如时间查询、检索、联网等),让“AI 在做什么”可见可理解。
这可以显著降低“模型在胡说还是在执行任务”的不确定感。

聊天

3) 工具与技能:按需启用,不一股脑塞进系统提示词

AIFriends 的技能机制采用“目录注入 + 按需加载”:
模型先知道有哪些技能,再在需要时 load_skill 读取正文,而不是在开局把全部技能文本塞进 prompt。
这能明显降低 token 消耗,并减少无关技能对当前任务的干扰。

![tools](https://i-blog.csdnimg.cn/direct/10f0e3fc0e0c4b73a742fc6be43d2588.png#pic_center在这里插入图片描述

4) 角色创建与编辑:把复杂配置放进可操作界面

角色创建页支持模型、头像、语音和描述配置;编辑页支持持续迭代。
对于普通用户,重点是“能在界面内完成”,不依赖改 .env 或手写配置。

角色创建

绝色编辑

5) 个人资料:用户自管多厂商 Key

系统支持 OpenAI、DeepSeek、Qwen、智谱、Kimi、MiniMax、豆包、混元等厂商。
每位用户在资料页自行维护 API Key 与可选接口地址,后端优先使用用户配置,避免共享全局密钥带来的风险和成本失控。

个人资料


技术亮点

  • 后端架构:Django + DRF + LangGraph ReAct,聊天链路支持可观测工具事件流。
  • 前端架构:Vue 3 + Pinia + SSE 客户端,消息、工具、错误统一事件协议。
  • 知识库能力:好友维度的文档挂载与检索,支持文档重建索引。
  • 成本与上下文控制:分配 prompt/history/tool/skill/memory 预算,减少“长会话失控”。
  • 安全策略:用户密钥加密存储,前端不暴露明文;敏感能力显式门控。
  • 扩展能力:支持 QQ 机器人绑定,实现外部用户与角色会话映射。

这个项目适合谁

如果你正在做以下方向,AIFriends 可以作为参考实现:

  • 角色扮演 / 陪伴类对话产品;
  • 多模型聚合的 SaaS 形态 AI 应用;
  • 需要“工具调用可视化”的 Agent 产品;
  • 需要“多会话 + 记忆 + 成本控制”的长期对话系统。

开源与后续规划

AIFriends 会继续沿着“用户体验优先”推进:

  • 更细粒度的成本可视化与配额管理;
  • 更完善的技能市场与安装体验;
  • 更稳定的机器人连接与多平台扩展;
  • 更智能的长期记忆整理策略。

如果你对这个方向感兴趣,欢迎 Star、Issue 和 PR,一起把“可用、好用、能长期运营”的 AI 角色产品打磨出来。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐