vault backup: 2026-05-31 14:42:42

This commit is contained in:
2026-05-31 14:42:42 +08:00
parent 7dcd2a35c2
commit a507664f3e

View File

@@ -80,12 +80,13 @@ gitnexus MCP (单实例)
---
## Q1Claude Code 怎么知道查哪个仓库?
## Q&A
### Q1Claude Code 怎么知道查哪个仓库?
> [!important] 核心问题
> GitNexus MCP **没有** "搜索所有仓库" 的全局查询能力。每个查询必须指定 `repo` 参数。
> CC 不会自动知道 `AActor` 在 AIDM 还是 UE_5.7——它需要靠规则判断。
### 当前机制:命名约定 + 试探查询
#### 当前机制:命名约定 + 试探查询
GitNexus 仓库之间是**互相隔离**的。验证结果:
| 查询 | repo | 结果 |
@@ -114,7 +115,7 @@ graph TD
> - **项目符号**`URPGAttributeComponent`、`ULWSWorldGenerator`、`CelpecTalent`...
> - 引擎类前缀短且通用,项目类前缀长且带业务含义
### 更优方案:预构建符号→仓库映射表
#### 更优方案:预构建符号→仓库映射表
可以写一个脚本,每次索引完成后生成映射文件:
@@ -127,8 +128,8 @@ CC 读取这个映射表就能精确路由。这是一次性开销,可以放
---
## Q2多个项目共用一个引擎Group 怎么配?
### 推荐方案:每个项目独立 Group
### Q2多个项目共用一个引擎Group 怎么配?
#### 推荐方案:每个项目独立 Group
假如你有 3 个项目都基于 UE_5.7
```
@@ -148,12 +149,12 @@ UE_5.7 (引擎,公共)
> [!warning] 不要把所有项目放进一个 Group
> 如果 `@ue5-all` 包含所有项目,在 AIDM 上做 impact 分析会 fan-out 到 ProjectB/ProjectC 的符号,造成**跨项目污染**。
### 为什么不能一个引擎 Group 被多个项目引用?
#### 为什么不能一个引擎 Group 被多个项目引用?
Group 的 `group_sync` 是**显式的**——它把 Group 内所有仓库的 IMPORTS/EXTENDS 边做精确匹配并建立桥接。如果把三个项目放进一个 Group
- `URPGAttributeComponent`AIDM`UActorComponent`(引擎) ← 正确
- `USomeManager`AIDM`USomeManager`ProjectB 恰好同名) ← **误匹配!**
### 具体步骤
#### 具体步骤
```bash
# 1. 索引引擎(一次性,所有项目共享)
cd D:\UnrealEngine\UE_5.7\Engine\Source
@@ -185,27 +186,18 @@ npx gitnexus group sync @ue5-aidm
> [!note] 引擎只索引一次
> 所有项目的 `group.yaml` 指向同一个引擎路径,引擎重新索引后所有 Group 自动更新。
### 多项目管理速查
| 操作 | 命令 |
|------|------|
| 新项目加入 | `analyze` → 创建 `group.yaml``group sync` |
| 引擎更新 | `analyze`(引擎目录),所有 Group 自动生效 |
| 项目间隔离 | 每个项目独立 Group不交叉污染 |
---
## Q3有了 GroupQ1 的问题是不是可以更简单地解决?
### Q3有了 GroupQ1 的问题是不是可以更简单地解决?
**是的。** Group 从根本上改变了 Q1 的路由方式。
### 没有 GroupQ1 的困境)
#### 没有 GroupQ1 的困境)
```
CC 收到 "查 AActor" → 猜引擎 → 指定 repo: "UE_5.7"
CC 收到 "查 URPGAttributeComponent" → 猜项目 → 指定 repo: "AIDM"
猜错了 → 重试另一个仓库 → 浪费 token 和时间
```
### 有了 GroupQ3 的解决方案)
#### 有了 GroupQ3 的解决方案)
```
CC 收到任何查询 → repo: "@ue5-aidm"
GitNexus 自动跨仓库搜索 → 返回结果(注明了来自哪个仓库)
@@ -217,7 +209,7 @@ GitNexus 自动跨仓库搜索 → 返回结果(注明了来自哪个仓库)
>
> **CC 不再需要猜测符号属于哪个仓库。** 始终用 Group 名查询即可。
### 更新后的路由规则
#### 更新后的路由规则
有了 GroupCLAUDE.md 路由可以简化为:
```
1. 任何符号查询 → 始终用 repo: "@ue5-aidm"
@@ -229,6 +221,17 @@ GitNexus 自动跨仓库搜索 → 返回结果(注明了来自哪个仓库)
---
### 多项目管理速查
| 操作 | 命令 |
| ----- | ------------------------------------------ |
| 新项目加入 | `analyze` → 创建 `group.yaml``group sync` |
| 引擎更新 | `analyze`(引擎目录),所有 Group 自动生效 |
| 项目间隔离 | 每个项目独立 Group不交叉污染 |
---
## 实战经验UE5.7 引擎全模块索引
### 一、遇到的坑与规避方法
@@ -386,31 +389,32 @@ npx gitnexus status
#### 推荐 Group 结构
不要把所有 188 模块放一个 flat group——按功能域分组更高效
不要把所有模块放一个 flat group——按功能域分组更高效。实际采用了 **188 模块 → 11 功能组** 的合并方案
```yaml
# ~/.gitnexus/groups/UE5-Gameplay/group.yaml
# ~/.gitnexus/groups/UE5-Engine/group.yaml
version: 1
name: UE5-Engine
repos:
AIModule: ...
NavigationSystem: ...
GameplayTasks: ...
GameplayTags: ...
Engine: ...
Core: ...
CoreUObject: ...
# ~/.gitnexus/groups/UE5-All/group.yaml (总 Group)
repos:
# 所有 188 模块
Core: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime\Core
Engine: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime\Engine
Gameplay: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\Gameplay
Rendering: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\Rendering
UI: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\UI
AudioSignal: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\AudioSignal
MediaMovieScene: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\MediaMovieScene
Networking: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\Networking
PhysicsAnimation: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\PhysicsAnimation
Platform: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\Platform
Experimental: D:\UnrealEngine\UE_5.7\Engine\Source\Runtime-Merged\Experimental
```
日常开发用 `@UE5-Gameplay`(小且精准),全局搜索用 `@UE5-All`(大且全)。
日常开发用 `@UE5-Engine` 检索全引擎,单领域深挖用 `repo: "Gameplay"` 等组名,精准匹配用 `repo: "Engine"`(单模块)。
#### 检索优先级
同一页面上给检索工具一个优先级:
```
1. 当前模块 repo → 2. 领域 Group → 3. 全局 Group → 4. grep 兜底
1. 领域 Group如 @UE5-Engine→ 2. 功能组 repo如 Gameplay→ 3. 单模块 repo如 Engine→ 4. grep 兜底
```
---
@@ -503,6 +507,3 @@ repos:
#### Experimental (1397 files)
- Experimental
### Group 配置
合并后统一放在 Group 下,跨组查询使用 。