https://github.com/wanye-7300/baker-dx
用以还原《明日方舟:终末地》中Baker的应用。Recreate the Baker application from 'Arknights: Endfield'.
https://github.com/wanye-7300/baker-dx
arknights arknights-endfield baker dioxus dioxus-desktop dioxus-web endfield gui rust
Last synced: about 2 months ago
JSON representation
用以还原《明日方舟:终末地》中Baker的应用。Recreate the Baker application from 'Arknights: Endfield'.
- Host: GitHub
- URL: https://github.com/wanye-7300/baker-dx
- Owner: Wanye-7300
- License: mit
- Created: 2026-02-22T02:39:40.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-04-03T16:49:01.000Z (2 months ago)
- Last Synced: 2026-04-03T19:42:59.606Z (2 months ago)
- Topics: arknights, arknights-endfield, baker, dioxus, dioxus-desktop, dioxus-web, endfield, gui, rust
- Language: Rust
- Homepage: https://baker-dx.vercel.app
- Size: 21.4 MB
- Stars: 14
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Baker
基于 Dioxus 0.7 的会话编辑与回放界面,面向聊天场景的 UI 原型与交互演示。
这个项目旨在还原《明日方舟:终末地》中 Baker 的聊天功能,当然还有一点功能没实现的……留作以后再完善。
## 功能概览
- 会话与联系人管理:选择会话、发起单聊或群聊、配置干员列表
- 消息编辑能力:发送、编辑、删除、在指定位置插入
- 消息类型支持:普通消息、状态行、图片、贴纸
- 反应与演出:消息反应、发送动画、回放打字效果
- 回放能力:从指定消息起开始回放,并在回放结束后显示“话题结束”
- 导出能力:离屏渲染当前会话并导出截图
- 个性化设置:会话头样式切换、背景模式设置、用户资料配置、教程开关
- 本地持久化存储:当前版本使用 LocalStorage + IndexedDB,并兼容旧版 `baker_dx_state.json` 数据迁移
## TO-DO LIST
- [ ] 移动端有限宽度的布局支持
- [ ] 应用配置导出
- [ ] “任务”消息支持
- [x] 会话的离屏渲染并导出
- [ ] 群组会话时控制哪些干员消息位于会话右方
- [x] 回放结束后显示“话题结束,暂无新话题”的提示
## 使用的技术
- Rust 2024
- Dioxus 0.7.3
- 桌面端默认启用,Web 端可选
- Dioxus Router
- `reqwest` / `webbrowser` / `image`
## 运行
```bash
cargo install dioxus-cli
dx serve --platform desktop
dx serve --platform web
```
默认特性为 `desktop`。如果你希望只构建 Web,可以按需调整 Cargo feature。
## 存储说明
- 当前状态数据会序列化为 v2 存储结构
- 元数据使用 LocalStorage 保存
- 联系人、消息和图片资源使用 IndexedDB 保存
- 旧版本的本地 JSON 状态文件 `baker_dx_state.json` 仍可作为迁移来源读取
## 项目结构
- `src/main.rs`:应用入口、资源注入、状态加载与保存
- `src/components/baker/layout.rs`:主页面控制层与路由入口
- `src/components/baker/chat_area.rs`:聊天区域与消息渲染
- `src/components/baker/input_bar.rs`:输入栏、图片与贴纸发送
- `src/components/baker/modals.rs`:各类弹窗
- `src/components/baker/storage.rs`:状态编码、解码与迁移逻辑
- `server/`:独立的轻量服务端子工程
## 问题、建议、Pull Request
如果你在使用这个软件时遇到任何 bug 或者对软件有啥建议,请在 Github 上提交 Issue,谢谢!
如果有什么功能你想实现,也欢迎提交 Pull Request,我会尽快合并。
---
_……_
_我是管理员,这个项目的作者请我帮忙带个话:“**请注意,作者在天师考校上课,由于天师考校复课(高中开学),因此作者在工作日可能不能及时回复问题或者查看拉取请求。**”谢谢你的理解!_
## 展示
