{"id":45778407,"url":"https://github.com/wanye-7300/baker-dx","last_synced_at":"2026-04-06T07:04:04.473Z","repository":{"id":341185045,"uuid":"1163707874","full_name":"Wanye-7300/baker-dx","owner":"Wanye-7300","description":"用以还原《明日方舟：终末地》中Baker的应用。Recreate the Baker application from 'Arknights: Endfield'.","archived":false,"fork":false,"pushed_at":"2026-04-03T16:49:01.000Z","size":22440,"stargazers_count":14,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-03T19:42:59.606Z","etag":null,"topics":["arknights","arknights-endfield","baker","dioxus","dioxus-desktop","dioxus-web","endfield","gui","rust"],"latest_commit_sha":null,"homepage":"https://baker-dx.vercel.app","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wanye-7300.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-22T02:39:40.000Z","updated_at":"2026-04-03T16:43:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Wanye-7300/baker-dx","commit_stats":null,"previous_names":["wanye-7300/baker-dx"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/Wanye-7300/baker-dx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wanye-7300%2Fbaker-dx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wanye-7300%2Fbaker-dx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wanye-7300%2Fbaker-dx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wanye-7300%2Fbaker-dx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wanye-7300","download_url":"https://codeload.github.com/Wanye-7300/baker-dx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wanye-7300%2Fbaker-dx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31463018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arknights","arknights-endfield","baker","dioxus","dioxus-desktop","dioxus-web","endfield","gui","rust"],"created_at":"2026-02-26T10:50:48.657Z","updated_at":"2026-04-06T07:04:04.430Z","avatar_url":"https://github.com/Wanye-7300.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Baker\n\n基于 Dioxus 0.7 的会话编辑与回放界面，面向聊天场景的 UI 原型与交互演示。\n这个项目旨在还原《明日方舟：终末地》中 Baker 的聊天功能，当然还有一点功能没实现的……留作以后再完善。\n\n## 功能概览\n\n- 会话与联系人管理：选择会话、发起单聊或群聊、配置干员列表\n- 消息编辑能力：发送、编辑、删除、在指定位置插入\n- 消息类型支持：普通消息、状态行、图片、贴纸\n- 反应与演出：消息反应、发送动画、回放打字效果\n- 回放能力：从指定消息起开始回放，并在回放结束后显示“话题结束”\n- 导出能力：离屏渲染当前会话并导出截图\n- 个性化设置：会话头样式切换、背景模式设置、用户资料配置、教程开关\n- 本地持久化存储：当前版本使用 LocalStorage + IndexedDB，并兼容旧版 `baker_dx_state.json` 数据迁移\n\n## TO-DO LIST\n\n- [ ] 移动端有限宽度的布局支持\n- [ ] 应用配置导出\n- [ ] “任务”消息支持\n- [x] 会话的离屏渲染并导出\n- [ ] 群组会话时控制哪些干员消息位于会话右方\n- [x] 回放结束后显示“话题结束，暂无新话题”的提示\n\n## 使用的技术\n\n- Rust 2024\n- Dioxus 0.7.3\n- 桌面端默认启用，Web 端可选\n- Dioxus Router\n- `reqwest` / `webbrowser` / `image`\n\n## 运行\n\n```bash\ncargo install dioxus-cli\ndx serve --platform desktop\ndx serve --platform web\n```\n\n默认特性为 `desktop`。如果你希望只构建 Web，可以按需调整 Cargo feature。\n\n## 存储说明\n\n- 当前状态数据会序列化为 v2 存储结构\n- 元数据使用 LocalStorage 保存\n- 联系人、消息和图片资源使用 IndexedDB 保存\n- 旧版本的本地 JSON 状态文件 `baker_dx_state.json` 仍可作为迁移来源读取\n\n## 项目结构\n\n- `src/main.rs`：应用入口、资源注入、状态加载与保存\n- `src/components/baker/layout.rs`：主页面控制层与路由入口\n- `src/components/baker/chat_area.rs`：聊天区域与消息渲染\n- `src/components/baker/input_bar.rs`：输入栏、图片与贴纸发送\n- `src/components/baker/modals.rs`：各类弹窗\n- `src/components/baker/storage.rs`：状态编码、解码与迁移逻辑\n- `server/`：独立的轻量服务端子工程\n\n## 问题、建议、Pull Request\n\n如果你在使用这个软件时遇到任何 bug 或者对软件有啥建议，请在 Github 上提交 Issue，谢谢！\n\n如果有什么功能你想实现，也欢迎提交 Pull Request，我会尽快合并。\n\n---\n\n_……_\n\n_我是管理员，这个项目的作者请我帮忙带个话：“**请注意，作者在天师考校上课，由于天师考校复课（高中开学），因此作者在工作日可能不能及时回复问题或者查看拉取请求。**”谢谢你的理解！_\n\n## 展示\n\n![展示-Perlica](./readme/perlica.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwanye-7300%2Fbaker-dx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwanye-7300%2Fbaker-dx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwanye-7300%2Fbaker-dx/lists"}