# 18. Local File-System First 与 Agent 完全自治架构 (v3.5) ## 1. 架构演进背景 在早期的 LemonBoss 设计中,技能 (Skills)、对话日志 (Conversations)、系统配置和 Agent 实例是分离的。这导致了三个核心问题: 1. **全局耦合污染**:所有的 Skill 堆砌在外部的 `repo/skills/` 中,当 Innovator 创建新的子 Agent 能力时,很容易造成命名空间冲突或权限越界。 2. **缺乏运行闭环**:前端、日志存储和运行时配置需要依赖 SQLite 或独立的全局缓存映射,系统状态难以通过简单的文件复制进行迁移和备份。 3. **Claude CLI 兼容性冲突**:Claude Code CLI 默认从工作空间目录底下的 `.claude/skills/` 挂载原生能力,而我们原本的自定义 `skills/` 与其天然隔离,导致大模型在本地原生工具和自定义 Agent 调度间产生严重的幻觉或抢跑情况。 ## 2. Agent 的“完全封装” (Encapsulation) 系统现已全线迁移至 **Local File-System First** 和 **“Agent 就是微容器”** 的架构。全局根目录下的 `skills/` 与数据库已被彻底移除。现在的每一位 Agent 都是一个 100% 便携的“自治微容器”。 ### 2.1 Agent 内部目录结构闭环 所有 Agent(如 `innovator-001`)统一收拢在 `data/agents/{agentId}/` 下。其数据组织如下: ```text data/agents/innovator-001/ ├── config.json ← Agent 基础运行配置项 ├── identity.md ← Agent 姓名、Emoji 及基础设定 ├── user.md ← 面对的用户画像预设 ├── soul.md ← Agent 的性格特征与边界 ├── tools.md ← Agent 允许使用的外部工具白名单 ├── memory/ ← Agent 长短期记忆数据库 ├── conversations/ ← Agent 所有的历史对话记录(原全局级映射下放) │ └── {convId}/ │ ├── meta.json │ ├── history.json │ └── messages.log ├── agent.md ← 【核心】Persona 指令(负责统驭“我是谁”) └── .claude/ └── skills/ ← 该 Agent 本人拥有的独占子技能挂载区 ├── main_skill/ │ └── SKILL.md ← 【核心】Workflow 指令(负责指导“我专业怎么做”) ├── meta_hunt/ └── meta_digest/ ``` ### 2.2 灵肉分离 (Persona vs Capability) 在设计上,将传统臃肿的宏大提示词进行了概念切分: - **`agent.md`**: 这是一个轻量级的占位符,仅告知 LLM 它的宏观定位(例如:“你是 Innovator 编排总控大脑…”)并以引用指针的方式要求其遵循 `main_skill`。 - **`.claude/skills/main_skill/SKILL.md`**: 这才是其实际作业指南(包含编排语法 `[CALL:xxx]` 规则、反思规则矩阵、生成文件的指令路径逻辑)。这种划分让 LLM 启动时能像挂载可执行程序一样拥有天然的边界感,同时也完美迎合了 Claude MCP 的结构体系。 ## 3. 多路并发与无缝切盘 由于实现了 Agent 单体的绝对封闭自治,后台 Node 服务 `server/routes/agent-chat.js` 也顺势进行了架构级优化: 1. **并发解析**:通过对输出流的拦截,现在单次对话可以触发一个纯文本中包含了多个 `[CALL:]` 块的调度池。底层的 `AgentManager` 将利用 `Promise.all` 齐发请求到各个挂载的 SubAgent 的专用沙盒中执行任务。 2. **零配置扫描**:服务器不再静态维护全系统的技能库表,而是启动热加载并遍历所有的 `data/agents/*/.claude/skills/` 节点。用户在网页端切换 Agent 头像时,后端路由从对应沙盒目录吐出隔离的 `conversations` List,界面实现极致丝滑的无状态切盘和防死链。 3. **动态生成**:`meta_creator` 被赋予了全权创世能力。它不再只生成一个孤零零的脚本文档,而是通过 `AgentScaffold.js` 的引擎直接在 `data/agents/` 下开辟一个新的隔离目录,灌入完整的六大配置文件。一个新能力(Agent)的诞生,即代表着文件系统的一次干净合规的增量。