工具部署|AIRI 开源 AI 虚拟伙伴|Vue 3 + Live2D/VRM · 本地 Ollama 就能聊

工具部署|AIRI 开源 AI 虚拟伙伴|Vue 3 + Live2D/VRM · 本地 Ollama 就能聊-远影归灯
AIRI 源码包
此内容为免费资源,请登录后查看
0积分
免费资源

想在自己电脑上养一个会动、会聊天的二次元角色?AIRI 是一个开源的 AI 虚拟伙伴。浏览器里站着一个会眨眼、会晃动的 Live2D 角色(让 2D 立绘动起来的技术)。它接上本机 Ollama(在自己电脑上跑大模型的工具),就能用中文聊天。回复是流式的,也就是一个字一个字往外冒。角色还会跟着回复内容换表情和动作。不填任何云端密钥也能玩。本帖免费。

4 步上手

  1. 装环境:装 Node.js 26,执行 corepack enable,让 pnpm 自动对上 11.24.0。
  2. 装依赖:在项目目录执行 pnpm i,第一次要等一会儿。
  3. 起 Web 版:执行 pnpm dev --host 127.0.0.1,浏览器打开 http://127.0.0.1:5173/。
  4. 接 Ollama 聊天:用 OLLAMA_ORIGINS=* 启动 Ollama,拉一个 3B 小模型,在引导页选 Ollama,再选模型,然后发一句中文。
终端:装依赖和启动成功
看这里:pnpm i 最后显示 37 个构建任务全部成功。pnpm dev 打出 VITE ready 和 Local: http://127.0.0.1:5173/,说明启动成功。最下面列出了本机 Ollama 里的模型。

能做什么(只写本机实测过的)

  • 角色会动:默认角色叫「伊噜」,打开页面就会眨眼、呼吸、轻轻晃动
  • 中文聊天:接本机 Ollama,回复流式输出
  • 跟着情绪换表情:等回复时会做「思考」动作,回复里再切换开心、疑问、好奇等表情
  • 换角色:模型选择器里自带 2 个 Live2D 角色和 2 个 VRM 角色(VRM 是 3D 虚拟形象的通用文件格式),也能导入自己的模型
  • 界面有简体中文:右上角地球图标切换

语音合成、语音识别、桌宠版和接游戏等功能,本篇都没有实测,就不展开了。

技术栈(压缩)

  • 前端:Vue 3 + TypeScript,开发服务器用 Vite(前端的开发服务器和打包工具)
  • 仓库:pnpm monorepo(一个仓库里装着很多子项目,用 pnpm 统一管理)
  • 2D 角色:Live2D;3D 角色:VRM + Three.js
  • 大模型:任意 OpenAI 兼容接口,本篇用本机 Ollama

本机实测版本 v0.15.2,Node 26.12.1,pnpm 11.24.0,Ollama 0.40,模型 qwen2.5:3b。

本机部署(已跑通)

corepack enable
pnpm -v                         # 应显示 11.24.0

pnpm i                          # 第一次较久
pnpm dev --host 127.0.0.1       # 只给本机访问

# 另开一个终端
OLLAMA_ORIGINS=* ollama serve   # 允许浏览器直接访问 Ollama
ollama pull qwen2.5:3b

第一次 pnpm dev 会自动联网下载 Live2D 运行库和示例角色模型。下载失败就检查网络或代理,然后重跑。

首页角色加载完成
看这里:地址是本机 5173 端口。左边是 Live2D 角色伊噜,右边是对话框。连拍几张对比,她一直在轻轻动。

第一次打开会弹出引导页,默认是英文。先点右上角地球图标切到简体中文,再点「配置您自己的 AI 服务来源」。

引导页:选择服务来源
看这里:列表里有 Ollama 和「OpenAI 兼容 API」。选 Ollama 就不用填任何密钥。

Base URL 填 http://127.0.0.1:11434/v1/。默认值写的是 localhost,有的系统会先解析到 IPv6,连不上,改成 127.0.0.1 更稳。

