Skip to content

[Feature Request] CLI化支持 - 使用 CLI-Anything 方案 #744

@newtontech

Description

@newtontech

概述

建议使用 CLI-Anything 方案对 MatMaster 进行完全的 CLI 化,使其成为 Agent-Ready 的工具。

背景介绍

CLI-Anything 是香港大学数据科学研究所(HKUDS)开发的自动化 CLI 生成工具,能够将任何软件转换为 AI Agent 可直接使用的命令行工具。

CLI-Anything 的核心优势

  1. Agent-First 设计 - 生成的 CLI 专为 AI Agent 设计,提供结构化的 JSON 输出
  2. 自动化生成 - 通过 7 阶段方法论自动生成完整的 CLI 工具
  3. 实战验证 - 已成功为 11 个专业软件生成 CLI,包括 GIMP、Blender、LibreOffice 等
  4. 测试完备 - 总计 1,508 个测试,100% 通过率

为什么 MatMaster 需要 CLI 化

当前痛点

  1. Agent 无法直接使用 - MatMaster 作为材料科学计算平台,当前主要通过 GUI 或 API 交互,AI Agent 无法直接操作
  2. 工作流不连贯 - 用户需要手动切换多个工具和界面,缺乏统一的命令行接口
  3. 自动化困难 - 难以实现批处理和自动化工作流

CLI 化后的优势

  1. Agent 可直接调用 - AI Agent 可以通过 CLI 直接控制 MatMaster 的所有功能
  2. 统一接口 - 所有 Agent (ABACUS、DPA、HEA 等) 通过统一的 CLI 接口访问
  3. 自动化工作流 - 支持批处理、脚本化和 CI/CD 集成
  4. 结构化输出 - JSON 格式输出便于 Agent 解析和处理

实施方案

CLI-Anything 的 7 阶段方法论

  1. 🔍 Analyze (分析) - 扫描 MatMaster 源码,映射 GUI/API 操作到 CLI 命令
  2. 📐 Design (设计) - 设计命令组结构、状态模型、输出格式
  3. 🔨 Implement (实现) - 构建 Click CLI,支持 REPL、JSON 输出、撤销/重做
  4. 📋 Plan Tests (测试规划) - 创建单元测试和 E2E 测试计划
  5. 🧪 Write Tests (编写测试) - 实现全面的测试套件
  6. 📝 Document (文档) - 更新文档和测试结果
  7. 📦 Publish (发布) - 创建 setup.py,安装到 PATH

建议的 CLI 命令结构

# 安装
pip install cli-anything-matmaster

# 基本使用
cli-anything-matmaster --help

# 创建项目
cli-anything-matmaster project new --name "HEA_Analysis" --type hea

# ABACUS 计算
cli-anything-matmaster abacus run --input structure.cif --output results.json

# DPA 计算
cli-anything-matmaster dpa calculate --model dpa-model.pb --config calc.yaml

# HEA 计算
cli-anything-matmaster hea analyze --composition "FeCoNiCuMn" --temperature 300

# 数据库查询
cli-anything-matmaster mrdice query --element Fe --property band_gap

# JSON 输出 (Agent 友好)
cli-anything-matmaster --json hea analyze --composition "FeCoNiCuMn"

# 交互式 REPL
cli-anything-matmaster

命令组设计建议

基于 MatMaster 的 Agent 结构,建议以下命令组:

  1. project - 项目管理 (创建、加载、保存)
  2. abacus - ABACUS 第一性原理计算
  3. dpa - DPA 深度势能计算
  4. hea - HEA 高熵合金计算
  5. invar - INVAR 材料分析
  6. mrdice - 材料数据库查询
  7. chembrain - 化学材料分析
  8. ssebrain - 固态电解质研究
  9. export - 结果导出和可视化

预期成果

功能层面

  1. 完整的 CLI 覆盖 - 所有 Agent 功能通过 CLI 访问
  2. Agent-Ready - AI Agent 可直接调用,无需 GUI 或 API 解析
  3. 自动化工作流 - 支持批处理和 CI/CD 集成
  4. 测试完备 - 单元测试 + E2E 测试,确保可靠性

技术层面

  1. cli_anything.matmaster Python 包 - 可通过 pip 安装
  2. 统一的 REPL 接口 - 支持交互式操作
  3. 结构化 JSON 输出 - 便于 Agent 解析
  4. 完整文档 - CLI 使用文档和 API 参考

生态层面

  1. AI Agent 集成 - Claude Code、Codex、OpenCode 等可直接使用
  2. 工作流自动化 - 材料科学研究的自动化流水线
  3. 社区贡献 - 更易于开发者贡献和扩展

实施建议

第一阶段:核心 Agent CLI 化

优先为以下 Agent 生成 CLI:

  • ABACUS_agent
  • DPACalculator_agent
  • HEACalculator_agent
  • MrDice_agent

第二阶段:扩展 Agent CLI 化

为其余 Agent 生成 CLI:

  • HEA_assistant_agent
  • INVAR_agent
  • chembrain_agent
  • ssebrain_agent

第三阶段:集成和优化

  • 统一 CLI 接口
  • 完善测试覆盖
  • 优化性能和用户体验

参考资源

总结

使用 CLI-Anything 方案对 MatMaster 进行 CLI 化,将使其成为真正的 Agent-Ready 工具,大幅提升 AI Agent 在材料科学领域的应用能力,推动材料科学研究的自动化和智能化。

这是一个非常有价值的 feature request,值得优先考虑实施。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions