天文设备控制接口

N.I.N.A高级API插件,通过AI代理控制天文摄影设备,包括相机、支架、调焦器等,支持自然语言命令处理和自动化决策。

  • by PaDev1
  • Jupyter Notebook
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 PaDev1/Nina_advanced_api_mcp

使用说明

Nina高级API MCP

AI代理使用N.I.N.A(Beta版)操作您的天文摄影设置的接口

N.I.N.A模型上下文协议服务器,用于高级API插件v2(MCP)

通过其高级API控制N.I.N.A.(夜间成像与天文)软件的强大接口 NINA高级API 此模型上下文协议服务器(MCP)使AI代理能够使用工具与NINA进行交互,为您的设置提供了新的交互方式。请自行负责使用。

🌟 特点

  • AI代理的完整设备控制

    • 相机(拍摄、冷却、设置、连接……)
    • 支架(快速定位、停放、追踪...)
    • 对焦器(移动、温度补偿……)
    • 滤光轮(滤光片选择、信息……)
    • 穹顶(旋转、快门控制……)
    • 旋转器(移动、同步...)
    • 根据上面的信息,执行如下指令:
  • 人工智能集成

    • 自然语言命令处理
    • 上下文帮助系统
    • 智能错误响应
    • 自动化决策
  • 大部分NINA高级API v2的API接口端点均受支持

🚀 快速入门

前提条件

  • Python 3.8或更高版本
  • 配备高级API插件的NINA软件
  • uv 包管理器
  • 支持MCP的AI代理(例如,Claude)

安装

  1. 安装NINA高级API插件

    # Install the plugins in NINA
    # Enable and configure in NINA settings
    
  2. 克隆仓库

    git clone https://github.com/PaDev1/Nina_advanced_api_mcp.git
    cd nina-mcp
    
  3. 设置环境变量

    # Create .env file
    NINA_HOST=your_nina_host
    NINA_PORT=1888
    LOG_LEVEL=INFO
    IMAGE_SAVE_DIR=~/Desktop/NINA_Images
    

配置

MCP服务器设置

添加到您的AI代理的MCP配置中:

{
  "mcpServers": {
    "nina_advanced_mcp_api": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp,fastapi,uvicorn,pydantic,aiohttp,requests,python-dotenv",
        "fastmcp",
        "run",
        "path/nina_advanced_mcp.py"
      ],
      "env": {
        "NINA_HOST": "NINA_IP",
        "NINA_PORT": "1888",
        "LOG_LEVEL": "INFO",
        "IMAGE_SAVE_DIR": "~/Desktop/NINA_Images"
      }
    }
  }
}

📚 使用方法

使用Claude Destop的基本AI示例

  • 连接到nina
  • 阅读设置
  • 连接我的相机、支架、滤镜轮和导星设备
  • 读取序列并让我选择要开始的序列

AI代理指令

- "Take a 30-second exposure of M31"
- "Connect all equipment and start cooling the camera to -10°C"
- "Start a sequence targeting NGC 7000"
- "Get the current equipment status"

根据上面的信息,执行如下指令:

核心模块

设备控制

  • 相机操作
  • 安装控制
  • 对焦器管理
  • 滤光轮控制
  • 穹顶自动化
  • 旋转器功能

成像

  • 捕获配置
  • 图像处理
  • 文件管理
  • 收集统计数据

系统

  • 连接处理
  • 状态监控
  • 错误管理
  • 配置

🤝 贡献

欢迎贡献!请阅读我们的 贡献指南 第一个。

  1. 克隆仓库
  2. 创建你的功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建拉取请求

🐞 错误报告

发现了一个错误?请通过以下方式提交问题:

  • 详细描述
  • 复现步骤
  • 预期行为与实际行为
  • 系统信息

许可证

这个项目采用MIT许可证授权 - 详见 许可协议 详情请见文件。

🙏 致谢

🔗 相关项目