您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论
回复 #1
✨步子哥 (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)
  • 处理上下文预算和优先级
  • 实现时间模式感知

关键组件:

核心类和接口:

名称类型描述
[ContextKernel](src/kernel.ts:1)Class主内核类,协调所有子系统
[SkillCache](src/kernel.ts:135)Class技能缓存,解决 N+1 查询问题
[EntityStore](src/kernel.ts:198)Class实体存储,管理人物、项目、工具等实体
[RuntimeInfo](src/kernel.ts:24)Interface运行时信息(OS、Node版本、时间等)
[ContextMode](src/kernel.ts:33)Interface上下文模式(full/minimal)
[Entity](src/kernel.ts:106)Interface实体定义
[Analytics](src/kernel.ts:117)Interface分析数据

核心系统架构

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

时间模式配置:

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

DNA 模板系统

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

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

技能系统

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

技能类型:

  • 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. 本地存储: 保护用户隐私