Files
Qt_DesktopPet/docs/QtDesktopPet_后续功能规划与结构审查.md
T

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

功能优先级建议

当前聊天意图建议保持以下原则:

  1. 提醒明确优先,例如“明天提醒我看天气”应创建提醒。
  2. 天气明确问答走天气模块,例如“明天西安天气怎么样”。
  3. 工作区相关文件和代码任务走 Workspace Agent,例如“搜索这个项目里的 README”“读取 main.cpp”“分析这个项目”;重命名等写操作留到后续阶段。
  4. 明确应用启动走 Launcher,例如“打开 Codex”“启动酷狗音乐”。
  5. 其余走普通聊天或联网聊天。

不能简单用“文件 / 打开 / 搜索”这类宽关键词吞掉所有请求。尤其要避免:

  • “打开微信”误判为工作区打开文件。
  • “搜索 Qt 最新版本”误判为工作区搜索。
  • “把天气截图保存到桌面”误判为天气查询。

当前延期项

以下能力继续延期,不进入本地工作区 Agent 第一阶段:

  • 语音输入和语音朗读。
  • Live2D、GIF、视频形象。
  • 插件系统。
  • 云同步和自动更新。
  • 长期记忆系统。
  • 角色市场或角色包分享平台。
  • Shell 命令执行、脚本执行、自动安装依赖。
  • 自动 git commit、自动推送、自动联网下载并执行文件。
  • 工作区外全盘搜索。
  • 复杂网页抓取和旧搜索引擎聚合。

验收策略

  • Codex 不调用 CMake、cmake --build、Qt Creator 构建或等价构建命令。
  • 每完成一个模块,先做静态检查和逻辑推演。
  • 编译和运行验证由用户手动执行。
  • 功能验收按 docs/QtDesktopPet_测试清单与验收标准.md
  • 性能和发布验收按 docs/performance_stability_check.md