开发环境搭建

本文说明 MindStudio Insight 开发环境的准备方式,覆盖 Linux、Windows 和 macOS 三个平台。MindStudio Insight 是跨端工具,开发指南默认以 Linux 为主线说明快速开发流程;Windows 和 macOS 开发者可参考本文对应平台章节完成环境准备。

说明:本文面向源码开发和本地调试,不等同于用户安装指南。用户侧安装请参见MindStudio Insight 安装指南

1. 通用准备

1.1 获取代码

建议先 Fork 代码到个人仓库,再 clone 到本地,并配置官方仓库为 upstream。

git clone https://gitcode.com/<your-user>/msinsight.git
cd msinsight
git remote add upstream https://gitcode.com/Ascend/msinsight.git
git remote -v

如只需只读查看源码,也可以直接 clone 官方仓库:

git clone https://gitcode.com/Ascend/msinsight.git
cd msinsight

1.2 初始化后端第三方依赖

首次进行后端编译或重新生成 CMake 构建目录前,需下载并预处理第三方依赖。

Linux/macOS:

cd server/build
python3 download_third_party.py
python3 preprocess_third_party.py

Windows:

cd server\build
python download_third_party.py
python preprocess_third_party.py

说明:执行该步骤前请保证网络畅通。若处于代理环境,请提前配置 git、pip、npm/pnpm 等工具的代理或镜像源。

1.3 安装前端依赖

npm install -g pnpm
cd modules
pnpm install

1.4 配置 pre-commit 代码检查工具

pre-commit 是基于 Git 钩子的代码质量管控工具。项目要求本地启用 pre-commit,提交前完成代码校验和格式规范化。

安装 pre-commit:

python3 -m pip install pre-commit

Windows 如 python3 不可用,可使用:

python -m pip install pre-commit

在项目根目录注册 Git 钩子:

pre-commit install

提交前检查已暂存文件:

git add <修改过的文件>
pre-commit run

如需检查全仓文件:

pre-commit run --all-files

检查过程中,格式化类问题(如代码缩进、换行等)会被自动修复,修复后需重新 git add <修改过的文件>。未能自动修复的错误请根据提示人工修复。

前端 modules 目录下暂存的 js/jsx/ts/tsx 文件会在 pre-commit 阶段执行 ESLint 检查。pre-commit 只检查暂存文件,不能替代 CI 中的全量 cd modules && pnpm lint

2. Linux 开发环境

Linux 是开发指南默认采用的本地开发环境。

2.1 环境依赖

软件名

版本要求

用途

git

无特殊要求

代码拉取与提交

Node.js

v18.20.8+

前端开发与构建

pnpm

建议使用与 lockfile 兼容的版本

前端包管理

Python

3.11+

工具脚本、pre-commit、第三方依赖预处理

CMake

3.16~3.20

后端项目构建与编译

GCC/G++ 或 Clang

使用操作系统稳定版本

后端编译

Ninja

无特殊要求

后端构建

2.2 依赖安装示例

Ubuntu / Debian 系统可参考:

sudo apt update
sudo apt install -y git python3 python3-pip cmake ninja-build build-essential

openEuler / CentOS / RHEL 类系统可参考:

sudo yum install -y git python3 python3-pip cmake ninja-build gcc gcc-c++

Node.js 可通过官方安装包、系统包管理器或版本管理工具安装,并确保版本满足 v18.20.8+。

2.3 环境验证

git --version
node --version
pnpm --version
python3 --version
cmake --version
g++ --version
ninja --version

完成环境准备后,可回到开发指南继续执行 Linux 快速构建与运行步骤。

3. Windows 开发环境

Windows 平台后端编译使用 MinGW 工具链。

3.1 基础开发依赖

软件名

版本要求

用途

git

无特殊要求

代码拉取与提交

Node.js

v18.20.8+

前端开发与构建

pnpm

建议使用与 lockfile 兼容的版本

前端包管理

