欢迎使用 NyaaChat!这是一个高度可定制、支持深度角色扮演的本地 AI 对话工具。无论你是想和软萌的猫娘聊天,还是想构建一个复杂的世界观,NyaaChat 都能满足你的需求。
在使用之前,你需要配置 AI 模型供应商的信息:
- 点击界面右上角的 设置 (齿轮图标)。
- 供应商设置:输入你的 API 代理地址(URL)和密钥(API Key)。
- 模型选择:输入你想要使用的模型名称(例如
gpt-4o或claude-3-5-sonnet)。 - 提示:NyaaChat 不会内置任何密钥,所有的对话都通过你自己的 API 进行,确保了隐私与自由度。
在主界面的输入框输入内容并发送,你的 AI 伙伴就会立刻回复你。你可以点击底部的 清空对话 来开启一段全新的旅程。
点击界面侧边或顶部的 角色头像/角色名,可以打开角色选择面板。在这里你可以一键切换当前的对话对象。
在角色选择面板中,你可以:
- 新建角色:点击“新建角色”按钮,定义 AI 的名字和它的性格背景。
- 编辑角色:点击角色卡片上的“编辑”图标,修改现有角色的设定。
- 角色保护:为了防止误操作,你正在使用的当前角色是不允许被删除的。
你可以将精心调教的角色分享给好友,或者备份自己的设定:
- 导出:在编辑界面点击“角色导出”,会生成一个名为
NyaaChatChar-时间戳.json的文件。 - 导入:在角色选择界面点击“导入角色”,选择对应的 JSON 文件即可快速添加新伙伴。
这是 NyaaChat 的进阶功能,类似于给 AI 植入“长期记忆”或“特定知识库”。在编辑角色界面,你可以点击 添加规则。
- 🔵 永久触发:只要开启,该规则就会一直对 AI 生效。适合存放世界观大背景(例如:现在是 2077 年)。
- 🟢 关键词触发:只有当你发送的消息中包含特定关键词(如:猫娘, 尾巴)时,AI 才会想起这条规则。适合存放特定设定(例如:关于猫娘尾巴的敏感设定)。
- 插入位置:你可以选择将规则伪装成“系统提示”或“角色自身的记忆”,这会影响 AI 反应的语气。
NyaaChat 会自动将你的每段对话保存在浏览器本地,即使刷新页面也不会丢失。
点击功能菜单栏中的 聊天记录(时钟图标) 按钮,打开聊天记录面板。每条记录以「角色名-时间戳」命名,点击即可切换到该对话继续聊天。
- 导出:点击记录条目右侧的下载图标,将对话保存为 JSON 文件备份。
- 删除:点击记录条目右侧的删除图标,移除该条记录。当前正在使用的对话不会显示删除按钮。
在聊天记录面板底部点击 导入聊天记录,选择之前导出的 JSON 文件即可恢复对话。仅支持本项目格式的聊天记录文件。
NyaaChat 支持导入 SillyTavern 格式的角色卡(.json 和 .png 格式),自动转换角色名称、角色描述、第一条消息和世界书条目。
注意:NyaaChat 不支持 SillyTavern 的前端 UI 渲染功能,例如状态栏、动态数值面板等依赖 SillyTavern 界面渲染的内容将在导入时自动过滤,不会被导入。
让你的 AI 伙伴不仅会说话,还能把当下的画面"画出来"。
在 设置 面板里找到 生图 API 端点设置:
- 总开关:默认关闭。打开后聊天气泡上才会出现生图按钮。
- API 来源:目前提供
QinyAPI和ComfyUI两个选项;ComfyUI 暂未开放,敬请期待。 - API Key:与 LLM 的 Key 是独立的两份。点右侧的眼睛图标可以临时显示明文,确认无误后松开恢复。没有 Key?标题旁的 获取 API Key 链接会带你前往注册。
- 连接 / 模型:和 LLM 的体验完全一致,点 连接 拉模型列表后挑一个。包含
video字样的模型会被自动过滤。 - 尺寸参数:仅当模型名包含
gpt-image-2时出现,可选 默认 或 4K。其他模型 / 渠道不支持 4K 时会自动回退,无需手动调整。
开启总开关后,任何聊天气泡上都会多出一个生图图标(在编辑和复制按钮之间):
- 点击 🎨 生图按钮:NyaaChat 会自动结合当前角色形象、近期对话场景与这条气泡的内容,组成一个紧凑的画面提示词,发送给生图模型。
- 生成期间:发送框的发送按钮变红色 ⏹,点击即可中止本次生图请求;同时其他聊天气泡上的生图 / 重新生成按钮会暂时禁用,避免冲突。
- 生成结果:以一条新的角色消息气泡形式插入在原气泡下方,展示生成的图片。
图片气泡下方提供三个按钮:
- 🔄 重新生成:用同一份提示词再画一张,原图就地替换。
- 💾 下载图片:尝试触发"另存为"。如果图床域名不允许跨域下载,会在新标签页打开图片,你可以右键保存(不会刷新当前对话)。
- 🗑️ 删除消息:移除该图片气泡。
点击图片缩略图即可打开沉浸式图片浏览窗口:
- 自适应屏幕:图片以最佳尺寸等比铺到视口中央。
- 缩放与拖动:双指捏合 / 鼠标滚轮缩放,按住拖动平移。底部工具栏提供 放大 / 缩小 / 1:1 原始尺寸 / 下载 / 关闭 按钮,右下角实时显示当前缩放百分比。
- 关闭方式:按 ESC、点遮罩、点关闭按钮均可。
小贴士:生图提示词由当前角色描述、用户角色和最近对话片段共同组成,但为了避免供应商上游超时,会自动控制在精炼范围内。如果你希望影响出图风格或氛围,建议把关键设定写进角色描述或世界书。
让 AI 角色不只活在虚构里——通过 MCP(Model Context Protocol),你的 AI 伙伴可以查到真实世界的当前时间和天气,把"两点多了,外面在下小雨"这样的细节自然嵌进对话里,让角色扮演更有沉浸感。
NyaaChat 默认接入 NyaaChat-MCP 服务,提供两个工具:
- 真实时间 (
get_current_time):获取实际当前日期与时间,支持任意时区。 - 实时天气 (
get_weather):获取实时天气情况(仅当下,不含预报)。
隐私优先:NyaaChat 不会获取你的真实地理位置,也不会主动定位。请到工具卡片里手动设置一个角色扮演时所在的城市;不设置的话,所有时间和天气数据都将默认按 北京 返回。
主界面输入框上方的 toolbar 中,点击 🔌 MCP 工具 图标(联网搜索 🌐 右侧)打开 MCP 工具卡片:
- 服务状态指示灯:绿色表示连接正常,红色表示服务暂不可用,灰色脉冲表示首次探测中。
- 地理信息按钮:进入城市设置界面,按钮右侧显示当前所选城市。
- 工具开关列表:每个工具单独的启用 / 禁用开关。默认全部启用,且会保留你的手动设置——即使全部关闭,下次打开页面也不会被默认值覆盖。
在 MCP 卡片中点击 地理信息 按钮:
- 输入城市、国家或省份名(中文 / 英文均支持),下方候选清单会模糊匹配。
- 点击候选项即生效,卡片上会立刻显示当前所选城市。
- 右侧 清除 按钮把所选城市重置为"未设置",重新回到北京默认。
当你在对话中明确指出具体地点(例如"广州现在什么天气"),AI 会优先使用对话里的地点而不是你的全局设置——这让单次对话的灵活查询不会被全局设置干扰。
并不是所有 AI 模型都能调用外部工具。MCP 工具只有具备"工具调用"能力的模型才能驱动——例如 GPT-4o、Claude Sonnet/Opus、Gemini Pro、DeepSeek-V3 等主流大模型通常都支持。
为确保 NyaaChat 能正确识别你的模型能力,请务必对接入的对话模型做一次健康测试:
- 进入 设置 → 对话模型设置 → 管理模型。
- 给当前模型点击健康测试。
- 测试通过后,模型会被自动标记若干能力图标——橙色扳手 🔧 就代表"工具调用"能力。
如果你当前模型没有橙色扳手标记,MCP 工具会自动跳过广播,对话不会出错但角色拿不到时间和天气数据。
从未做过健康测试的模型,NyaaChat 会默认信任你的选择照常广播工具。如果实际不支持,请回到管理模型里补做健康测试,让 NyaaChat 准确识别能力。
调用工具时,NyaaChat 会自动给 AI 注入一套"如何使用真实数据"的指南,让角色更自然地表达:
- 角色扮演场景:时间会模糊化("两点多"而不是"02:32:15"),天气数字感官化(湿度高 → "闷",云厚 → "云压得低"),角色不会念出技术字段。
- 信息化场景(新闻播报、设备读数等):直接按格式化输出。
- 工具调用失败:角色会用"困惑 / 不确定"或资讯故障语言自然降级,不会暴露错误内容。
也就是说,你不需要担心 AI 把 UTC+08:00 DST=no 这样的字段硬念给你——它会按角色的方式自然表达。
- 外观切换:支持深色模式与浅色模式自动切换,呵护你的双眼。
- 响应式设计:无论是电脑端还是手机端,都能获得良好的操作体验。
希望你在 NyaaChat 玩得开心!如果有任何天马行空的创意,快去给你的 AI 角色添加新规则吧!🐾
# 克隆仓库
git clone https://github.com/NyaaCaster/NyaaChat.git
cd NyaaChat
# 构建并启动
docker compose up -d服务启动后访问 http://localhost:3095
代码更新后,运行
rebuild.ps1脚本可自动重构建并重启容器。