>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Rust

用 Rust 将视觉小说、LLM 和桌面宠物结合在一起

大多数神经网络交互界面看起来同样乏味。它们要么是 ChatGPT 的翻版——左侧是会话列表、右侧是输入框,要么是终端命令行工具。但如果你玩过日本视觉小说(Galgame),就会知道视觉接触、角色情绪变化和情境上下文有多重要。

最近我发现了一个有趣的项目——LingChat,其作者尝试将视觉小说的对话机制、虚拟桌面宠物系统和现代语言模型结合起来。对我们来说最好的一点是:底层是纯正的 Rust,而不是又一个吃资源的 Electron 应用。

项目内部结构

LingChat 仓库提供了一种对 AI 通信格式的重新思考。不是枯燥的聊天窗口,而是一个能对对话做出反应、追踪你的日程安排并能参与互动场景的动画角色。

该项目同时处理多个任务:

  • 情感精灵反应。模型不仅生成文本,还标记自己的情感状态。根据回复的语气,角色会改变姿态、面部表情和动画。
  • 桌面宠物模式。角色直接浮动在你的系统窗口上方,在后台响应点击和用户操作。
  • 日程安排和任务追踪。对话引擎内置日历和提醒功能,助手会及时提醒你通话或截止日期。
  • 分支故事模块。作者添加了场景分支支持,将普通聊天转变为带有条件检查和选择的互动游戏。

为什么选择 Rust 很重要

通常,这类交互式应用使用 Electron + React 或 Unity 构建。两种方法都有一个令人不快的缺点:资源消耗大。桌面宠物需要整天在后台运行,但不能吃掉你一半的内存或让笔记本风扇狂转。

LingChat 使用 Rust 编写。这在持续精灵渲染和鼠标事件处理期间提供了低资源消耗。核心应用逻辑运行快速,将大部分系统资源留给本地模型推理或并行工作任务。

代码实现了一个解析系统来处理 LLM 响应中的情感标签。当模型返回响应时,引擎在屏幕上显示文本之前拦截特殊的情绪标记,并同步切换角色的动画帧。

这可以在哪里应用

除了直接用于娱乐和对像 Shimeji 这样的旧虚拟宠物的怀旧之情,这个项目为开发者提供了有趣的架构思路。

首先,这是为独立游戏创建 NPC 的绝佳参考。如果你想在项目中添加基于生成式 AI 的角色,可以在这里寻找灵感,了解如何将模型的文本输出与动画图形状态变化联系起来。

其次,该项目很好地展示了创建有个性的个性化助手的机制。不是面无表情的机器人,而是一个通过系统提示和配置文件配置行为参数和性格的伙伴。

从哪里开始

源代码采用 AGPL-3.0 许可证开源。文档和设置指南收集在项目官方网站 https://lingchat.wiki/ 上。

要运行它,你需要配置好的 Rust 工具链和兼容 LLM 提供商的 API 密钥(或本地运行的服务器,如 Ollama / vLLM,支持 OpenAI 兼容 API)。

如果你一直想构建自己的自定义桌面伴侣或尝试通过 LLM 实现动态精灵切换,深入研究 SlimeBoyOwO/LingChat 仓库绝对值得一试。

相关项目