Files
mcn-short-video/project/短视频脚本创作/V1.0/subskills/mcn-dou-analysis/references/路径配置.md
T

66 lines
5.8 KiB
Markdown
Raw Normal View History

# 路径配置(运行时优先)
> 本文件是**产出路径的唯一权威配置**,运行时优先于 SKILL.md 中默认路径。
> 只要本文件存在,AI 执行工作流前必须先读本文件;如有「用户自定义路径」记录,一律以用户指定为准,默认路径自动失效。
## 一、默认路径(用户未自定义时生效)
**先判断运行环境(两环境判定 · 仓库特征判定,v3),再按运行系统解析桌面路径:**
| 运行环境 | 判断依据 | 默认产出根目录 |
|:---|:---|:---|
| 开发机 | 技能**处于源技能 git 检出内**(`git -C {技能目录} rev-parse --show-toplevel` 能返回仓库根) | 用户桌面 `MCNSkill项目/`(`{达人昵称}/` 直挂,无技能文件夹层) |
| 用户环境 | 技能**不在任何 git 检出内**(技能装在用户机器上,路径不限,如 `~/.workbuddy/skills/…`) | 用户桌面 `MCNSkill项目/`(与开发机同构) |
> **09-10 起 dsh 部署环境已废弃**(`~/.dsh/skills/` 与 `D:\dshworkspace` 均不存在)——不再有 dsh 分支与 `D:\dshworkspace\解析任务\` 产出路径。历史条目见文末「变更记录」。
桌面路径按运行系统自动解析:
| 系统 | 桌面路径 |
|:---|:---|
| Windows | `C:\Users\{用户名}\Desktop\` |
| macOS | `~/Desktop/`(即 `/Users/{用户名}/Desktop/`) |
**AI 执行规则:**
1. 先做两环境判定(**仓库特征判定**):
- 判断技能是否处于**源技能 git 检出内**——执行 `git -C "{技能目录}" rev-parse --show-toplevel`,返回仓库根即 **① 开发机**;命令失败即 **② 用户环境**。无 git 环境时兜底:从技能目录向上逐级查找,任一级存在 `.git` 目录/文件即开发机,查到盘符根仍未命中即用户环境
- 开发机与用户环境产出**同构** → 桌面 `MCNSkill项目/{达人昵称}/`
- ⚠️ **不存在 dsh 分支**:dsh 侧已整套下线(09-10),不要再按 `.dsh` 路径段或 `D:\dshworkspace` 做任何分支判断
2. 再判断当前运行系统(Windows / macOS),拼接桌面路径
3. 目录不存在则自动创建
4. 产出结构:`{产出根目录}/{达人昵称}/…`(内部文件结构不变,仅根目录可变)
## 二、用户自定义路径(最高优先级)
**如果用户明确要求修改产出位置,一律以用户指定为准,不要沿用默认桌面路径,也不要自作主张改回桌面。**
出现自定义需求时,在此追加记录(保留用户原话,便于追溯):
```
> 用户指定:{用户原话}
> 解析后路径:{绝对路径}
> 记录时间:{日期}
```
**示例:**
> 用户指定:产出放到 D 盘我的素材文件夹里
> 解析后路径:`D:\我的素材\账号分析\`
> 记录时间:2026-08-14
记录后,AI 每次执行工作流都以「解析后路径」为产出根目录;用户再次修改时直接更新本记录即可(旧记录保留,标注新记录生效)。
## 三、解析规则(优先级从高到低)
1. 本文件「用户自定义路径」记录 → 用自定义路径(最新一条生效)
2. 本文件默认路径 → 按两环境判定确定产出根目录(在源技能 git 检出内 = 开发机 → 桌面 `MCNSkill项目/`;不在任何 git 检出内 = 用户环境 → 桌面 `MCNSkill项目/`。**两者同构**,均无 dsh 分支),再按系统拼接桌面路径
3. 路径含 `~` 时自动展开为用户主目录
4. 路径含 `{用户名}` 时替换为当前系统用户名
5. 目录不存在时自动创建
## 变更记录
- 2026-08-26:产出路径改为三级优先级(借鉴脚本创作技能):① dsh 环境 + 主工作区 `D:\dshworkspace` 存在 → `D:\dshworkspace\解析任务\`;② dsh 环境但无主工作区(异机部署)→ 桌面 `DSHSkill项目/账号分析/`;③ 非 dsh → 桌面 `MCNSkill项目/账号分析/`。产出结构 `{达人昵称}/…` 不变。
- 2026-08-26(三环境重构 + 账号层直挂,对齐脚本创作技能定稿):环境判定由「dsh vs 非 dsh」改为**三环境两步判定**(①本机无 `D:\AgentSkill`=用户环境;②有且技能路径含 `.dsh`=dsh 部署环境;③有且不含 `.dsh`=开发机);`DSHSkill项目/` 根目录**整体废弃**(原「dsh 异机兜底」场景并入用户环境);非 dsh 产出根目录由 `MCNSkill项目/账号分析/` 改为 `MCNSkill项目/`——去掉技能文件夹层,`{达人昵称}/` 直挂(与脚本创作 `MCNSkill项目/{账号名}/` 同根);dsh 部署环境产出 `D:\dshworkspace\解析任务\` 不变。产出结构 `{达人昵称}/…` 不变。
- 2026-09-10(判定锚点重构 v2 · 仓库特征判定):环境判定锚点由「本机是否存在 `D:\AgentSkill`」改为**仓库特征判定**——第一步查技能路径是否含 `.dsh`(含 = dsh 部署环境),第二步用 `git -C {技能目录} rev-parse --show-toplevel` 判断技能是否处于源技能 git 检出内(在 = 开发机,不在 = 用户环境;无 git 时兜底为向上逐级查找 `.git`)。产出根目录三环境结果**完全不变**,仅判定依据改变。**根因**:仓库本地路径迁移导致写死盘符锚点失效 → 开发机被误判为「用户环境」。(用户确认:"改为仓库特征判定";对齐脚本创作技能定稿)
- 2026-09-10(环境模型精简 v3 · 三环境 → 两环境):**dsh 部署环境整体废弃**(用户确认:"第一步 技能路径含 .dsh 路径段 ② dsh 部署环境 没有这个环境了")。实测依据:`~/.dsh/skills/` 不存在、`~/.dsh/mcn-plugin.db` 不存在、`~/.dsh` 下仅剩 `profiles/`、`D:\dshworkspace` 整个目录不存在。故删除 `.dsh` 判定分支与 `D:\dshworkspace\解析任务\` 产出路径,判定简化为**一步**。剩余两环境产出本就同构(桌面 `MCNSkill项目/`),产出结果不变。(对齐脚本创作技能定稿)