diff --git a/05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md b/05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md index 139633cd..90926665 100644 --- a/05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md +++ b/05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md @@ -68,18 +68,30 @@ python3 .../gene_capsule.py list --- -## 四、相关文件 +## 四、导出时产出 + +每次 **pack** 会自动生成: + +| 产出 | 路径 | +|:---|:---| +| 胶囊 JSON | `卡若Ai的文件夹/导出/基因胶囊/技能名_sha256前8位.json` | +| **说明文档(含流程图)** | `卡若Ai的文件夹/导出/基因胶囊/README_基因胶囊导出说明.md` | + +说明文档内含:基因胶囊功能总览、**完整流程图**(Mermaid)、已导出胶囊清单、使用方法。 + +## 五、相关文件 | 文件 | 说明 | |:---|:---| | `运营中枢/参考资料/基因胶囊规范.md` | 概念与格式规范 | +| `运营中枢/参考资料/基因胶囊功能流程图.md` | 流程图(仓库内常驻) | | `脚本/gene_capsule.py` | pack/unpack/list 主脚本 | | `capsule_index.json` | 继承胶囊索引(解包时更新) | | `卡若Ai的文件夹/导出/基因胶囊/` | 导出目录 | --- -## 五、依赖 +## 六、依赖 - Python 3.9+ - 可选:PyYAML(用于精确解析 frontmatter,无则用简单解析) diff --git a/05_卡土(土)/土砖_技能复制/基因胶囊/脚本/gene_capsule.py b/05_卡土(土)/土砖_技能复制/基因胶囊/脚本/gene_capsule.py index 2781a55b..bcb38cd8 100644 --- a/05_卡土(土)/土砖_技能复制/基因胶囊/脚本/gene_capsule.py +++ b/05_卡土(土)/土砖_技能复制/基因胶囊/脚本/gene_capsule.py @@ -88,8 +88,150 @@ def _parse_frontmatter(content: str) -> tuple: return fm, parts[2].strip() +EXPORT_README = "README_基因胶囊导出说明.md" + + +def _render_flowchart_mermaid() -> str: + """返回基因胶囊功能流程图 Mermaid 源码""" + return """```mermaid +flowchart TB + subgraph internal["卡若AI 内部流程"] + A1[用户需求/任务] --> A2{查 SKILL_REGISTRY} + A2 --> A3[读 SKILL.md 执行] + A3 --> A4[执行完成 + 复盘] + A4 --> A5{经验有价值?} + A5 -->|是| A6[写入经验库/待沉淀] + A5 -->|否| A7[结束] + A6 --> A8{要打包为胶囊?} + end + + subgraph capsule["基因胶囊 核心流程"] + B1[pack: Skill 转 胶囊JSON] --> B2[导出目录 + 说明文档] + B2 --> B3[list: 查看本地胶囊] + B3 --> B4{需要继承?} + B4 -->|是| B5[unpack: 胶囊 转 Skill] + B4 -->|否| B6[保留备用] + B5 --> B7[写入对应成员目录] + B7 --> B8[更新 SKILL_REGISTRY] + end + + subgraph factory["技能工厂联动"] + C1[创建 Skill 前] --> C2[list 查本地胶囊] + C2 --> C3{有匹配?} + C3 -->|是| C4[unpack 继承] + C3 -->|否| C5[新建 Skill] + C5 --> C6[创建 Skill 后] + C6 --> C7[pack 打包为胶囊] + C4 --> B7 + end + + subgraph external["未来对外流通"] + D1[EvoMap Market] --> D2[上传胶囊] + D2 --> D3[全球 Agent 继承] + D3 --> B5 + B2 -.->|可选| D2 + end + + A8 -->|是| B1 + A8 -->|否| A7 +```""" + + +def _write_export_readme() -> str: + """生成/更新导出说明文档(含流程图),返回说明文档路径""" + EXPORT_DIR.mkdir(parents=True, exist_ok=True) + readme_path = EXPORT_DIR / EXPORT_README + + # 收集已导出胶囊列表(按创建时间倒序) + caps = [] + if EXPORT_DIR.exists(): + for f in sorted(EXPORT_DIR.glob("*.json")): + try: + data = json.loads(f.read_text(encoding="utf-8")) + m = data.get("manifest", {}) + caps.append({ + "file": f.name, + "name": m.get("name", ""), + "capsule_id": data.get("capsule_id", "")[:19], + "created_at": data.get("created_at", ""), + }) + except Exception: + pass + caps.sort(key=lambda x: x.get("created_at", ""), reverse=True) + + lines = [ + "# 基因胶囊 · 导出说明", + "", + "> **生成时间**:{now} ", + "> **导出目录**:`卡若Ai的文件夹/导出/基因胶囊/` ", + "> **规范文档**:`运营中枢/参考资料/基因胶囊规范.md`", + "", + "---", + "", + "## 一、基因胶囊功能总览", + "", + "**基因胶囊**将验证过的 Skill + 环境指纹 + 审计记录打包为可遗传能力单元,支持:", + "", + "- **pack**:Skill → 胶囊 JSON(导出)", + "- **unpack**:胶囊 JSON → Skill(继承)", + "- **list**:查看本地所有胶囊", + "", + "---", + "", + "## 二、基因胶囊完整流程图", + "", + "以下流程图展示卡若AI 中基因胶囊的完整工作流程、与技能工厂的联动,以及未来与 EvoMap 的流通路径。", + "", + _render_flowchart_mermaid(), + "", + "---", + "", + "## 三、已导出胶囊清单", + "", + "| 技能名 | 胶囊文件 | capsule_id | 创建时间 |", + "|:---|:---|:---|:---|", + ] + for c in caps: + lines.append(f"| {c.get('name', '')} | {c.get('file', '')} | {c.get('capsule_id', '')} | {c.get('created_at', '')} |") + if not caps: + lines.append("| (暂无) | — | — | — |") + lines.extend([ + "", + "---", + "", + "## 四、使用方法", + "", + "### 解包(继承能力)", + "", + "```bash", + "cd /Users/karuo/Documents/个人/卡若AI", + 'python3 "05_卡土(土)/土砖_技能复制/基因胶囊/脚本/gene_capsule.py" unpack 技能名_xxxx.json', + 'python3 .../gene_capsule.py unpack 技能名_xxxx.json -o 目标目录/ # 指定输出目录', + "```", + "", + "### 列表", + "", + "```bash", + 'python3 .../gene_capsule.py list', + "```", + "", + "---", + "", + "## 五、引用", + "", + "- 规范:`运营中枢/参考资料/基因胶囊规范.md`", + "- 技能:`05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md`", + "- 流程图亦可于规范文档中查看", + "", + ]) + now = datetime.now().strftime("%Y-%m-%d %H:%M") + content = "\n".join(lines).replace("{now}", now) + readme_path.write_text(content, encoding="utf-8") + return str(readme_path) + + def pack(skill_ref: str, include_audit: bool = True) -> str: - """打包:将 SKILL 转为基因胶囊 JSON""" + """打包:将 SKILL 转为基因胶囊 JSON,并生成导出说明文档(含流程图)""" skill_path = _find_skill_path(skill_ref) content = skill_path.read_text(encoding="utf-8") rel_path = str(skill_path.relative_to(KARUO_AI_ROOT)) @@ -121,14 +263,16 @@ def pack(skill_ref: str, include_audit: bool = True) -> str: } if include_audit: - # 尝试从复盘目录读取最近一条(若有) capsule["audit"] = {"last_retro": "", "source": "pack"} EXPORT_DIR.mkdir(parents=True, exist_ok=True) safe_name = manifest["name"].replace(" ", "_").replace("/", "_")[:30] out_file = EXPORT_DIR / f"{safe_name}_{capsule_id[7:15]}.json" out_file.write_text(json.dumps(capsule, ensure_ascii=False, indent=2), encoding="utf-8") - return str(out_file) + + # 生成导出说明文档(含完整流程图) + readme_path = _write_export_readme() + return str(out_file) + "\n📄 说明文档: " + readme_path def unpack(capsule_path: str, target_dir: str | None = None) -> str: @@ -204,7 +348,10 @@ def main(): if args.cmd == "pack": out = pack(args.skill, include_audit=not args.no_audit) - print(f"✅ 已打包: {out}") + parts = out.split("\n") + print(f"✅ 已打包: {parts[0]}") + if len(parts) > 1: + print(parts[1]) elif args.cmd == "unpack": out = unpack(args.capsule, target_dir=args.output) print(f"✅ 已解包: {out}") diff --git a/BOOTSTRAP.md b/BOOTSTRAP.md index c4edc747..a57885ed 100644 --- a/BOOTSTRAP.md +++ b/BOOTSTRAP.md @@ -86,6 +86,7 @@ | **技能查找** | 用户说任何需求 | 查 SKILL_REGISTRY.md → 找到技能路径 → 读 SKILL.md 执行 | | **复盘** | **所有对话强制(卡若AI 统一回复形式)** | 卡若AI 内**所有对话**的 AI 回复一律用复盘形式;每轮可带简版(🎯+▶),**最终回复必须以完整复盘块收尾**;复盘须带日期+时间、目标行≤30字、下一步关联项目目标;格式见 `运营中枢/参考资料/卡若复盘格式_固定规则.md`。不得省略、不得改格式。 | | **沉淀** | 发现有价值的经验 | 写入 `02_卡人(水)/水溪_整理归档/经验库/待沉淀/` | +| **基因胶囊** | 打包技能、解包胶囊、继承能力 | 读 `05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md`;pack 时自动生成导出说明(含流程图) | | **Gitea 同步** | 有文件变更时 | `bash 01_卡资(金)/金仓_存储备份/Gitea管理/脚本/自动同步.sh` | | **跑 Pipeline** | 用户说「新项目上线」「内容发布」「日常运维」等 | 读 `运营中枢/参考资料/Pipeline执行清单.md` 按步骤执行 | | **对外输出** | 报告、复盘存档、执行日志、导出文件、**生成图片** | 统一写到 `/Users/karuo/Documents/卡若Ai的文件夹/` 下对应子目录;**图片** → `图片/`,并在 `图片/图片索引.md` 登记来源 Skill、生成者。经验沉淀仍写 `02_卡人(水)/水溪_整理归档/经验库/待沉淀/`。详见 `运营中枢/参考资料/输出目录规范.md`。 | diff --git a/运营中枢/参考资料/Pipeline执行清单.md b/运营中枢/参考资料/Pipeline执行清单.md index 110b879f..5631d9b2 100644 --- a/运营中枢/参考资料/Pipeline执行清单.md +++ b/运营中枢/参考资料/Pipeline执行清单.md @@ -26,6 +26,7 @@ | 5 | 火锤 | 代码修复 | `04_卡火(火)/火锤_代码修复/代码修复/SKILL.md` | 代码/报错 | 修复后代码 | | 6 | 金仓 | 部署 | `01_卡资(金)/金仓_存储备份/服务器管理/SKILL.md` 或 `金盾/Vercel与v0部署流水线/SKILL.md` | 代码/仓库 | 线上地址 | | 7 | 水溪 | 归档 | `02_卡人(水)/水溪_整理归档/对话归档/SKILL.md` + 执行日志 | 全过程 | 执行日志、归档记录 | +| 8 | 土砖 | 基因胶囊(可选) | `05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md` | 新建/更新的 Skill | 胶囊 JSON + 导出说明(含流程图) | --- diff --git a/运营中枢/参考资料/基因胶囊功能流程图.md b/运营中枢/参考资料/基因胶囊功能流程图.md new file mode 100644 index 00000000..abda7749 --- /dev/null +++ b/运营中枢/参考资料/基因胶囊功能流程图.md @@ -0,0 +1,72 @@ +# 基因胶囊 · 功能流程图 + +> **版本**:1.0 | 更新:2026-02-22 +> **导出时同步**:每次 pack 会在 `导出/基因胶囊/README_基因胶囊导出说明.md` 中生成含流程图的说明文档 + +--- + +## 流程图(Mermaid) + +以下为基因胶囊在卡若AI 中的完整功能流程,包含内部流程、核心操作、技能工厂联动及未来对外流通。 + +```mermaid +flowchart TB + subgraph internal["卡若AI 内部流程"] + A1[用户需求/任务] --> A2{查 SKILL_REGISTRY} + A2 --> A3[读 SKILL.md 执行] + A3 --> A4[执行完成 + 复盘] + A4 --> A5{经验有价值?} + A5 -->|是| A6[写入经验库/待沉淀] + A5 -->|否| A7[结束] + A6 --> A8{要打包为胶囊?} + end + + subgraph capsule["基因胶囊 核心流程"] + B1[pack: Skill 转 胶囊JSON] --> B2[导出目录 + 说明文档] + B2 --> B3[list: 查看本地胶囊] + B3 --> B4{需要继承?} + B4 -->|是| B5[unpack: 胶囊 转 Skill] + B4 -->|否| B6[保留备用] + B5 --> B7[写入对应成员目录] + B7 --> B8[更新 SKILL_REGISTRY] + end + + subgraph factory["技能工厂联动"] + C1[创建 Skill 前] --> C2[list 查本地胶囊] + C2 --> C3{有匹配?} + C3 -->|是| C4[unpack 继承] + C3 -->|否| C5[新建 Skill] + C5 --> C6[创建 Skill 后] + C6 --> C7[pack 打包为胶囊] + C4 --> B7 + end + + subgraph external["未来对外流通"] + D1[EvoMap Market] --> D2[上传胶囊] + D2 --> D3[全球 Agent 继承] + D3 --> B5 + B2 -.->|可选| D2 + end + + A8 -->|是| B1 + A8 -->|否| A7 +``` + +--- + +## 流程说明 + +| 区块 | 说明 | +|:---|:---| +| **卡若AI 内部流程** | 用户任务 → 查技能 → 执行 → 复盘 → 经验沉淀 → 可选打包为胶囊 | +| **基因胶囊 核心流程** | pack/unpack/list,导出时自动生成说明文档(含本流程图) | +| **技能工厂联动** | 创建前先查胶囊继承,创建后可打包为胶囊 | +| **未来对外流通** | 与 EvoMap Market 对接,实现跨 Agent 能力遗传 | + +--- + +## 引用 + +- 规范:`运营中枢/参考资料/基因胶囊规范.md` +- 技能:`05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md` +- 导出说明:`卡若Ai的文件夹/导出/基因胶囊/README_基因胶囊导出说明.md` diff --git a/运营中枢/参考资料/基因胶囊规范.md b/运营中枢/参考资料/基因胶囊规范.md index 01bcfdf0..1b3265b3 100644 --- a/运营中枢/参考资料/基因胶囊规范.md +++ b/运营中枢/参考资料/基因胶囊规范.md @@ -126,7 +126,39 @@ capsule_id = "sha256:" + SHA256(manifest.skill_path + skill_content 前 8192 字 --- -## 七、引用 +## 七、卡若AI 全流程改造(基因胶囊融入) + +### 7.1 流程概览 + +``` +用户任务 → 查 SKILL_REGISTRY → 读 SKILL 执行 → 复盘 + ↓ + 经验有价值 → 经验库/待沉淀 ──→ 可打包为胶囊 + ↓ + 创建 Skill 前 → list 查胶囊 → 有则 unpack 继承 + 创建 Skill 后 → pack 打包为胶囊 +``` + +### 7.2 导出时产出 + +每次 `pack` 执行时自动生成: + +- **胶囊 JSON**:`导出/基因胶囊/技能名_sha256前8位.json` +- **说明文档**:`导出/基因胶囊/README_基因胶囊导出说明.md`(含完整功能流程图) + +### 7.3 流程图 + +完整流程图见 **`卡若Ai的文件夹/导出/基因胶囊/README_基因胶囊导出说明.md`**,包含: + +- 卡若AI 内部流程(需求→执行→复盘→经验→打包) +- 基因胶囊核心流程(pack/unpack/list) +- 技能工厂联动(创建前查/创建后打包) +- 未来对外流通(EvoMap) + +--- + +## 八、引用 - 战略分析:`卡若Ai的文件夹/报告/EvoMap与卡若AI结合战略分析_20260222.md` - 技能:`05_卡土(土)/土砖_技能复制/基因胶囊/SKILL.md` +- 导出说明(含流程图):`卡若Ai的文件夹/导出/基因胶囊/README_基因胶囊导出说明.md` diff --git a/运营中枢/工作台/gitea_push_log.md b/运营中枢/工作台/gitea_push_log.md index ced8f466..2ace6bcb 100644 --- a/运营中枢/工作台/gitea_push_log.md +++ b/运营中枢/工作台/gitea_push_log.md @@ -76,3 +76,4 @@ | 2026-02-22 10:38:16 | 🔄 卡若AI 同步 2026-02-22 10:38 | 更新:卡土、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 8 个 | | 2026-02-22 10:43:14 | 🔄 卡若AI 同步 2026-02-22 10:43 | 更新:运营中枢工作台 | 排除 >20MB: 8 个 | | 2026-02-22 10:48:02 | 🔄 卡若AI 同步 2026-02-22 10:48 | 更新:运营中枢工作台 | 排除 >20MB: 8 个 | +| 2026-02-22 10:50:57 | 🔄 卡若AI 同步 2026-02-22 10:50 | 更新:运营中枢工作台 | 排除 >20MB: 8 个 | diff --git a/运营中枢/工作台/代码管理.md b/运营中枢/工作台/代码管理.md index c9a2d571..b2bd87e4 100644 --- a/运营中枢/工作台/代码管理.md +++ b/运营中枢/工作台/代码管理.md @@ -79,3 +79,4 @@ | 2026-02-22 10:38:16 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 10:38 | 更新:卡土、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-02-22 10:43:14 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 10:43 | 更新:运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-02-22 10:48:02 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 10:48 | 更新:运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | +| 2026-02-22 10:50:57 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 10:50 | 更新:运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |