feat: Agent 执行任务等待期间增加轻量小游戏入口
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 395
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
## 使用场景 / Use case
最近在抖音刷到一个挺有意思的想法:
AI Agent 在后台干活时,用户可以顺手玩一些非常简单、不需要动脑、随时可以停下来的小游戏。
我在使用 Cindy 时也经常遇到类似情况。Agent 执行代码修改、文件分析、搜索或其他复杂任务时,经常需要等待几十秒,复杂任务甚至需要几分钟。
这段时间继续盯着执行过程会有点无聊,但切换到其他软件又容易分心,或者错过任务完成提示。
所以我觉得,可以在 Cindy 的 Agent 等待过程中,加一个很轻量的“摸鱼小游戏”入口。
这里说的不是完整游戏中心,而是类似 2048、点击小游戏、接金币、合成小游戏或简单宠物养成这种“弱智小游戏”。
## 当前问题 / Current limitation
目前 Cindy 在执行耗时任务时,用户主要有两种选择:
1. 留在当前页面看任务执行状态;
2. 切换到其他软件,等任务完成后再回来。
对于几十秒到几分钟的等待来说:
- 一直盯着任务状态比较无聊;
- 切换到其他软件容易打断当前工作;
- 用户可能无法第一时间看到 Agent 已经完成;
- 当前等待区域除了展示状态,没有其他轻量互动。
因此,我觉得这个等待场景可以增加一点简单、有趣的交互。
## 期望方案 / Proposed solution
希望 Cindy 在 Agent 执行耗时任务时,提供一个“玩会儿小游戏”或类似入口。
设想流程:
1. 用户提交一个耗时任务;
2. Agent 在后台继续正常执行;
3. 等待区域出现小游戏入口;
4. 用户打开小游戏消磨等待时间;
5. 用户可以随时退出并查看 Agent 进度;
6. Agent 完成、需要授权或遇到错误时,立即中断游戏并明显提醒用户。
第一版不需要做得很复杂,只实现一个小游戏即可,例如:
- 2048;
- 合成小游戏;
- 点击或接金币小游戏;
- 贪吃蛇;
- 简单的宠物养成。
展示方式可以是:
- 当前任务等待区域内的小卡片;
- 一个可关闭的弹出层;
- 灵动岛展开区域中的轻量入口。
我更倾向于先支持桌面端,不需要新增完整的游戏中心页面。
后续如果大家觉得有意思,还可以考虑:
- Agent 完成任务后获得少量经验或游戏金币;
- 宠物随着 Cindy 的使用次数成长;
- 不同类型的任务获得不同奖励。
这些都不是第一版必须实现的内容。
## 已考虑的替代方案 / Alternatives considered
### 1. 继续让用户切换到其他软件
这是目前最直接的方式,但用户容易分心,也可能错过 Cindy 的任务完成、授权确认或错误提示。
### 2. 只增加更丰富的等待动画
等待动画可以改善视觉体验,但看久了依然比较无聊,互动性也比较有限。
### 3. 做一个完整的游戏中心
这个方案太重,也会偏离最初目的。
我的想法只是:
> Agent 在干活时,用户可以顺手玩几十秒;Agent 一完成,马上回到正常工作。
小游戏应该默认可关闭,不能占用过多资源,也不能影响 Agent 的执行、通知和任务状态。
想征求一下官方开发者的意见:
- 这个方向是否符合 Cindy 的产品定位?
- 更适合做成内置功能、插件,还是可选组件?
- Cindy 当前是否已经有适合复用的任务状态和完成通知机制?
- 是否值得先做一个纯本地、无排行榜、无后端存储的 MVP?
如果这个方向可行,我愿意继续整理交互稿,也可以尝试实现一个简单版本。
Contributor guide
Research direction
No files, tests, or entry points are named. First identify the desktop waiting-state and task-notification entry points, then clarify which single game and interruption behavior are in scope. Done should be a lightweight, closable desktop MVP that does not affect Agent execution or completion, authorization, and error notifications.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100