5.3 KiB
5.3 KiB
QtDesktopPet 当前路线与结构收口
本文档是当前有效的开发路线总览。旧版长文档已归档到 docs/archive/QtDesktopPet_后续功能规划与结构审查_旧版.md。
当前产品状态
项目当前是一个 Windows 优先的 Qt 6 Widgets 桌面宠物应用,主要能力包括:
- 透明无边框桌宠窗口、拖动、置顶、托盘和单实例唤醒。
- PNG 序列帧角色包、多状态动画、角色导入、切换、导出和用户角色目录管理。
- AI 对话,支持 OpenAI Compatible、OpenAI 官方、Google Gemini、DeepSeek、Custom 配置。
- 输入框联网模式,使用 AI Provider 原生联网能力,不再维护旧搜索引擎聚合。
- 定时提醒,支持一次性和每天/每周/每月重复提醒、音效管理、历史保留和隐藏/AI 忙通知规则。
- 天气查询,使用 Open-Meteo、默认城市、IP fallback、多候选提示和默认城市测试。
- 对话历史管理,支持本地保存、关键词搜索、Provider/模型/时间筛选、Markdown/JSON 导出。
- 本地应用启动,支持登记应用、别名、手选
.exe、启动前确认和开机自启动配置。 - 本地文件操作 v1,支持读取文本、列目录、复制、备份和重命名。
- 本地工作区 Agent v1b,支持选择工作区、扫描索引、搜索文件、搜索文本、读取文本文件、项目结构摘要、文件内容总结、打开普通文件、显示所在位置和独立 Agent 窗口。
当前结构边界
已经形成的模块边界:
| 模块 | 目录 | 状态 |
|---|---|---|
| AI 对话 | src/ai/ |
已落地 |
| 意图分发 | src/assistant/ |
已落地 |
| 角色包 | src/character/ |
已落地 |
| 配置与密钥 | src/config/ |
已落地 |
| 文件操作 v1 | src/fileops/ |
已落地,后续将被 Workspace Agent 替代 |
| 应用启动 | src/launcher/ |
已落地 |
| 通知 | src/notification/ |
已落地 |
| 提醒 | src/reminder/ |
已落地 |
| 状态机 | src/state/ |
已落地 |
| 系统能力 | src/system/ |
已落地 |
| 天气 | src/weather/ |
已落地 |
| 联网模式 | src/web/ |
已落地 |
| 本地工作区 Agent | src/workspace/ + src/ui/WorkspaceAgentWindow.* |
v1a.1/v1b/v1b.5 独立窗口化已落地 |
PetWindow 仍然承担较多 UI 编排职责。后续新增大功能必须优先放在独立模块和 Controller 中,PetWindow 只保留入口、展示和确认交互。
下一阶段主线
下一阶段主线仍是本地工作区 Agent,而不是继续扩展旧 src/fileops/。
v1a.1/v1b/v1b.5 已完成:
- 用户选择一个本地工作区目录。
- 桌宠可以扫描、搜索、读取和分析该工作区内文件。
- 桌宠可以打开工作区内普通文件、打开文件夹、显示文件所在位置。
- 独立 Agent 窗口可以展示文件结果、文本命中、最近读取、用户任务、本地工具结果和 AI 分析结果,并对选中结果执行读取、打开、显示位置。
- 写操作误分发已收口:创建/新建/写入/修改不会再误走旧 fileops 的读取文本文件流程。
- 文本搜索误分发已收口:
含class的文件 / 包含 class 的文件 / 找一下含 class 的文件会走工作区全文搜索,不再弹旧文本文件选择框。
后续目标:
- 桌宠可以生成文件修改计划。
- 创建、修改、复制、移动、重命名、删除到回收站等写操作必须先展示计划并等待用户确认。
- 不允许访问工作区外路径。
- 不允许执行系统命令、脚本或聊天文本中的命令参数。
- 不允许永久删除文件。
正式施工计划见:
docs/agent/DesktopPet_本地工作区Agent_施工计划.md
功能优先级建议
当前聊天意图建议保持以下原则:
- 提醒明确优先,例如“明天提醒我看天气”应创建提醒。
- 天气明确问答走天气模块,例如“明天西安天气怎么样”。
- 工作区相关文件和代码任务走 Workspace Agent,例如“搜索这个项目里的 README”“读取 main.cpp”“分析这个项目”;重命名等写操作留到后续阶段。
- 明确应用启动走 Launcher,例如“打开 Codex”“启动酷狗音乐”。
- 其余走普通聊天或联网聊天。
不能简单用“文件 / 打开 / 搜索”这类宽关键词吞掉所有请求。尤其要避免:
- “打开微信”误判为工作区打开文件。
- “搜索 Qt 最新版本”误判为工作区搜索。
- “把天气截图保存到桌面”误判为天气查询。
当前延期项
以下能力继续延期,不进入本地工作区 Agent 第一阶段:
- 语音输入和语音朗读。
- Live2D、GIF、视频形象。
- 插件系统。
- 云同步和自动更新。
- 长期记忆系统。
- 角色市场或角色包分享平台。
- Shell 命令执行、脚本执行、自动安装依赖。
- 自动 git commit、自动推送、自动联网下载并执行文件。
- 工作区外全盘搜索。
- 复杂网页抓取和旧搜索引擎聚合。
验收策略
- Codex 不调用 CMake、
cmake --build、Qt Creator 构建或等价构建命令。 - 每完成一个模块,先做静态检查和逻辑推演。
- 编译和运行验证由用户手动执行。
- 功能验收按
docs/QtDesktopPet_测试清单与验收标准.md。 - 性能和发布验收按
docs/performance_stability_check.md。