Ollama 配置验证成功
看这里:Base URL 是本机 11434 端口,下面显示「配置验证成功」。这一页在 设置 → 服务来源 → Ollama。
意识模块选择模型
看这里:设置 → 模块 → 意识。服务来源选中 Ollama,模型选 qwen2.5:3b,右上角显示「当前模型」。

验收:中文对话 + 表情

发一句:「伊噜早上好!我今天考试拿了满分,你替我高兴吗?」

流式回复中
看这里:右侧回复只出了第一句,后面还在往外冒。角色头顶的小气泡表示还在生成。
同一条回复里的表情变化
看这里:这是同一次对话里截的四帧。等待时是「思考」,开头切到「开心」,中间「疑问」,结尾「好奇」。头的角度和嘴型都不一样。
回复完成
看这里:完整回复是「早上好呀,伊噜!听到你得了满分,我当然替你高兴了!可以告诉我你是怎么复习的吗?」。

表情是怎么来的:AIRI 会让模型在回复里夹带情绪标记。页面把标记藏起来,再交给角色去换表情。小模型偶尔会把称呼弄混,比如上面它叫了用户「伊噜」,这是模型能力问题。

口型要跟着语音走。本篇没开语音合成,所以只有表情和动作,没有对口型。

模型选择器
看这里:设置 → 角色模型 → 选择模型。自带 Hiyori 的两个 Live2D 版本和两个 VRM 示例。右上角「导入」可以加自己的模型。本篇只实测了默认的 Live2D 角色。

实测踩坑

  1. 版本要对上:仓库指定 Node 26 和 pnpm 11.24。用 corepack enable 让 pnpm 自动切版本。corepack 缓存目录没权限时,设 COREPACK_HOME 到自己能写的目录。
  2. 默认会对局域网开放:pnpm dev 默认带 --host,局域网都能访问。只在本机玩就加 --host 127.0.0.1。
  3. 不想下 Electron 就先跳过:装依赖时会顺带准备桌面版。只玩 Web 版可以先设 ELECTRON_SKIP_BINARY_DOWNLOAD=1。
  4. 报 Failed to fetch 或 CORS:CORS 是浏览器的跨域拦截。Ollama 要带 OLLAMA_ORIGINS=* 启动,Base URL 端口也要写对。
  5. ollama pull 卡住不动:本机下载被 CDN 跳转拦了。改用 curl 从官方仓库下载模型文件,校验哈希后再 ollama create 注册。
  6. 1.5B 模型太弱:qwen2.5:1.5b 能聊,但常常跑题,还会把控制标记当正文念出来。换成 qwen2.5:3b 后正常。
  7. 偶尔只换表情不说话:3B 模型偶尔只输出情绪标记、正文为空,也偶尔把标记写错、原样显示在对话里。点「新建对话」重发一次就好。
  8. 第一个字要等约 20 秒:系统提示词约 3000 字,纯 CPU 先要把它读完。之后出字就快了。
  9. 本地语音只有英文声线:设置里的 Kokoro 本地语音合成,这个版本只列出英文声线,中文口型本篇没测。

安全与合规

  • 只在本机玩时,Vite 和 Ollama 都绑 127.0.0.1,不要直接暴露到公网。
  • 接云端模型时,密钥只填在浏览器设置里,不要写进代码,也不要出现在截图里。
  • 协议为 MIT:再分发请保留 LICENSE。
  • Live2D 运行库是 Live2D 公司的专有许可。示例角色模型的版权归原作者。
  • 源码包可在本帖下载区获取:MIT 源码 + 中文部署说明。已去掉 Live2D SDK 和示例角色模型,构建时自动下载,或需自行获取。也已去掉 node_modules、构建产物和 .git,不含任何密钥。

装 Node 26 → pnpm i → pnpm dev → 接 Ollama,一个会动会聊的 AI 伙伴就在浏览器里站好了。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容