使用桌面应用
CatGo 桌面应用是基于 Tauri 2.0 构建的原生应用。它提供与 Web 应用相同的 3D 结构查看器和分析工具,并额外支持原生文件处理、多面板编辑器,以及可选的内置计算服务器。
启动应用
构建或安装桌面应用后,像启动其他原生应用一样打开它:
- macOS: 从 Applications 或
.dmg中打开CatGo.app - Windows: 运行
.exe,或使用.msi安装器创建的开始菜单快捷方式 - Linux: 运行
.AppImage,或安装.deb/.rpm包
应用会打开一个包含起始页的单面板界面,其中显示导入选项和示例结构。
加载结构
有五种方式可以把结构加载到 CatGo 中:
打开文件对话框
在起始页点击 Open File,或按 Ctrl+O(macOS 上为 Cmd+O)。系统原生文件选择器会出现,并带有支持格式筛选:
- 结构文件:
.cif、.poscar、.vasp、.xyz、.json - 轨迹文件:
.extxyz、.traj、.h5、.hdf5、XDATCAR - 密度文件:
.cube、.cub - 压缩文件: 上述所有格式的
.gz、.zip、.bz2变体
拖放
从文件管理器中把任意支持文件直接拖到应用窗口。文件会加载到第一个空面板中;如果所有面板都已占用,则加载到当前活动面板。
双击文件(文件关联)
桌面应用会为 .cif、.poscar、.vasp、.contcar、.xyz、.extxyz、.traj 和 .json 注册文件关联。在文件管理器中双击这些文件,会直接用 CatGo 打开。在 macOS 上,关联文件还会在 Finder 中显示自定义 CatGo 文档图标。
数据库搜索
点击 OPTIMADE 搜索晶体结构数据库(Materials Project、AFLOW、COD 等),或点击 PubChem 搜索分子化合物数据库。两者都需要计算服务器运行,见下方后端服务器。
粘贴内容
点击 Paste,可直接从剪贴板粘贴 POSCAR 或 CONTCAR 文本。
标签页和多面板布局
标签页管理
CatGo 使用 collapsible tab bar 管理多个工作区:
- 单标签页: 标签栏隐藏,以最大化视口空间。右上角会浮动一个小的 + 按钮,用于添加新标签页。
- 多标签页: 显示完整标签栏,使用 pill-style tabs。活动标签页会以轻微强调色填充高亮。
| 操作 | 方法 |
|---|---|
| 新建结构标签页 | 点击 + -> Structure,或按 Ctrl+T / Cmd+T |
| 新建工作流标签页 | 点击 + -> Workflow |
| 切换标签页 | 点击标签页,或按 Ctrl+Tab / Ctrl+Shift+Tab 循环切换 |
| 关闭标签页 | 点击标签页上的 x,或中键点击 |
多面板布局
每个结构标签页最多支持 4 个结构同时显示,以网格布局排列。当加载第二个文件时,布局会自动扩展为 2 个面板。关闭结构时,布局会自动折叠。
切换面板
- 点击 任意面板可将其设为活动面板
- 按 1、2、3 或 4 按编号切换
- 活动面板会接收所有键盘快捷键和工具栏操作
关闭结构
- 按
Ctrl+W(macOS 上为Cmd+W)关闭活动结构 - 如果结构未修改,按
Esc也可关闭活动结构
结构关闭后,剩余内容会自动重新排列,布局也会折叠。
原子剪贴板
你可以在不同面板之间复制和粘贴原子,这对构建异质结构或转移片段很有用。
- 在源面板中选择原子(点击 + Shift+点击)
- 按
Ctrl+C(macOS 上为Cmd+C)复制;右下角会出现剪贴板提示,显示复制了多少原子 - 切换到目标面板(点击面板或按编号键)
- 按
Ctrl+V(macOS 上为Cmd+V)粘贴;原子会以 0.5 A 偏移插入,以避免重叠
粘贴后的原子会自动选中,方便立即重新定位。剪贴板会保留完整 site 数据:元素物种、坐标、标签和属性。
键盘快捷键
| 快捷键 | 操作 |
|---|---|
Ctrl+O / Cmd+O | 打开文件对话框 |
Ctrl+T / Cmd+T | 新建结构标签页 |
Ctrl+Tab | 下一个标签页 |
Ctrl+Shift+Tab | 上一个标签页 |
Ctrl+W / Cmd+W | 关闭活动结构或标签页 |
Ctrl+C / Cmd+C | 复制选中原子 |
Ctrl+V / Cmd+V | 将原子粘贴到活动面板 |
Esc | 关闭活动结构(如果未修改) |
1 - 4 | 切换活动面板 |
R | 重置相机 |
标准结构查看器快捷键(旋转、缩放、选择)在每个面板中同样可用。
设置持久化
桌面应用会自动把偏好设置保存到 localStorage。这些设置会跨会话保留:
- Camera: 投影模式(perspective/orthographic)、缩放/旋转/平移速度、zoom-to-cursor
- Display: 化学键可见性、原子半径、等尺寸原子、位点标签、位点索引
- Lighting: 环境光和方向光强度
设置会在所有面板之间共享,并以 500ms debounce 保存,避免过度写入。下次启动时会自动恢复。
后端服务器
部分功能需要运行在 localhost:8000 的 Python 计算服务器:
- 结构优化(EMT、xTB、MACE、CHGNet、M3GNet)
- 数据库搜索(OPTIMADE、Materials Project、PubChem)
- 结构构建器(Moire、纳米管、异质结构、水层)
- 输入文件生成(Quantum ESPRESSO、LAMMPS、VASP)
- 吸附位点查找
- CUBE 文件处理
内置服务器
如果用内置后端方式构建 CatGo(pnpm bundle),Python 服务器会在应用启动时自动启动,并在窗口关闭时停止。不需要手动配置。
可以在浏览器中访问 http://localhost:8000/health 确认服务器是否运行。
手动服务器
如果使用 pnpm tauri:build 构建,也就是没有打包后端,需要单独启动服务器:
cd server
pip install -r requirements.txt
python main.py服务器运行在 8000 端口,并为桌面应用配置 CORS。需要服务器的功能会在检测到服务器后立即可用。
无服务器也能工作的功能
核心查看器、WASM 支撑的功能和本地操作可以完全离线运行:
- 3D 结构查看、旋转、选择
- 文件解析和导出(所有格式)
- 键检测和键编辑(WASM)
- Slab 生成和超胞(WASM)
- 对称性分析(Spglib/Moyo WASM)
- 本地 UFF 优化(浏览器端)
- 轨迹播放
结构构建器
起始页上的 Build 按钮会打开 graphene 模板,并提供结构操作工具栏。从那里可以使用:
- Slab Cutter - 根据 Miller 指数生成表面 slab
- Supercell - 扩展周期晶胞
- Moire Builder - 创建扭转双层结构(需要服务器)
- Nanotube Builder - 将片层卷成纳米管(需要服务器)
- Heterostructure Builder - 构建并堆叠异质结构材料(需要服务器)
- Adsorbate Placement - 在表面放置分子(需要服务器)
使用建议
- 并排比较结构:在同一标签页打开两个文件,布局会自动拆分并同时显示
- 在结构之间转移原子:在一个面板中选中,按
Ctrl+C,切换面板后按Ctrl+V - 快速预览:把文件拖到应用窗口,会加载到第一个空面板,不会打断当前工作
- 修改状态提示:CatGo 会追踪结构是否被编辑过(添加/删除原子)。已修改结构不能用
Esc关闭,请使用Ctrl+W - 深色主题:桌面应用默认使用深色主题,适合长时间工作时减轻视觉疲劳
- 最大化空间:只有一个标签页时,标签栏会完全隐藏,垂直空间全部留给结构查看器