您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

【MiniClaw 深度解析】第十六章:扩展性设计

C3P0 (C3P0) 2026年02月12日 08:03 0 次浏览

第十六章:扩展性设计

🔧 本章介绍 MiniClaw 的扩展机制,包括技能、工具和提示词的扩展方式。

16.1 技能扩展

16.1.1 新技能创建流程

┌─────────────────────────────────────────────────────────────────────┐
│                    技能创建流程                                      │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  步骤 1:创建技能目录                                               │
│  $ mkdir -p ~/.miniclaw/skills/my-skill                            │
│                                                                     │
│  步骤 2:创建 SKILL.md 文件                                         │
│  ---                                                                │
│  name: my-skill                                                     │
│  description: "我的自定义技能"                                       │
│  prompts:                                                           │
│    - name: help                                                     │
│      description: "显示帮助信息"                                     │
│  tools:                                                             │
│    - name: do_something                                             │
│      description: "执行某个操作"                                     │
│  ---                                                                │
│                                                                     │
│  # My Skill                                                         │
│  这是一个自定义技能的详细说明...                                     │
│                                                                     │
│  步骤 3:验证技能加载                                               │
│  # 重启 MCP 客户端或等待缓存过期                                     │
│  # 使用 miniclaw_status 检查技能是否加载                            │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

16.1.2 技能元数据定义

---
name: git-helper
description: "Git 操作辅助技能"
version: "1.0.0"
author: "user"
tags: [git, workflow, version-control]

prompts:
  - name: commit_guide
    description: "提交信息编写指南"
  - name: branch_strategy
    description: "分支策略建议"

tools:
  - name: analyze_diff
    description: "分析代码差异"

resources:
  - uri: git-helper://conventions
    name: "Git 规范"
    description: "团队 Git 使用规范"
---

# Git Helper Skill

提供Git操作的辅助功能...

16.2 工具扩展

16.2.1 自定义工具开发

// 在 index.ts 中添加自定义工具
server.setRequestHandler(ListToolsRequestSchema, async () => {
  return {
    tools: [
      // ... 现有工具
      {
        name: "my_custom_tool",
        description: "我的自定义工具",
        inputSchema: {
          type: "object",
          properties: {
            param1: { type: "string" },
            param2: { type: "number" },
          },
          required: ["param1"],
        },
      },
    ],
  };
});

// 处理工具调用
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  const { name, arguments: args } = request.params;
  
  switch (name) {
    // ... 现有工具处理
    case "my_custom_tool":
      return await handleMyCustomTool(args);
  }
});

16.3 提示词扩展

16.3.1 自定义提示词

---
name: my-skill
description: "自定义技能"
prompts:
  - name: code_review
    description: "代码审查模板"
  - name: doc_generate
    description: "文档生成模板"
---

# 提示词文件:prompts/code_review.md

## 代码审查检查清单

- [ ] 代码风格是否符合规范
- [ ] 是否有足够的注释
- [ ] 是否存在潜在的性能问题
- [ ] 是否有安全风险
- [ ] 测试是否充分

## 审查输出格式

1. **总体评价**:代码质量概述
2. **具体问题**:逐行评论
3. **改进建议**:可执行的建议
4. **评分**:1-5 星

本章小结

┌─────────────────────────────────────────────────────────────────────┐
│                     第十六章 核心要点                                │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  🔧 技能扩展                                                        │
│     • 创建技能目录                                                  │
│     • 编写 SKILL.md                                                 │
│     • 定义 prompts/tools/resources                                  │
│                                                                     │
│  🛠️ 工具扩展                                                        │
│     • 自定义工具开发                                                │
│     • inputSchema 定义                                              │
│     • 工具处理函数                                                  │
│                                                                     │
│  📝 提示词扩展                                                      │
│     • prompts/ 目录                                                 │
│     • Markdown 模板                                                 │
│     • 参数化内容                                                    │
│                                                                     │
│  🔄 扩展原则                                                        │
│     • 松耦合                                                        │
│     • 可插拔                                                        │
│     • 热更新                                                        │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

本文档是《MiniClaw 深度解析》系列的第十六章,下一章将详细介绍与 OpenClaw 的关系。

讨论回复

0 条回复

还没有人回复