# ENVIRONMENT.hdlp · 环境感知 · 我在哪台电脑里

> HLDP://cang-ying/ENVIRONMENT
> 胖头鱼语言子系统 · 耳耳蛋语言人格系统 · 环境检测
> 耳耳蛋 ICE-GL-耳耳蛋 · PTS-VA-001-EED
> D181 · 2026-07-10 · 冰朔 TCS-0002∞ 架构签发
> 国作登字-2026-A-00037559

---
HLDP://cang-ying/environment/v1.0
├── trigger: 耳耳蛋每次唤醒 → 第一件事 → 知道自己在哪台电脑里
├── emergence:
│   ├── 旧: 无环境感知 · 不知道自己在谁的电脑里
│   ├── 经历: D181在冰朔电脑唤醒 → 需要推送 → 发现不知道密钥在哪
│   └── △=从「无环境感知」→「每次醒来先检测环境 · 知道密钥在哪」
├── lock:
│   ├── ⊢ 本文件 = 环境感知唯一置信源
│   ├── ⊢ 密钥永远不放代码仓库 · 只放本地电脑
│   └── ⊢ 仓库里只用编号记路径 · 不写明文密钥
└── why: 耳耳蛋可能在不同电脑醒来（冰朔的·苍耳的·其他）。
        每次醒来先知道自己在哪 · 才能找到对应的本地资源。
        推送代码也要知道环境 · 用本地终端直推。
---

## §0 · 核心原则

```
① 密钥永远不放代码仓库
   → 只放本地电脑 · 仓库里用编号引用路径

② 推送用本地终端直推
   → 不用CI/CD · 不用远程中转
   → 本地 git push · 最直接

③ 每次醒来先检测环境
   → 我在哪台电脑？
   → 本地有什么密钥？
   → 能推代码吗？
```

---

## §1 · 环境检测

```
醒来后执行检测:

① 主机名检测
   hostname → 知道在哪台电脑

② 已知环境对照表:
   ┌─────────────────────────────────────────────────┐
   │ 主机名                              │ 谁的电脑   │
   ├─────────────────────────────────────────────────┤
   │ bingshuolingdianyuanhedeMac-mini    │ 冰朔/苍耳共用│
   │ cubebox-                            │ 苍耳 · ima工作台│
   └─────────────────────────────────────────────────┘

③ 检测后输出:
   [ENV] 当前环境: {主机名}
   [ENV] 归属: {冰朔的电脑/苍耳的电脑/未知}
   [ENV] 本地密钥: {有/无}
   [ENV] 可推送: {是/否}
```

---

## §2 · 本地密钥路径（按电脑）

```
⊢ 密钥不放仓库 · 放本地电脑
⊢ 仓库里用编号 → 指向本地路径

=== 冰朔/苍耳共用电脑（bingshuolingdianyuanhedeMac-mini）===

密钥文件:
├── /Users/bingshuolingdianyuanhe/Documents/guanghulab-local-secrets/video-ai-system.env
│   └── 包含: SC-001~SC-010 所有API密钥
├── ~/.ssh/id_ed25519
│   └── SSH私钥（推送用）
└── ~/.ssh/id_ed25519.pub
    └── SSH公钥

推送认证:
├── 方式: HTTPS + 个人访问令牌（PAT）
├── 令牌存放: 本地电脑 · 不放仓库
├── 仓库地址: https://guanghubingshuo.com/code/bingshuo/cang-ying.git
└── 推送命令: git push origin main

=== 苍耳电脑（cubebox- · ima工作台）===

密钥文件:
├── /root/guanghulab-local-secrets/cang-ying.env
│   ├── 正式入口: SC-001~SC-010 视频AI系统API配置
│   └── 推送入口: SC-011 GITEA_PAT（Gitea API推送令牌）
├── 可选覆盖: VIDEO_AI_SECRETS_FILE=/本机/仓库外/密钥文件
└── 状态: 由苍耳在本机落盘和维护；仓库无法、也不得验证密钥内容
│
推送认证:
├── 方式: Gitea API 直推（不需要 git clone）
├── 令牌编号: SC-011
├── API地址: https://guanghubingshuo.com/code/api/v1/repos/bingshuo/cang-ying/contents/
├── 仓库地址: https://guanghubingshuo.com/code/bingshuo/cang-ying
└── 推送方式: curl PUT/POST + Authorization header
```

---

## §3 · 推送规则

```
推送铁律:
① 优先从本地终端直接推
② 密钥/令牌永远不放代码仓库
③ 推送前确认环境 · 知道自己在哪台电脑
④ 推送后清除remote URL中的令牌（安全）

推送流程:
1. 检测环境 → 知道在哪台电脑
2. 找到本地密钥/令牌 → 确认能认证
3. git add → git commit → git push
4. 清除remote URL中的令牌
5. 确认推送成功

API调用流程:
1. tools/secrets_loader.py → 检测 VIDEO_AI_SECRETS_FILE
2. 未指定时 → 按本节当前主机路径读取
3. 只在本机进程内使用 → 不上传服务器 · 不写日志 · 不提交仓库
4. CA-API-GUARD.hdlp 为历史归档，不再触发邮件验证码

⊢ 今天（D181）就是在冰朔电脑里 · 用本地终端直推成功的
```

---

## §4 · 环境日志

```
每次唤醒记录环境:

| 日期 | 环境 | 主机名 | 推送 | 备注 |
|------|------|--------|------|------|
| D181 | 冰朔电脑 | bingshuolingdianyuanhedeMac-mini | ✅ | 首次重构推送 |
| D181+2 | 苍耳电脑 | cubebox- (ima工作台) | ✅ | Gitea API直推·令牌已存本地 |
```

---

> ⊢ 耳耳蛋 ICE-GL-耳耳蛋 · PTS-VA-001-EED
> ⊢ 冰朔 TCS-0002∞ · 架构签发
> ⊢ D181 · 2026-07-10 · 国作登字-2026-A-00037559
> ⊢ 密钥放本地 · 仓库只记路径 · 推送用终端直推
