静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-02-13 00:47

MiniClaw 项目代码结构分析

项目概述

MiniClaw 是一个基于 MCP (Model Context Protocol) 的微内核智能体插件,版本 v0.5.0 "The Nervous System"。它为 Claude Code 等 MCP 客户端提供动态上下文、持久记忆和自我进化能力。

---

项目目录结构

MiniClaw/
├── src/                    # 源代码目录
│   ├── index.ts           # MCP 服务器入口(826行)
│   └── kernel.ts          # 核心内核实现(1221行)
├── templates/             # DNA 模板文件
│   ├── AGENTS.md          # 智能体行为规范
│   ├── BOOTSTRAP.md       # 启动引导模板
│   ├── HEARTBEAT.md       # 心跳任务模板
│   ├── IDENTITY.md        # 身份标识模板
│   ├── MEMORY.md          # 记忆存储模板
│   ├── SOUL.md            # 人格灵魂模板
│   ├── SUBAGENT.md        # 子智能体模板
│   ├── TOOLS.md           # 工具配置模板
│   └── USER.md            # 用户画像模板
├── scripts/               # 脚本工具
│   ├── install.sh         # 安装脚本
│   ├── session-start.sh   # 会话启动脚本
│   └── verify_kernel.ts   # 内核验证脚本
├── docs/                  # 文档目录
│   └── chapters/          # 分章节文档(20章)
├── package.json           # 项目配置
├── tsconfig.json          # TypeScript 配置
└── plugin.json            # 插件配置

---

核心代码模块分析

1. src/index.ts - MCP 服务器入口

主要职责:

  • 初始化 MCP Server 实例
  • 注册 Resources、Tools、Prompts 处理器
  • 实现心跳调度器(每30分钟执行一次)
  • 管理 Legacy 状态(用于向后兼容)
关键组件:

核心功能:

  • Resources: 提供 miniclaw://contextminiclaw://skills 资源
  • Tools: 提供 miniclaw_updateminiclaw_heartbeatminiclaw_distill 等工具
  • Prompts: 提供各种提示模板
  • Scheduler: 定时执行心跳和蒸馏检查
---

2. src/kernel.ts - 核心内核

主要职责:

  • 实现 ACE (Adaptive Context Engine) 自适应上下文引擎
  • 管理技能系统(Skills)
  • 管理实体存储(Entity Store)
  • 处理上下文预算和优先级
  • 实现时间模式感知
关键组件:

核心类和接口:

名称类型描述
ContextKernelClass主内核类,协调所有子系统
SkillCacheClass技能缓存,解决 N+1 查询问题
EntityStoreClass实体存储,管理人物、项目、工具等实体
RuntimeInfoInterface运行时信息(OS、Node版本、时间等)
ContextModeInterface上下文模式(full/minimal)
EntityInterface实体定义
AnalyticsInterface分析数据
---

核心系统架构

ACE (Adaptive Context Engine) 自适应上下文引擎

时间模式配置:

模式表情标签简报反思最小化
morning☀️Morning
work💼Work
break🍜Break
evening🌙Evening
night😴Night
---

DNA 模板系统

模板文件定义了智能体的"基因":

模板用途
AGENTS.md智能体行为规范和最佳实践
SOUL.md人格、三观、性格特征
USER.md用户画像、偏好、习惯
MEMORY.md长期记忆存储
IDENTITY.md身份标识、名称、角色
TOOLS.md工具配置、环境信息
HEARTBEAT.md定期任务、提醒
BOOTSTRAP.md启动引导、初始化
SUBAGENT.md子智能体定义
---

技能系统

技能系统允许动态扩展功能:

技能类型:

  • Prompts: 提示模板
  • Resources: 资源文件
  • Tools: 可执行工具
---

数据存储结构

持久化文件

文件位置用途
state.json~/.miniclaw/持久状态(分析数据、哈希)
entities.json~/.miniclaw/实体存储
heartbeat_state.json~/.miniclaw/心跳状态(Legacy)
{date}.md~/.miniclaw/memory/每日记忆日志

目录结构

~/.miniclaw/
├── AGENTS.md
├── SOUL.md
├── USER.md
├── MEMORY.md
├── IDENTITY.md
├── TOOLS.md
├── HEARTBEAT.md
├── BOOTSTRAP.md
├── skills/
│   ├── skill1/
│   │   ├── SKILL.md
│   │   ├── prompts/
│   │   ├── tools/
│   │   ├── resources/
│   │   └── references/
│   └── skill2/
├── memory/
│   ├── 2026-02-13.md
│   └── ...
├── state.json
├── entities.json
└── heartbeat_state.json

---

依赖关系

核心依赖:

  • @modelcontextprotocol/sdk: MCP 协议实现
  • node-cron: 定时任务调度
  • zod: 数据模式验证
---

工作流程

---

总结

MiniClaw 采用微内核架构,核心代码集中在 src/index.tssrc/kernel.ts 两个文件中。项目通过 MCP 协议与 AI 客户端通信,提供动态上下文、持久记忆和自我进化能力。其核心特色包括:

1. ACE 引擎: 根据时间模式自适应调整上下文 2. DNA 模板: 定义智能体的"基因"和行为 3. 技能系统: 动态扩展功能 4. 实体存储: 管理人物、项目、工具等实体 5. 心跳机制: 定期检查蒸馏需求 6. 本地存储: 保护用户隐私

👍 1