跳到主要内容

最佳实践:多项目管理

当需要同时分析多个业务项目、环境或数据平台账号时,建议把它们放在同一个项目集目录下,每个子目录对应一个独立的 OpenInsight project。

1. 创建项目集目录

先创建一个用于集中管理 OpenInsight 项目的目录:

mkdir openinsight-projects
cd openinsight-projects

项目集目录只负责承载多个项目子目录。每个子目录都有自己的 .open-insight.json,可以连接不同的数据平台、环境或账号。

2. 分别初始化项目

在项目集目录下多次执行 setup,为每个项目初始化一个子目录:

openinsight setup ./project-a --project project-a
openinsight setup ./project-b --project project-b
openinsight setup ./project-c --project project-c

初始化后目录结构类似:

openinsight-projects/
├── project-a/
│ ├── .open-insight.json
│ └── source/
├── project-b/
│ ├── .open-insight.json
│ └── source/
└── project-c/
├── .open-insight.json
└── source/

3. 进入子项目运行

运行 OpenInsight 命令或让 Agent 查询数据时,进入对应的项目子目录即可:

cd openinsight-projects/project-a
openinsight current

OpenInsight 会从当前目录向上查找 .open-insight.json,自动使用当前项目的连接配置和本地数据。因此切换项目时,只需要切换工作目录:

cd ../project-b
openinsight current

4. 在 Codex 中使用对应项目

如果使用 Codex,建议为每个 OpenInsight project 单独创建一个 Codex 项目,并把项目路径指向具体的子目录,例如:

/path/to/openinsight-projects/project-a
/path/to/openinsight-projects/project-b

在 Codex 项目列表中点击新增,然后选择“使用现有文件夹”,再选择对应的 OpenInsight 子项目目录。

Codex 使用现有文件夹

这样 Codex 在该项目中运行时,会直接读取对应子目录下的 .open-insight.json,查询结果也会自动匹配当前项目的数据上下文。