Skip to content

Latest commit

 

History

History

README.md

assistant-desktop

assistant 的桌面优先客户端(Tauri + React + Vite),用于承载聊天交互与本地知识工作区(任务 / 知识)体验。

当前阶段说明

本子项目目前处于研发阶段,界面结构、交互细节与接口约定可能持续调整。
当前目标是完成可联调、可验证、可迭代的桌面客户端基础能力,不涉及生产化部署说明。

在 xiaoyu 中的角色

assistant-desktopxiaoyu 的用户交互入口之一,负责:

  • 聊天会话与流式回复展示(对接 assistant-agent
  • 任务工作区(对接 assistant-mcptasks 能力)
  • 知识工作区(对接 assistant-mcpcards 能力)
  • 桌面端壳集成(Tauri)

相关工程:

已实现功能(当前)

聊天主界面

  • 会话列表加载、切换、新建、删除
  • 会话历史加载
  • 流式聊天回复(SSE)
  • 推理内容 / 工具结果事件的前端归一化展示(基础能力)
  • Agent 连通状态轮询(在线 / 离线 / 检查中)

工作区面板(右侧)

  • 待办 面板
    • 任务日历视图
    • 日期切换与跨月浏览
    • 任务 Markdown 内容展示
  • 知识 面板
    • 知识树加载与展开
    • 搜索过滤(目录 / 文档)
    • 知识卡片内容展示(Markdown)

桌面壳(Tauri)

  • Tauri dev/build 脚本已接入
  • 本地窗口加载项目内前端(Vite dev server / dist)
  • 桌面能力适配接口雏形(打开链接、通知;当前以 Web fallback 为主)

目录结构

  • src/ 桌面端前端代码(React)
  • src/components/ 页面组件(聊天区、侧边栏、工作区面板等)
  • src/services/ 后端接口访问层(agent / mcp)
  • src/stores/ 前端状态管理(聊天状态)
  • src/platform/ 桌面能力适配层
  • src/config/ 运行时配置(环境变量)
  • src-tauri/ Tauri Rust 壳与打包配置
  • docs/desktop-plan.md 桌面端设计/规划文档
  • package.json 前端与 Tauri 脚本

运行依赖(联调前提)

本项目本身是客户端,需要依赖本地服务提供接口:

  • assistant-agent:提供聊天与会话相关接口
    • 例如:/api/sessions/api/chat/stream
  • assistant-mcp:提供任务与知识数据接口
    • 例如:/tasks/cards/tree/cards/content

如果未启动相关服务,客户端会出现离线状态或加载失败提示,这是当前预期行为。

配置项(环境变量)

通过 Vite 环境变量配置后端地址与请求行为:

  • VITE_API_BASE_URL
    • assistant-agent 的基础地址
    • 示例:http://localhost:8080
  • VITE_MCP_BASE_URL
    • assistant-mcp 的基础地址
    • 示例:http://localhost:8081
  • VITE_API_CREDENTIALS
    • fetchcredentials 配置
    • 可选值:same-origin / include / omit
    • 默认值:same-origin

说明:

  • VITE_API_BASE_URL / VITE_MCP_BASE_URL 为空,则按当前页面同源地址请求。
  • 客户端会自动识别当前运行环境(Web / Tauri Desktop)。

开发命令(当前)

在本目录执行:

  1. 安装依赖

    • npm install
  2. 启动前端开发模式(Web)

    • npm run dev
  3. 启动桌面开发模式(Tauri)

    • npm run tauri:dev
  4. 代码检查

    • npm run lint

构建与打包(当前)

在本目录执行:

  1. 前端构建

    • npm run build
  2. 桌面打包(Tauri)

    • npm run tauri:build

说明:

  • Tauri 会使用 src-tauri/tauri.conf.json 中的配置:
    • 开发模式自动启动 Vite dev server(默认 http://localhost:5173
    • 构建模式使用本目录 dist/ 作为前端静态资源

当前限制与下一阶段计划

当前限制

  • MCP 连通状态在顶部状态栏中尚未接入真实检测(当前为占位展示)
  • 桌面原生能力仍以浏览器兼容实现为主(通知 / 打开链接)
  • 后端自动发现与自动拉起尚未实现

下一阶段计划

  • 增加桌面能力适配层(打开链接、通知、Reveal in Finder)
  • 客户端内展示后端连接状态(含 MCP)
  • 自动探测/配置本地 assistant-agent 地址
  • 自动拉起本地后端进程(第二阶段)

相关文档