agnai
Agnai 是一个支持多用户、多机器人互动的开源角色扮演聊天平台,让你能与虚构角色进行沉浸式对话。它解决了现有工具往往局限于单人单聊、难以扩展或缺乏个性化设置的痛点,为构建复杂的群聊场景和定制化角色体验提供了灵活方案。
无论是希望搭建私有化角色扮演社区的开发者,还是想探索不同大模型在叙事创作中表现的研究人员,亦或是单纯喜爱与虚拟角色互动的普通用户,都能从中受益。Agnai 不仅兼容 OpenAI、Claude、Kobold 等十余种主流 AI 服务,还支持 W++、Boostyle 等多种角色设定格式,让用户自由切换心仪的模型与风格。
其独特亮点在于强大的可扩展架构:支持长期记忆、知识库嵌入(如维基百科和 PDF)、自动生成角色及第三方绘图集成;同时提供多租户管理、用户订阅系统及细粒度的权限控制。若未配置数据库,它也能以“访客模式”运行,数据暂存于本地浏览器,极大降低了上手门槛。通过 Docker 或 NPM 即可快速部署,配合灵活的配置文件,轻松满足从个人娱乐到小型社区运营的各种需求。
使用场景
一个独立游戏开发团队正在构建一款拥有多角色互动剧情的文字冒险游戏,需要频繁测试不同 AI 模型下角色对话的连贯性与个性化表现。
没有 agnai 时
- 开发者必须在多个不同的 AI 服务平台间手动切换账号和界面,无法在一个统一环境中对比 Kobold、OpenAI 或 Claude 的输出效果。
- 测试多人剧情线时,缺乏原生支持的多用户多机器人会话功能,只能靠开多个浏览器窗口模拟,数据无法持久化且极易混乱。
- 角色设定(如 W++ 或 Boostyle 格式)需要针对每个平台单独调整,重复劳动严重,且难以管理长期的世界观记忆(Lore books)。
- 团队成员无法共享统一的测试环境和角色配置,导致反馈标准不一,协作效率低下。
- 想要实现长期记忆或嵌入维基百科背景知识时,需要自行编写复杂的后端代码对接数据库,开发门槛极高。
使用 agnai 后
- 团队通过 agnai 单一界面即可无缝切换并测试十余种主流 AI 服务,快速锁定最适合特定角色性格的模型。
- 利用其原生的群组对话功能,多名测试人员可同时与多个游戏角色互动,所有聊天记录自动保存至 MongoDB,便于复盘剧情分支。
- 支持多种角色卡格式一键导入,配合内置的记忆书和长期记忆管道,让角色在长对话中依然能准确记住世界观设定。
- 借助多租户架构,每位成员拥有独立账号和预设配置,既保证了测试数据的隔离性,又实现了团队间的配置共享。
- 无需编写额外代码,仅需开启 Pipeline 功能即可直接启用 PDF 文档嵌入和长期记忆,大幅降低了高级功能的实现成本。
agnai 通过提供统一、可扩展的多模型角色扮演平台,将游戏叙事测试的迭代周期从数天缩短至数小时。
运行环境要求
- Linux
- macOS
- Windows
- 未说明 (该工具主要作为连接第三方 AI 服务的客户端运行,自身不强制要求本地 GPU
- 若启用可选的 'Pipeline' 功能进行本地嵌入或生成,则依赖具体的后端实现,README 中未指定具体显卡需求)
未说明

