Agent智能体项目分享
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 消耗,并减少无关技能对当前任务的干扰。

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 角色产品打磨出来。
更多推荐



所有评论(0)