Shannon 提供基于 Tauri 构建的原生桌面应用程序,用于实时任务监控和管理。桌面应用提供了与 Shannon 服务交互的简化界面。
桌面应用程序已取代之前的 Web 仪表板,提供更好的性能和原生操作系统集成。
功能特性
- 实时任务流 - 活动任务的实时 SSE 事件源
- 任务管理 - 提交、监控和取消任务
- 会话历史 - 浏览和继续之前的对话
- 多平台支持 - macOS(通用版)、Windows、Linux、iOS
支持的平台
| 平台 | 架构 | 格式 |
|---|
| macOS | 通用版(Intel + Apple Silicon) | DMG |
| Windows | x86_64 | MSI |
| Linux | x86_64 | AppImage/DEB |
| iOS | ARM64 | App Bundle |
macOS
- 从发布页面下载最新的 DMG
- 打开 DMG 文件
- 将 Shannon 拖到应用程序文件夹
- 从应用程序启动
# 或通过命令行安装
open shannon-desktop_0.2.0_universal.dmg
从源代码构建
前置条件
确保已安装所需工具:
- Node.js 18+
- Rust 1.70+
- Xcode 命令行工具(macOS)
# 安装用于通用二进制文件的 Rust 目标(macOS)
rustup target add aarch64-apple-darwin x86_64-apple-darwin
克隆并安装
git clone https://github.com/Kocoro-lab/Shannon.git
cd Shannon/desktop
npm install
配置 API 端点
cp .env.local.example .env.local
# 编辑 .env.local 设置您的 Shannon API URL
# 默认:http://localhost:8080
生产构建
输出:src-tauri/target/release/bundle/dmg/shannon-desktop_0.2.0_universal.dmg
API 端点
通过环境变量设置 Shannon API 端点:
# .env.local
NEXT_PUBLIC_API_URL=http://localhost:8080
对于生产部署:
NEXT_PUBLIC_API_URL=https://api.your-domain.com
使用方法
主界面
桌面应用提供:
- 聊天界面 - 提交查询并查看响应
- 运行视图 - 监控活动和已完成的任务
- 运行详情 - 查看特定任务的完整事件流
- 设置 - 配置 API 端点和偏好设置
提交任务
- 打开应用
- 在聊天输入框中输入您的查询
- 按 Enter 或点击发送
- 观看任务执行时的实时事件
监控任务
导航到运行页面可以看到:
- 带有实时状态的活动任务
- 带有结果的已完成任务
- 带有错误详情的失败任务
点击任何运行可查看完整的事件流。
故障排除
构建失败:模块未找到
npm install @tauri-apps/plugin-shell
通用二进制文件要求(macOS)
确保已安装两个 Rust 目标:
rustup target list --installed
# 应该显示:
# aarch64-apple-darwin
# x86_64-apple-darwin
连接问题
- 验证 Shannon 服务正在运行
- 检查
.env.local 中的 API URL
- 确保防火墙没有阻止端口 8080
清理重建
rm -rf .next out src-tauri/target/release/bundle
npm run tauri:build
技术栈
| 组件 | 技术 |
|---|
| 框架 | Next.js 16(Turbopack) |
| 运行时 | Tauri 2.x |
| UI | Shadcn/ui + Tailwind CSS |
| 状态管理 | Redux Toolkit |
| 后端 | Shannon Gateway API |
下一步