快速开始
无神论者
使用您喜爱的 AI 服务,与个性化角色进行 AI 角色扮演聊天。
请访问在线版本:Agnai.chat。
基于 PygmalionAI 的早期作品 Galatea-UI。
快速入门
重要! MongoDB 和 Redis 是可选的!如果 MongoDB 不可用,Agnaistic 将以“仅访客”模式运行。
Agnaistic 已发布为 NPM 包,可以全局安装:
# 安装或更新:
npm install agnai -g
agnai
# 查看启动选项:
agnai help
# 带管道功能运行
agnai --pipeline
使用 NPM 包时,您的图片和 JSON 文件将存储在:HOME_FOLDER/.agnai。
示例:
Linux:/home/sceuick/.agnai/
Mac:/Users/sceuick/.agnai
Windows:C:\Users\sceuick\.agnai。
功能
- 群组对话:多名用户与多个机器人互动
- 多种 AI 服务:支持 Kobold、Novel、AI Horde、Goose、OpenAI、Claude、Replicate、OpenRouter、Mancer
- 多种人格模板格式:W++、方括号格式 (SBF)、Boostyle、纯文本
- 多租户:
- 用户身份验证
- 用户设置:选择使用的 AI 服务及个人设置
- 用户生成预设
- 订阅功能
- 记忆/传说书籍
- 使用 AI 生成角色
- 使用第三方服务生成图片
- 可选的管道功能
- 长期记忆
- 维基百科文章和 PDF 嵌入
手动运行
- 安装 Node.js
- 安装 MongoDB 可选
- 数据库是可选的。如果没有数据库,Agnaistic 将以“仅匿名”模式运行。
- “匿名”用户的数据会保存在浏览器的本地存储中。数据会“保留”,但无法在不同设备或浏览器之间共享。清除浏览器的应用程序数据/cookies 会删除这些数据。
- 下载项目:
git clone https://github.com/agnaistic/agnai或 下载 - 在终端/控制台中进入克隆/解压后的文件夹:
npm run deps- 每次更新 AgnAI 时都执行此操作,以防万一。
- 这将使用
pnpm v8安装依赖项。
npm run build:all- 以监听模式构建并运行项目:
- Mac/Linux:
npm run start - Windows:
npm run start:win
- Mac/Linux:
- 以本地隧道模式构建并运行项目:
- Mac/Linux:
npm run start:public - Windows:
npm run start:public:win
- Mac/Linux:
使用 Docker 运行
- 克隆项目
- 如果有 MongoDB:
docker compose -p agnai -f self-host.docker-compose.yml up -d - 如果没有 MongoDB:
docker run -dt --restart=always -p 3001:3001 ghcr.io/agnaistic/agnaistic:latest-dt以分离模式运行容器--restart=always在启动时或服务器崩溃时自动重启-p 3001:3001暴露 3001 端口。可通过http://localhost:3001访问应用。
自托管设置
为了满足用户在应用层面针对特定需求所做的微调,我们提供了 settings.json 文件。
您可以在根目录下创建一个名为 settings.json 的文件,以在整个应用中应用一些更改。
如果您对应用有特殊需求,这里就是提出请求的地方。
我会努力在满足这些请求与避免代码库失控之间找到平衡。
适合在此处处理的请求示例:
- 我希望为所有用户应用一个“默认记忆书”。
- 我想使用不同于提供的结束标记集。
- 我想禁用匿名访问。
settings.json
您可以复制或查看 template.settings.json 以了解所有可用设置的示例。更改生效后需要重启 Agnai。
当前支持的自定义设置:
baseEndTokens:向基础集合添加额外的响应结束标记。
针对开发者
推荐的开发工具
强烈建议使用 VSCode 并安装以下扩展:
Prettier - Code formatter:用于自动格式化Tailwind CSS Intellisense:用于 Tailwind CSS 类的自动补全和智能提示- 并在 VSCode 的
settings.json中添加"editor.formatOnSave": true,以便使用 Prettier 自动格式化。
使用 pnpm start 时,Node.JS 服务器会使用 --inspect 参数运行。这意味着您可以使用各种 Inspector Clients 进行调试。
技术栈
该堆栈的重要组成部分包括:
- MongoDB 用于持久化
- Redis 用于 WebSocket 的分布式消息传递
- SolidJS 用于交互性
- TailwindCSS 用于样式
- pnpm 用于依赖管理
启动
# 安装依赖项 - 拉取更改后务必运行此命令
> npm run deps
# 使用 Docker 启动 MongoDB
> npm run up
# 启动前端、后端和 Python 服务
# Mac/Linux
> npm start
# Windows
> npm run start:win
# 安装并运行 Pipeline API
# 如需,这将在运行 API 之前更新依赖项
> npm run model # 将 poetry 安装到虚拟环境中
# 使用单个命令运行所有内容:
> npm run start:all # Linux 和 OSX
> npm run start:all:win # Windows
此时,您应该能够在浏览器中访问 http://localhost:3001 来查看界面。
您还可以尝试通过热重载访问前端:http://localhost:1234。
推荐的开发者工具
- Redux Dev Tools
- 前端应用状态已连接到 Chrome 扩展“Redux Dev Tools”。
- NodeJS 调试器
pnpm start脚本使用--inspect标志启动 NodeJS API- 可以使用 VSCode 的默认启动任务(
F5)进行附加 - 或前往
chrome://inspect使用调试器
- 使用
Poetry管理 Python 依赖项 - https://python-poetry.org/docs/cli.model/bin/poetry [...args]
格式与类型检查
该项目使用 ESLint 进行代码检查,Prettier 强制执行代码风格,TypeScript 用于检查类型错误。在提交 PR 时,请确保不会引入任何新的错误,方法是运行:
# 自动修复任何样式问题
$ pnpm run format:fix
# 运行 TypeScript 编译器,显示所有类型错误
$ pnpm run typecheck
该项目已在 BrowserStack 上进行了测试。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。