MD UI 是一款在 AI agent 协助下开发的 macOS 分子动力学模拟工作流平台,旨在把 GALAMOST 脚本生成、服务器提交、运行监控、结果下载与数据分析整合到一个可视化界面中,让科研人员更高效、可追溯地完成完整分子模拟流程。

【学习工作赛道】MD UI:一站式分子模拟工作流管理平台

【标签】

学习工作

0.先和大家打个招呼吧 :waving_hand:

大家好,我是一名刚刚结束大一生活的化学专业学生,目前在高分子物理科研课题组参与MD(分子动力学模拟)相关研 究。

在真实的科研过程中,我们经常需要反复修改代码参数、上传服务器文件、提交终端命令、查看日志和下载结果。这些操作本身并不复杂,但非常机械、重复,也很容易打断研究思路。尤其是我们依赖的国际权威分子模拟软件GALAMOST本身没有图形化UI,通常只能通过终端命令运行。每次要在一堆服务器目录和历史案例里找到正在运行的任务,都很容易让人从原本的科研问题中被迫抽离 出来。

更麻烦的是,传统分子模拟工作流往往需要同时打开多个工具:一个用来编辑脚本,一个用来上传文件,一个用来登录服务器提交命令,一个用来查看结果或做可视化分析。对刚进入科研训练的学生来说,这种割裂的流程既不直观,也很容 易出错。

Agent的出现让我看到了改变这种局面的可能。对我个人来说,我一直对计算机技术有比较浓厚的兴趣,大学期间也辅修了一些计算机相关课程。于是我开始思考:能不能在AI的帮助下,自己写一个软件,把这些原本分散、混乱、重复的操作统一 管理起来?

这个项目就是在这样的想 法下诞生的。

因为我有一些基础的程序开发经验,也参加过华为HSDTRAE ON CAMPUS等线下活动,所以对软件开发流程有基本理解。在确定了基础功能和产品方向之后,我开始尝试把需求交给Trae,一步步 推进这个项目。

坦白说,在复杂推理能力上,Trae国内版模型还有继续提升的空间。但在实际执行任务和反馈过程方面,它给我的体验很深。相比一些埋头干的开发工具,Trae在执行每一步任务时会清晰展示thinking、权限申请和操作过程,让我能理解它到底做了什么、改了哪些文件、为什么这么改。这一点对新手开发者或者技术小白非常友好,也在一定程度上避免了AI陷入梦境后乱改代码。

不避讳地说,在这个复杂项目中,我也使用了ChatGPTCodex等强大模型和工具的协助。但在整个项目构建过程,以及我对vibe coding的理解和启蒙中,Trae给我留 下了很深刻的印象。

由于科研工作本身的需要,项目中非常详细的开发过程和完整源代码暂时不能完全开放展示。但无论最后是否获奖,我都认为Trae在这个项目中给了我很大帮助,所以我想把这个故事分享出来。也希望大家在比赛中都能取得满意的成绩,并在之后的vibe coding过程中,用AI agent激发出更 多真正有价值的创意。

1. De mo简介

是什么

MD UI是一款面向分子动力学模拟工作流的macOS桌面应用。它将初始构型准备、模拟脚本生成、服务器任务提交、运行状态监控、结果下载和数据后处理整合在同一个可视化界面中,帮助用户更高效、更可靠 地完成一次完 整的分子模拟。

面向谁

MD UI主要面向从事分子模拟、计算化学、材料科学和软物质研究的学生及科研人员,尤其适合需要频繁修改参数、重复提交模拟任务,或者不熟悉服 务器命令和复杂 脚本语法的用户。

主要功能

1.模块化脚本生成与参数配置

用户可以从GALAMOST指令模块库中选择所需模块,通过表单配置参数,并生成可提交的模拟脚本。系统正在从GALAMOST官方手册中提取API索引,逐步建立模块化schema,使脚本生成不再依赖固 定模板,而是由可组合的模拟模块构成。

2.完整的模拟项目与运行历史管理

每个模拟项目都有独立目录,参数、脚本、运行记录和下载结果都会被统一保存。每次提交都会生成独立的`run_id`,避免覆盖历史任务,并通过`run_history.json`记录PID 、运行时间和远程路径,便于复现和追踪。

3.本地与服务器一体化提交和监控