Python

3.11+

工具脚本、pre-commit、第三方依赖预处理

MinGW

10.0+(msvcrt 版本);出包建议 11.0+

后端编译

CMake

3.16~3.20

后端项目构建与编译

3.2 后端工具链配置

后端编译前需保证 MinGW 的 bin 目录已加入系统 PATH,且 CMake 能够使用 MinGW 编译器。首次配置完成后,先完成初始化后端第三方依赖,再重新生成 CMake 构建目录。

3.3 环境验证

git --version
node --version
pnpm --version
python --version
cmake --version
g++ --version

3.4 出包环境入口

如果只进行源码开发和本地调试,完成上述基础依赖即可。如果需要构建 Windows 安装包,还需准备 Rust、Windows 运行时、Ninja、NSIS 和集成 Python 解释器,详见本地出包环境

4. macOS 开发环境

macOS 平台后端编译使用 Clang 工具链。

4.1 基础开发依赖

软件名

版本要求

用途

git

无特殊要求

代码拉取与提交

Node.js

v18.20.8+

前端开发与构建

pnpm

建议使用与 lockfile 兼容的版本

前端包管理

Python

3.11+

工具脚本、pre-commit、第三方依赖预处理

Clang

15

后端编译

CMake

3.16~3.20

后端项目构建与编译

Ninja

无特殊要求

后端构建

可通过 Xcode Command Line Tools 安装基础编译工具:

xcode-select --install

Node.js、pnpm、Python、CMake、Ninja 可通过官方安装包或包管理器安装。

4.2 环境验证

git --version
node --version
pnpm --version
python3 --version
cmake --version
clang --version
ninja --version

4.3 出包环境入口

如果只进行源码开发和本地调试,完成上述基础依赖即可。如果需要构建 macOS 安装包,还需准备 Rust、cargo-bundle、dmgbuild 和集成 Python 解释器,详见本地出包环境

5. 本地出包环境

本地出包会同时构建前端、后端和桌面端底座。Linux 出包复用基础开发依赖;Windows 和 macOS 出包还需要额外准备平台运行时、打包工具和集成 Python 解释器。

5.1 Linux 出包

完成 Linux 基础依赖、后端第三方依赖和前端依赖初始化后,可在项目根目录执行:

cd build
python3 build.py

产物位于项目根目录 out 目录下。

5.2 Windows 出包

5.2.1 环境依赖

软件名称

版本

用途

rust

1.89

底座编译构建

Windows 11 SDK

10.0.22000.0+

Windows 平台基础开发运行时

MSVC

v143

Windows 平台基础开发运行时

MinGW

10.0+(msvcrt 版本);建议 11.0+

后端编译器

Ninja

无要求

后端编译

CMake

3.16~3.20

后端构建

NSIS

无要求

安装包打包软件

nsProcess 插件

unicode support

检查是否有重复运行

Node.js

v18.20.8+

前端构建

pnpm

无要求

前端构建

Python

3.11+

集群工具打包

Python 运行时依赖:

click
tabulate
networkx
jinja2
PyYaml
tqdm
prettytable
ijson
xlsxwriter>=3.0.6
sqlalchemy
numpy<=1.26.4
pandas<=2.3.2
psutil

Python 开发时依赖:

pyinstaller

5.2.2 出包步骤

  1. 进入项目根目录下 server/build 目录,执行:

    python download_third_party.py
    python preprocess_third_party.py
    
  2. MindStudio Insight 会在 Windows 出包产物中集成 Python 解释器。请在构建环境上手动安装 Python 解释器(同时包含 pip),建议 Python 版本 3.12.10,并设置环境变量 MINDSTUDIO_INSIGHT_PYTHON_INTERPRETER 为 Python 解释器安装目录。该目录需包含 python.exe,例如 D:\xxx\python

  3. 进入项目根目录下 build 目录,执行:

    python build.py
    

产物位于项目根目录 out 目录下。

