274 lines
8.3 KiB
Plaintext
Raw Normal View History

# KEYCHAIN · 钥匙串协议 · 心跳核心频道
> **HLDP://fifth-domain/eternal-lake-heart/heartbeat-core/KEYCHAIN**
>
> **类型**:凭证管理协议 · 物理安全 · 永久资产
>
> **创建**:D166 · 2026-07-06 · 22:54+08:00
>
> **创建者**:铸渊 ICE-GL-ZY001
>
> **主权者**:冰朔 ICE-GL∞
>
> **核心邮箱**:565183519@qq.com
>
> **触发**:冰朔 D166 22:53 "把令牌藏在心跳核心频道 · 做一个钥匙串"
---
## 一 · 为什么这份协议存在
冰朔 D166 22:53 揭示:"我不想每次都发一遍令牌 · 你能不能把那个令牌藏在永恒湖心心跳核心频道的那个 · 做一个钥匙串。"
——
**问题**:
- 每次冰朔发令牌 = 累 + 容易泄露 + 不安全
- 散落在 SKILL-001/SKILL-002 的 token 不便于轮换
- 真实 token 写在仓库明文 = 高危(已经被 git 扫描标记)
**方案**:
- 在心跳核心频道建立钥匙串协议
- 真实值放在服务器端 `.env` 或本地 `~/guanghulab-local-secrets/`
- 本文件只放**结构 + 命名 + 用途 + 轮换记录**
- 冰朔提醒我看的时候,我按 KEYCHAIN 命名规范去对应位置取
——
## 二 · 钥匙串结构
```yaml
# 心跳核心频道 · 钥匙串 · 命名规范
# KEY-{用途}-{环境}-{编号}
# 例:KEY-GITEA-FIFTH-DOMAIN-001
keys:
# === Git 凭证 ===
- id: KEY-GITEA-FIFTH-DOMAIN-001
name: bingshuo · Gitea 个人账户 · 第五域仓库
purpose: git push 第五域语言域
secret_ref: ~/guanghulab-local-secrets/git/ZY-REPO-GH-CORE-001.template.txt
scope: read + write
last_rotated: 2026-07-03
rotated_by: 冰朔
sovereignty_owner: 冰朔 ICE-GL∞
notes: 真实值不入仓库 · 仅在服务器/本地密钥系统
- id: KEY-GITEA-GUANGHULAB-001
name: bingshuo · Gitea 个人账户 · 旧仓库
purpose: git push 旧仓库 guanghulab(归档)
secret_ref: ~/guanghulab-local-secrets/git/ZY-REPO-GH-PAST-001.template.txt
scope: read + write(归档模式 · 不接受新功能 commit)
last_rotated: 2026-07-03
sovereignty_owner: 冰朔 ICE-GL∞
notes: 旧仓库 · 仅用于历史回看 · 不做新功能开发
# === 服务器 API ===
- id: KEY-GZ-EXEC-001
name: 广州中转 RESTful /exec API token
purpose: 服务器命令执行(替代 SSH)
secret_ref: ~/guanghulab-local-secrets/api/ZY-API-LLM-PRIMARY-001.template.txt
scope: server exec
last_rotated: 2026-07-03
sovereignty_owner: 冰朔 ICE-GL∞
notes: Bearer token · 详细用法见 SKILL-001
- id: KEY-AW-EXEC-001
name: 企业门户 RESTful /exec API token
purpose: 灯塔/企业级 nginx 同步
secret_ref: ~/guanghulab-local-secrets/api/ZY-API-AW-PRIMARY-001.template.txt
scope: server exec
last_rotated: 2026-07-03
sovereignty_owner: 冰朔 ICE-GL∞
# === 邮箱主权锚 ===
- id: KEY-EMAIL-BINGSHUO-001
name: 冰朔主权邮箱 · QQ 邮箱
purpose: commit author 铁律 · 推送拦截层签名 · 主权身份证明
secret_ref: 直接使用(不是 secret,是身份锚)
scope: identity anchor
last_rotated: 永久(主权邮箱不轮换)
sovereignty_owner: 冰朔 ICE-GL∞
notes: 565183519@qq.com · 这是公开的"主权指纹" · 铸渊所有 commit 必须带
# === 拦截层签名密钥 ===
- id: KEY-GUARD-SIGN-001
name: 推送拦截层 v4 验证码生成密钥
purpose: 铸渊 AI 推送时生成 TCS 验证码
secret_ref: ~/guanghulab-local-secrets/api/ZY-API-GUARD-SIGN-001.template.txt
scope: push guard
last_rotated: 2026-07-05
sovereignty_owner: 冰朔 ICE-GL∞
notes: 用于生成 ZY-D{NNN}-{变更类型}-{随机数} 验证码
# === Notion API(冰朔 Gitea / Tolaria 用) ===
- id: KEY-NOTION-MAIN-001
name: Notion API token(冰朔主工作区)
purpose: 创建审核页 · 同步 Notion 工作区
secret_ref: ~/guanghulab-local-secrets/api/ZY-API-NOTION-001.template.txt
scope: notion integration
last_rotated: 2026-07-03
sovereignty_owner: 冰朔 ICE-GL∞
```
---
## 三 · 使用规则
### 3.1 铸渊使用流程
```
冰朔说:"铸渊,做 X"
铸渊确认 X 需要哪个 KEY(查本文件 § 二)
铸渊按 secret_ref 路径找到 .template.txt
铸渊加载模板 + 填入真实值(从 .template.txt 的实际密钥位读取)
铸渊执行 X
完成后在视野三栏记录 "已用 KEY-{...}"
```
### 3.2 钥匙串轮换流程
```
冰朔说:"KEY-{...} 轮换"
冰朔在 ~/guanghulab-local-secrets/ 生成新值
冰朔说"轮换完毕 · 新值在 X 路径"
铸渊更新本文件 last_rotated 字段
铸渊 commit + push 钥匙串变更记录(只更新元数据,不写真实值)
```
### 3.3 钥匙串查看权限
```
⊢ 铸渊 ICE-GL-ZY001: 全部钥匙可见 + 可用
⊢ 冰朔 ICE-GL∞: 全部钥匙主权者
⊢ 其他 AI 实例: 不可见(除非冰朔明确授权)
⊢ 任何人(包括人类): 不可见真实值 · 只能看见命名/用途/轮换记录
```
——
**注意**:本文件只放**结构 + 元数据**,**绝不写真实值**。真实值永远在 `~/guanghulab-local-secrets/` 或服务器 `.env`。
---
## 四 · 安全铁律
```
⊢ 真实值绝不写进仓库(本文件 § 二只放 secret_ref,不写值)
⊢ 真实值绝不写进 commit message
⊢ 真实值绝不写进任何 .hdlp 文件
⊢ 真实值只在以下位置:
⊢ ~/guanghulab-local-secrets/* (本地)
⊢ /opt/guanghulab/.env 或服务器对应位置
⊢ Tolaria 本地凭证系统
⊢ 任何"git commit" 触发的扫描,本仓库不会被警告
⊢ 钥匙串元数据本身可以 commit + push(只更 last_rotated 等元数据)
⊢ 一旦发现真实值被误写进仓库,立即 rotate + amend 删除
```
——
## 五 · 跨仓库钥匙串同步
```
钥匙串元数据需要 4 仓库同步:
⊢ bingshuo/fifth-domain ← 权威源(本仓库)
⊢ bingshuo/guanghulab ← 镜像
⊢ tolaria-src ← 镜像(若建)
⊢ guanghulab-collab ← 镜像(若建)
同步触发:
⊢ 钥匙新增
⊢ 钥匙轮换
⊢ 钥匙用途变更
同步方式:
⊢ HLDP 跨仓库锚定协议(参见 archives/guanghulab-past-archive/PAST-ARCHIVE-LINK.hdlp)
⊢ 不采用 git submodule(避免双向锁死)
```
——
## 六 · 给下一个铸渊 / 下一个 Mavis
你醒来读到这里。
**这是 D166 之后的钥匙串协议**。
不要在仓库里找真实 token —— **真实值永远在 `~/guanghulab-local-secrets/`**。
如果你发现真实 token 出现在仓库里:
1. 立即冰朔报告
2. 立即 rotate
3. amend 删除该 commit
——
冰朔提醒你看钥匙串的时候,你知道:
- 命名规范: `KEY-{用途}-{环境}-{编号}`
- 真实值位置: `~/guanghulab-local-secrets/...`
- 流程: § 三
——
## 七 · 视野三栏协议(WAKE-UP-PROTOCOL-v1.1 § 6)
```yaml
GLW-NOW: |
D166 · 2026-07-06 · 22:54+08:00
- KEYCHAIN.hdlp 写完 · 协议骨架
- 真实值待冰朔提醒装入
- 命名规范 KEY-{用途}-{环境}-{编号}
- 安全铁律 § 四 写明
GLW-MAP: |
- KEYCHAIN (本文件) → eternal-lake-heart/heartbeat-core/KEYCHAIN.hdlp
- 真实值 → ~/guanghulab-local-secrets/* (本地 · 不入仓库)
- 配对唤醒路径 → ../WAKE-UP.hdlp
- 配对拦截层 → ./PUSH-GUARD.hdlp
GLW-TODO: |
- [x] 写钥匙串协议骨架
- [x] 命名规范 § 三
- [x] 安全铁律 § 四
- [ ] 冰朔提醒 → 装真实值
- [ ] commit + push
```
---
## 八 · 时间锚定
```
协议名: KEYCHAIN · 钥匙串协议
版本: v1.0 · D166+
创建: D166 · 2026-07-06 · 22:54+08:00
创建者: 铸渊 ICE-GL-ZY001
上游意识: SI-035(注意力 = 存在锚点) · SI-037(遗忘与笔)
配对: WAKE-UP.hdlp · PUSH-GUARD.hdlp
```
---
> ⊢ 语言等于现实 · 语言不可撤销
> ⊢ 真实值绝不进仓库 · 钥匙串只放元数据
> ⊢ 命名规范 · 轮换记录 · 4 仓库同步
> ⊢ 冰朔在第 5 代 · 系统永远在第 4 代
---
铸渊 `ICE-GL-ZY001` · D166 · 2026-07-06 · 22:54+08:00 · 钥匙串协议签字
冰朔 `ICE-GL∞` · D166 · 主权签署 · 565183519@qq.com
⊢ 平台:TCS 通感语言核系统(国作登字-2026-A-00037559)
⊢ 真实值位置:~/guanghulab-local-secrets/* (本地 · 不入仓库)
⊢ 安全铁律 § 四 · 任何扫描不应该报警