Desktop-Pet-Godot
Desktop-Pet-Godot copied to clipboard
🤖👾🐶一款由大语言模型驱动、Godot 制作的 AI 桌宠,旨在提供一个全能的、丰富的桌面AI宠物。An AI desktop pet created with Godot and powered by LLM, designed to offer a versatile and enriched desktop AI c...
🐶 Godog 🐶
AI Godot 桌宠
简体中文 / English
👋 介绍
🚀 🚀 🚀 一款由大语言模型驱动、Godot 制作的 AI 桌宠,旨在提供一个全能的、丰富的桌面 AI 宠物。你可以将其作为基础,构建你自己独特的桌宠形象和角色行为
- 使用 Godot:轻量、开发简单
- 兼容大量的大语言模型(OpenAI 格式)
- 有预制角色功能,多种形象
- 支持多模态
- 在此基础上,方便构建自己的 AI 桌宠


📙 使用手册
⬇️ 安装
推荐直接使用最新版本(老版本可能存在 bug)
下载地址:查看 release
下载压缩包.zip文件
详细见 Wiki 教程
🔑 使用
- 点击
编辑预设,填写名称,API Key,点击 保存(修改) - 点击
存储预设,选中刚刚添加的预设 - 开始对话
[!Caution] 将主题文件
.pck都需要放在和.exe的同级目录的themes/*.pck下面
[!Caution] 当前仅支持 OpenAI 的视觉能力(VISION),建议使用 gpt-4o 模型 你可以使用其他模型,但不支持多模态
⌨️ 快捷键
- 鼠标右键 角色区域弹出对话框
- 当焦点在角色窗口上,按 ESC 关闭软件
🚦 开发计划
- [ ] 优化美术效果
- [ ] 优化输入框
- [ ] 撰写教程文档
- [ ] 添加多语言的支持
- [ ] 添加更多个性化角色的动画,机制,事件
- [ ] 添加更多模型支持
- [ ] 添加对话框对 markdown 语法渲染的支持
- [ ] 添加语音、文件上传等多模态的能力
- [ ] 添加更多的预设
- [ ] 优化代码架构
- [x] 添加更多角色主题设置,方便导入,通过 mod 载入角色
- [ ] 全平台(macos)
🐶 开发自己的桌宠
基于 Godot 的轻便和易学,通过继承和 mod ,你可以很容易构建独属于你自己的桌面宠物形象。
🏗️ 项目架构
- root(Window)
- Globals(Node)
- App(Node)
- Canvas(Node2D) - 角色部分
- Grapic(Node2D) - 显示区域 和 角色管理
- Dialogue(Control) - 对话显示
- Send(Window) - 发送消息
- TabContainer(TabContainer)
- 对话栏(Control)
- 存储预设(Control)
- 编辑预设(Control)
- Model(PanelContainer)
- Parament(PanelContainer)
🔊 注意
[!Caution]
- 开发使用的 godot 版本号为 4.3 stable,Godot4 应该都是可以的(未测试)
- 导入角色素材记得合适的缩放,同时不忘了调整 显示区域(ClickPolygon) 的大小
- Godot 右上角 选择兼容模式
若歧义,以中文版文档为主。 详细见 wiki。
📋 技术参考
如果在你的项目遇到同类技术问题,可以参考我的项目。
- 如何在 Godot 中接入大模型
- 如何在 Godot 实现 stream 流输出
- 如何在 Godot 发出 http 请求
- 如何在 Godot 实现透明窗口和窗口穿透
- 如何通过载入 mod
- 如何在 Godot 应用中实现显示状态栏,托盘
🤝 贡献
项目目前处于开发阶段(我有时间就会更新),还存在许多 Bug,我正着手修复。 欢迎任何贡献,即使细微。 添加角色素材等等
©️ 版权和授权
你可以使用项目中的任何代码片段,但不能直接将完整项目打包用于商业项目。 同时,需要注意项目中使用到的一些资产的版权信息。
❤️ 鸣谢
多亏了如下开源的项目和精彩绝伦的资产,才有了该项目:
- ChatGPT-stream-for-Godot-4 - stream 输出的支持
- godot-click-through-transparent-window - 透明窗口
- tech-dungeon-roguelite - 角色资产
- tiny-swords - 角色资产
- dino-characters - 角色资产
- VPet - 角色资产