用户可以在界面中完成服务器测试、参数校验、脚本渲染、任务提交、状态检查、日志读取和结果下载。软件通过SSH将任务提交到服务器,并固定使用指定 GPU,降低手动输入命令带来的错 误风险。

4.结果摘要与数据后处理

任务完成后,MD UI会下载运行日志和结果文件,自动生成`resultsummary.json`,并将`data.log`解析为`datatable.json`。用户可以在界面中查看结果摘要、表格数据和基础曲线图,形成从准备 模拟分析结果的完整工作闭环 。

2. Demo创作思路

灵感来源

在真实的分子动力学研究中,一次模拟通常不只是运行一段代码。研究人员需要准备初始构型、编写模拟脚本、反复修改参数、登录服务器提交任务、监 控GPU和进程状态,最后还要下载轨迹并进行数据分析。

这些步骤往往分散在代码编辑器、终端、服务器文件夹和多个分析脚本之间。随着项目数量和参数版本增多,很容易出现代码与参数不一致、找不到历史版本、任务 重复提交,或者无法确认某个结果究竟由哪一套配置产生的问题。

因此,我希望 把这些原本割裂的操 作整合成一套连贯、可视化、可追溯的工作流。

想解决的问题

MD UI重点解决以下几个真实痛点:

1.脚本编写门槛高

分子模拟指令数量多、参数复杂, 手写脚本容易遗漏细节或产生语法错误。

2.传统代码难以迁移

科研人员通常已经积累了大 量脚本,不能为了使用图形界面而全部重写。

3.多次模拟难以追踪

同一项 目经常需要反复修改参数。靠手工复制文 件和命名文件夹,很难形成可靠的版本体系。

4.本地与服务器操作割裂

构型生成、模拟执行和后处理可能分 别运行在不同环境,容易把代码提交到错误位置。

5.任务提交存在安全风险

如果重复提交或在同一 GPU上同时运行多个任务, 可能造成服务器过载,因此需要明确的任务检查和提交保护。

6.运行状态不透明

用户需要频 繁切换终端查看命令、进程日志和GPU状态,难以及时发现异常。

为什么选择这个方向

我没有把MD UI做成一个简单的脚本生成器,因为生成代码只是整个模拟流程中的一小部分。我 更希望它成为一个覆盖项目创建、参数管 理、脚本生成、任务提交、状态监控和结果分 析的桌面工作台。

在设计中,我做了三个重要取舍:

1.可视化操作与专业代码并存

模块化表单适合快速配置,但代码仍然是科研工作的核心资产。因此, MD UI后续会继续支持导入和识别已有 GALAMOST脚本,而不是把用户限制在固定模板中。

2.优先保证可复现性和服务器安全

每次提交都会保存独立运行记录,避免历史结果被覆盖。远程运行目录采用`runs/<run_id>`结构 ,并通过PID和运行历史管理任务状态 。即使这会增加一些流程约束,也比无记录地反复提交任务更加可靠。

3.采用可扩展的模块配置结构

GALAMOST手册中的API正在被整理成模块schema。未来用户可以通过选择模块和填写参数生成脚本,而不是每个案例 都重新写模板。这样MD UI不会被限定在某一个固定案例上,而是可以逐步扩展到更多模拟体系和后处理流程。

最终,我希望MD UI不只是 减少几次命令输入,而是 让研究人员能够 更清楚地理解、管理和复现整个分子模拟过程,把更多时间投入到科学问题本身。

3. Demo

本项目目前是 本地macOS桌面应用,暂不提供公开在线体验地址。

4. TRAE 实践过程

核心开发会话ID

Ses sion ID`6a5398aa673312a 5d30b4e42`

说明:贯穿整 个开发周期的主会话。

开发阶段

阶段一:Python Core基 础框架搭建

步骤1:设计模块化任务管理架构

实现项目创建、参数管理、脚本渲 染、任务提交、日志读取和结果下载等核心命令。

主要成果:

创建`c ore/job_manager.py`,实现项目生命周期管理

创建`core/main.py`,使用Typer构建CLI接口

建立服务器配置文 件`configs/servers.yaml`

建立模块模板系统`templates/modules/g alamost_ modules.yaml`

步骤2:实现GALAMOST 远程执行支持

针对服务器环境适配GALAMOS T4的运行方式。