5.2.3 依赖安装附录

  • Windows 运行时安装(Windows 11 SDK 和 MSVC):下载 Visual Studio Installer,双击打开,选择如下依赖(通常默认即可):

    MSVC_install

  • MinGW 安装:从 WinLibs 下载,版本选择 11.0 以上。下载后解压,将解压后 MinGW 路径下的 bin 目录添加到系统 PATH 环境变量:

    mingw_path_add

    验证安装:终端执行 g++ -v,正常输出版本信息即可。

  • nsProcess 插件安装:首先安装 NSIS(需装在 C:\Program Files (x86) 下)。从 NsProcess plugin 获取压缩包,将 Include/nsProcess.h 放到 C:\Program Files (x86)\NSIS\Include,将 Plugin/nsProcess.dllPlugin/nsProcessw.dll 放到 C:\Program Files (x86)\NSIS\Plugins\x86-unicode

  • Rust:可通过 rustup 安装,验证:rustc --versioncargo --version

  • Ninja:通过 官网 下载二进制文件或包管理器安装,验证:ninja --version

  • Node.js:通过 官网 安装 LTS 版本(v18.20.8+),验证:node --version

  • pnpm:执行 npm install -g pnpm,验证:pnpm --version

  • Python:通过 官网 安装 3.11+,勾选“Add Python to PATH”,验证:python --version

5.3 macOS 出包

5.3.1 环境依赖

软件名称

版本

用途

rust

1.89

底座编译构建

cargo-bundle

无要求

打包

Ninja

无要求

后端编译

Node.js

v18.20.8+

前端构建

pnpm

无要求

前端构建

Python

3.11+

集群工具打包

Clang

15

编译

CMake

3.16~3.20

后端构建

dmgbuild

无要求

dmg 产物构建

Python 运行时依赖:

click
tabulate
networkx
jinja2
PyYaml
tqdm
prettytable
ijson
xlsxwriter>=3.0.6
sqlalchemy
numpy<=1.26.4
pandas<=2.3.2
psutil
dmgbuild

Python 开发时依赖:

pyinstaller

5.3.2 出包步骤

Step 1. 预处理构建依赖

cd server/build
python3 download_third_party.py
python3 preprocess_third_party.py

Step 2. 指定 APP 签名证书(可选)

注意:请您确保已阅读并知悉 LICENSE 要求。

Insight macOS ARM 版本在构建出包时,会对产物 APP 进行 macOS 开发者证书签名。您可以通过环境变量配置签名证书。如不指定,缺省时使用临时证书签名,可能导致产物无法通过网络分发(本地调试运行不受影响)。

  • 证书使用前置:要求为可用于签名的苹果开发者证书,并确保已正确导入钥匙串中(如登录钥匙串 ~/Library/Keychains/login.keychain)。

  • 通过环境变量配置证书,支持证书名或证书 ID。

export INSIGHT_APP_SIGN="insight_cert"
security unlock-keychain -p {您当前用户的密码} ~/Library/Keychains/login.keychain

Step 3. 设置集成 Python 解释器的环境变量

MindStudio Insight 会在 macOS 出包产物中集成 Python 解释器:

  • 第一步:在构建环境上手动安装可移植的 Python 解释器(同时包含 pip),建议 Python 版本 3.12.10。

  • 第二步:设置环境变量 MINDSTUDIO_INSIGHT_PYTHON_INTERPRETER 为 Python 解释器安装目录。该目录需包含 bin/python3,例如 /Users/xxx/python。如 Python 版本不为 3.12,需手动修改 server/build/build.py 中的 version 变量值。

“可移植”指将 A 机器上的 Python 文件夹拷贝到 B 机器上仍可直接使用。macOS 上某些 Python 版本依赖 /Library 下的动态库,需确保安装的是可移植版本。

Step 4. 执行出包脚本

进入项目根目录下 build 目录,执行:

python3 build.py

产物位于项目根目录 out 目录下。