主要成果:

固定服务器使用`CUDA_VISI BLE_DEVICES=3`

GA LAMOST内 部参数保持`gpu=0`

添加Python2.7兼容 层

实现远程PID管理和运行状态检查

步骤 3:添加运行历史和数据后处理

主要成果:

使用`run _history.json`记录每次运行

下载后自动生成`resu ltsummar y.json`

`data .log`解析为`datatable.json `

阶段二:SwiftUI桌面应用开发

步骤4:构建主界面布局

主要成果:

左侧项目列 表

右侧参 数编辑区

底部操作日志和Pyt hon Core输出

Startup CheckServer I nfoAbout面板

步骤5:实现项目管理功能

主要成果:

New P roject弹 窗

Clone Pr oject

Delete Loc al Project

Clean Project

Run H istory展示

步骤6:实现服务器交互功能

主要成果:

Test Server

Load Server Info

Vali date / Render / Submi t安全提交流程

Logs / Download / Status检查

Auto Re fresh StatusAuto Download Finishe d Run

步骤7:实现 结果查看与数据可视化

主要成果 :

Result Summary结果摘要

Quick Open常用输出文件

Data Table表格展示

Plot简单曲线绘制

阶 段三:发布准备和问题修复

步骤8:修复打包版输 入异常

排查发现,最初`.a pp`打包时使 用shell脚本作 为`CFBundleExecutable`,导致打包版输入框异常。后续改为直接使用真正的Swift可执行文件:

Contents/MacOS/ GalaGUIApp

步骤9:优化窗口布局和尺寸

主要成果 :

设置最小窗口尺寸

限制Start up CheckAboutC ore OutputOperation Log 的高度

修复面板挤压和滚动区域混乱问题

步 骤10:提取 GALAMOST API文档

主要成果:

解析GALAMOST Sphinx手册包

提取20个模块的API索引

创建 `modules_schema.yaml`

开始构建A5B5案例的composer配置

关键 任务记录

|序号|功能|时间|

||||

| 1 |项目 创建/渲染/提交/下载核心命令| 20260712 22:48 |

| 2 | Python2.7 + GALAMOST4远程执行配置| 202607 13 11:19 |

| 3 | DPD A/B Test模块注册| 202 60713 11:24 |

| 4 | Result Summary功能| 20260713 12:21 |

| 5 | Server Info 读取| 20260713 21:27 |

| 6 |一键启 动脚本+环境检查脚本| 20260713 21:42 |

| 7 | macOS App打包脚本| 20260713 21:52 |

| 8 |输入框无法输入问题修复| 20260 713 23:3 3 |

| 9 |窗口布局优化| 20260713 23:45 |

| 10 | GALAMOST A PI索引提取| 20260714 10:14 |

| 11 |模块schema + A5B5 c omposer配置| 20260714 10:40 |

开发工具链

Python CoreTyperRichJinja2PyYAMLParamiko

SwiftUI macOS原生桌面应用

项目 结构:CLIGUI分离,配置文件驱动

远程运行环境:GALAMOST4Python2.7GPU3

开发方式 :使用Trae进行任务拆分、代码修改、文件生成和调试反馈,并结合ChatGPTCodex等工具进行方案推敲和问题定位

5.对应的报名审核通过帖子链 接

NanoTherm Lab 是一个面向先进芯片热管理研究的材料—结构—器件协同设计平台,旨在帮助跨学科科研学习者更高效地完成建模、仿真、测试与数据分析流程。

6.补充说明

这个项目对我来说不仅是一次比赛作品,也是一段真实的学习过程。它让我第一次比较系统地把化学科研中的实际痛点,转化为一个可 以运行、可以迭代、可以服务真实工作流的软件 原型。

AI agent没有替我凭空完成一个软件,而是在我不断拆解需求、验证结果、修正错误的过程中,成为了一个高效的协作伙伴。这个过程让我更直观地理解了vibe coding的意义:不是放弃思考,而是把人的想法、判断和方向感,与AI的执行力结合起来。

这也是我最想通过这个作品表达的内容。

哇!AI 4 science! 大佬带带!

已投票~互相支持一下~
也来看看我的帖子吧,为听障人士做的公益AI服务员
AI服务员-无声有市:一部手机,让无声摊位也能开口接单