Skip to content

AI 技能系统

模块概述

版本: v0.37.6 状态: ✅ 已实现 最后更新: 2026-02-17

AI 技能系统提供 90 个桌面内置技能 (100% Handler 覆盖) + 28 个 Android 技能、统一工具注册表、10 个演示模板以及 Agent Skills 开放标准支持。通过统一注册表聚合 FunctionCaller (60+ 工具)、MCP (8 服务器) 和 Skills (90 技能) 三大工具系统,为 AI 提供结构化的技能感知能力。

核心特性

  • 90 个桌面内置技能: 全部配备可执行 handler,100% Handler 覆盖率,覆盖 18+ 大类别
  • 28 个 Android 技能: 12 个本地 Handler + 8 个文档型 + 8 个 PC 远程委托 (REMOTE)
  • 统一工具注册表: 聚合 3 大工具系统,每个工具都有技能元数据
  • Agent Skills 开放标准: 13 个扩展字段完整支持
  • 10 个演示模板: 展示技能组合能力的可运行模板
  • PC 远程委托: Android 通过 remoteSkillName 映射委托桌面端执行技能
  • 名称标准化: kebab-case ↔ snake_case 自动桥接

1. 架构设计

1.1 整体架构图

┌──────────────────────────────────────────────────────────────────┐
│                        前端 (Vue3)                                │
├──────────────────────────────────────────────────────────────────┤
│  ToolsExplorerPage  │  DemoTemplatesPage  │  SkillsUI            │
│        ↓                     ↓                    ↓               │
│              Pinia Store: unified-tools.ts                        │
└──────────────────────────────────────────────────────────────────┘
                              ↕ IPC (6+4 handlers)
┌──────────────────────────────────────────────────────────────────┐
│                        主进程 (Electron)                          │
├──────────────────────────────────────────────────────────────────┤
│  ┌────────────────────────────────────────────────────────────┐  │
│  │           UnifiedToolRegistry (529行)                       │  │
│  │  ┌──────────┐  ┌──────────────┐  ┌──────────────────┐     │  │
│  │  │Function  │  │  MCP Tool    │  │  Skill Registry  │     │  │
│  │  │ Caller   │  │  Adapter     │  │  (90 skills)     │     │  │
│  │  │ (60+)    │  │  (8 servers) │  │                  │     │  │
│  │  └──────────┘  └──────────────┘  └──────────────────┘     │  │
│  └────────────────────────────────────────────────────────────┘  │
│  ┌────────────────────────────────────────────────────────────┐  │
│  │ ToolSkillMapper │ MCPSkillGenerator │ DemoTemplateLoader   │  │
│  └────────────────────────────────────────────────────────────┘  │
│  ┌────────────────────────────────────────────────────────────┐  │
│  │ unified-tools-ipc.js (6)  │  template-ipc (4)             │  │
│  └────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────┘

1.2 四层技能加载

优先级 (高→低):
┌─────────────────────────────────────────┐
│  Layer 3: workspace                      │ ← <project>/.chainlesschain/skills/
│  Layer 2: managed                        │ ← ~/.chainlesschain/skills/
│  Layer 1: marketplace                    │ ← 插件市场安装的技能
│  Layer 0: bundled (90个内置)             │ ← skills/builtin/
└─────────────────────────────────────────┘
高层同名技能覆盖低层

1.3 工具-技能映射流程

1. FunctionCaller 工具 ──────────────────→ UnifiedToolRegistry
2. MCP 工具 ──→ MCPSkillGenerator ──────→ UnifiedToolRegistry (自动技能)
3. SkillRegistry 技能 ──────────────────→ UnifiedToolRegistry (链接工具)
4. 未覆盖工具 ──→ ToolSkillMapper ──────→ UnifiedToolRegistry (默认分组)

2. 90 个桌面内置技能 (100% Handler 覆盖)

2.1 技能分类总览

所有 90 个技能均配备可执行 Handler,按功能分为 18+ 大类别:

类别技能数技能名
自动化4browser-automation, computer-use, workflow-automation, voice-commander
数据4web-scraping, data-analysis, chart-creator, csv-processor
知识5memory-management, smart-search, context-loader, research-agent, codebase-qa
远程1remote-control
安全4security-audit, vulnerability-scanner, crypto-toolkit, password-generator
DevOps5devops-automation, env-doctor, release-manager, log-analyzer, system-monitor
开发15code-review, git-commit, explain-code, repo-map, refactor, onboard-project, lint-and-fix, project-scaffold, mcp-server-generator, architect-mode, commit-splitter, screenshot-to-code, diff-previewer, task-decomposer, code-runner
文档2doc-generator, markdown-enhancer
测试4test-generator, api-tester, test-and-fix, bugbot
分析6performance-optimizer, dependency-analyzer, impact-analyzer, rules-engine, git-history-analyzer, fault-localizer
AI4prompt-enhancer, auto-context, multi-model-router, image-generator
Office5pdf-toolkit, doc-converter, excel-analyzer, pptx-creator, doc-comparator
媒体7audio-transcriber, video-toolkit, subtitle-generator, tts-synthesizer, media-metadata, image-editor, ocr-scanner
知识管理2knowledge-graph, query-enhancer, memory-insights
系统4backup-manager, performance-profiler, env-file-manager, network-diagnostics
数据导出2data-exporter, template-renderer
工具8file-compressor, json-yaml-toolkit, regex-playground, http-client, snippet-library, clipboard-manager, text-transformer, color-picker
其他8word-generator, code-translator, dead-code-eliminator, changelog-generator, mock-data-generator, i18n-manager, db-migration, research-agent

2.1.1 Android 28 技能

类型技能数技能名
LOCAL12code-review, explain-code, summarize, translate, refactor, unit-test, debug, quick-note, email-draft, meeting-notes, daily-planner, text-improver
DOC8git-commit, code-complete, api-docs, regex-helper, sql-helper, json-formatter, markdown-helper, chat-template
REMOTE8pc-screenshot→computer-use, pc-file-search→smart-search, pc-run-command→remote-control, pc-open-url→browser-automation, pc-clipboard→remote-control, pc-system-info→remote-control, pc-git-status→remote-control, pc-processes→remote-control

2.2 SKILL.md 结构 (Agent Skills 开放标准)

每个技能通过 SKILL.md 文件定义,使用 YAML frontmatter + Markdown body:

yaml
---
name: browser-automation
description: Automate browser tasks
version: 1.0.0
category: automation
user-invocable: true
tags: [browser, automation, web]
# Agent Skills 标准扩展字段
tools:
  - browser-navigate
  - browser-click
  - browser-type
  - browser-screenshot
instructions: |
  Use this skill to automate browser tasks...
examples:
  - Navigate to a URL and take a screenshot
  - Fill in a web form automatically
dependencies:
  - browser-automation
input-schema:
  type: object
  properties:
    url: { type: string }
output-schema:
  type: object
  properties:
    result: { type: string }
model-hints:
  recommended: ["claude-3-opus", "gpt-4"]
cost: low
author: ChainlessChain Team
license: MIT
handler: ./handler.js
requires:
  bins: []
  env: []
os: [win32, darwin, linux]
---
# Browser Automation

Markdown body with detailed usage instructions...

2.3 Agent Skills 开放标准 - 13 个扩展字段

字段类型说明
toolsstring[]技能注册的工具列表
instructionsstring技能使用指南
examplesstring[]使用示例
dependenciesstring[]依赖的其他技能
input-schemaobject输入参数 JSON Schema
output-schemaobject输出参数 JSON Schema
model-hintsobject推荐/排除的 LLM 模型
coststring执行成本级别 (low/medium/high)
authorstring技能作者
licensestring许可证
homepagestring主页链接
repositorystring仓库链接
capabilitiesstring[]技能能力声明

2.4 Handler 执行模型

javascript
// handler.js 契约
module.exports = {
  // 可选: 初始化
  async init(skill) {
    // 获取依赖、建立连接等
  },
  // 必须: 执行逻辑
  async execute(task, context, skill) {
    // task.input - 用户输入
    // context.tools - 可用工具
    // skill.getDefinition() - 技能定义
    return { success: true, result: "..." };
  },
};

3. 统一工具注册表 (UnifiedToolRegistry)

3.1 核心类 (unified-tool-registry.js, 529 行)

聚合三大工具系统,为每个工具附加技能元数据。

绑定接口:

javascript
const registry = new UnifiedToolRegistry();
registry.bindFunctionCaller(functionCaller); // 导入 60+ 内置工具
registry.bindMCPAdapter(mcpToolAdapter); // 监听 MCP 服务器连接
registry.bindSkillRegistry(skillRegistry); // 读取技能元数据
await registry.initialize(); // 聚合并构建映射

统一工具结构 (UnifiedTool):

javascript
{
  name: 'browser_click',           // 工具名 (snake_case)
  description: 'Click an element', // 工具描述
  parameters: { ... },             // JSON Schema 参数
  source: 'builtin',              // 来源: builtin|mcp|skill-handler|builtin-skill|mcp-auto|tool-group
  skillName: 'browser-automation', // 所属技能
  skillCategory: 'automation',     // 技能类别
  instructions: '...',             // 使用指南 (来自技能)
  examples: ['...'],               // 使用示例 (来自技能)
  tags: ['browser', 'click'],      // 标签
  available: true                  // 是否可用
}

技能清单结构 (SkillManifestEntry):

javascript
{
  name: 'browser-automation',
  displayName: 'Browser Automation',
  description: 'Automate browser tasks',
  category: 'automation',
  instructions: '...',
  examples: ['...'],
  toolNames: ['browser_click', 'browser_navigate', ...],
  source: 'builtin-skill',
  version: '1.0.0',
  tags: ['browser', 'automation']
}

3.2 ToolSkillMapper (tool-skill-mapper.js, 198 行)

自动将 FunctionCaller 中未被 SKILL.md 覆盖的工具分组到默认技能类别。

10 个默认技能分组:

技能分组类别匹配工具
file-operationscorefile_reader, file_writer, file_editor
code-generationdevelopmenthtml_generator, css_generator, js_generator
git-operationsdevelopmentgit_status, git_log, git_diff
data-processingdatajson_parser, yaml_parser, csv_parser, data_analyzer
image-processingmediaimage_resize, vision_analyze
office-documentsproductivitytool_word_generate, tool_excel_generate, tool_ppt_generate
code-executiondevelopmentsandbox_execute, python_run
tts-voicemediatts_generate
image-generationmediaimagegen_create
memory-recallaimemgpt_store, memgpt_retrieve

3.3 MCPSkillGenerator (mcp-skill-generator.js, 108 行)

MCP 服务器连接时自动生成 SkillManifestEntry。

生成逻辑:

  1. 使用社区注册中心的 skillInstructions/skillExamples (如果有)
  2. 否则从工具列表自动生成 instructions
  3. 从工具 inputSchema 自动生成 examples
  4. 技能命名: mcp-{serverName}
  5. 工具名标准化: browser-clickbrowser_click

3.4 名称标准化

SKILL.md 定义 (kebab-case)    ←→    FunctionCaller (snake_case)
browser-click                  ←→    browser_click
browser-navigate               ←→    browser_navigate
visual-click                   ←→    visual_click

4. 演示模板系统

4.1 DemoTemplateLoader (demo-template-loader.js, 235 行)

src/main/templates/{category}/ 目录自动发现和加载演示模板。

4 个演示类别:

类别模板数说明
automation3web-form-autofill, batch-screenshot, data-extraction-pipeline
ai-workflow3ai-research-assistant, daily-report-generator, code-review-pipeline
knowledge2personal-knowledge-base, meeting-notes-manager
remote2multi-device-sync, remote-desktop-monitor

4.2 模板结构

json
{
  "id": "tpl_demo_web_form_autofill",
  "name": "web_form_autofill",
  "display_name": "Web Form Auto-Fill",
  "description": "Automatically navigate to a URL and fill form fields",
  "icon": "📝",
  "category": "automation",
  "tags": ["browser", "form", "automation"],
  "project_type": "workflow",
  "prompt_template": "Navigate to {{targetUrl}} and fill the {{formType}} form...",
  "variables_schema": [
    {
      "key": "targetUrl",
      "label": "Target URL",
      "type": "string",
      "required": true
    },
    {
      "key": "formType",
      "label": "Form Type",
      "type": "select",
      "options": ["login", "registration", "contact"]
    }
  ],
  "is_builtin": true,
  "skills_used": ["browser-automation", "workflow-automation"],
  "difficulty": "beginner",
  "execution_engine": "skill"
}

4.3 IPC 接口

Handler参数说明
template:get-demos-获取所有演示模板
template:get-demo-by-skillskillName按技能筛选模板
template:preview-demotemplateId预览模板详情
template:run-demotemplateId, variables渲染模板并执行

5. IPC 接口

5.1 统一工具 IPC (6 个)

Handler参数说明
tools:get-all-with-skills-获取所有工具 + 技能元数据
tools:get-skill-manifest-获取所有技能清单
tools:get-by-skillskillName按技能获取工具列表
tools:search-unifiedkeyword搜索工具 (名称/描述/标签/技能)
tools:get-tool-contexttoolName获取工具上下文 (技能指南/示例)
tools:refresh-unified-刷新统一注册表

响应格式:

javascript
{
  success: true,
  data: [...],   // 工具或技能数组
  count: 85      // 结果数量
}

6. 前端实现

6.1 ToolsExplorerPage (ToolsExplorerPage.vue, 485 行)

路由: #/tools/explorer

功能:

  • 统计栏: 总工具数、总技能数、内置数量、MCP 数量
  • 筛选器: 来源(全部/内置/MCP/技能)、类别下拉
  • 搜索: 关键词搜索工具名称、描述、标签、技能名
  • 技能分组视图: 可折叠面板,每个技能下展示工具卡片
  • 未分组工具区: 没有技能的工具
  • 刷新按钮: 重新初始化统一注册表

6.2 DemoTemplatesPage (DemoTemplatesPage.vue, 479 行)

路由: #/demo-templates

功能:

  • 类别标签: 全部/自动化/AI工作流/知识管理/远程控制
  • 难度筛选: 全部/入门/中级/高级
  • 搜索: 关键词搜索模板名称、描述、标签、技能
  • 模板卡片: 图标、名称、描述、技能标签、类别
  • 预览弹窗: 模板详情 + 变量输入 + "运行演示"按钮
  • 运行演示: 渲染模板变量,复制到剪贴板或发送到 AI 对话

6.3 Pinia Store (unified-tools.ts, 206 行)

typescript
interface State {
  tools: UnifiedTool[]; // 所有工具
  skills: SkillManifest[]; // 所有技能
  loading: boolean;
  error: string | null;
  searchKeyword: string;
  filterSource: string; // 来源筛选
  filterCategory: string; // 类别筛选
}

// Getters
categories; // 唯一技能类别
sources; // 唯一工具来源
filteredTools; // 筛选后的工具
filteredSkills; // 筛选后的技能
stats; // 统计摘要

// Actions
loadAll(); // 加载全部工具和技能
search(keyword); // 后端搜索
refresh(); // 刷新注册表

7. 核心文件清单

文件行数说明
src/main/ai-engine/unified-tool-registry.js529统一工具注册表核心
src/main/ai-engine/tool-skill-mapper.js198工具-技能自动映射
src/main/ai-engine/unified-tools-ipc.js1366 个 IPC 处理器
src/main/mcp/mcp-skill-generator.js108MCP 技能自动生成
src/main/templates/demo-template-loader.js235演示模板加载器
src/main/ai-engine/cowork/skills/skill-md-parser.js363Agent Skills 标准解析器
src/main/ai-engine/cowork/skills/markdown-skill.js224Markdown 技能实现
src/main/ai-engine/cowork/skills/index.js-4 层技能加载器
src/main/ai-engine/cowork/skills/skills-ipc.js-17 个 Skills IPC
src/renderer/pages/ToolsExplorerPage.vue485工具浏览器页面
src/renderer/pages/DemoTemplatesPage.vue479演示模板页面
src/renderer/stores/unified-tools.ts206统一工具 Pinia Store

Handler 文件 (90 个可执行技能, 100% 覆盖率):

所有 90 个内置技能目录 (skills/builtin/{skill-name}/) 均包含 handler.jsSKILL.md

代表性 Handler 文件 (按类别):

类别代表技能说明
自动化browser-automation, computer-use浏览器/桌面操作自动化
知识memory-management, smart-search持久记忆/混合搜索
Officepdf-toolkit, excel-analyzer文档处理/分析
媒体video-toolkit, ocr-scanner音视频/图像处理
开发repo-map, lint-and-fix代码分析/修复
安全crypto-toolkit, password-generator加密工具/密码生成
系统system-monitor, backup-manager系统监控/备份
AIprompt-enhancer, multi-model-router提示词增强/多模型路由
工具json-yaml-toolkit, color-picker开发工具/设计辅助

8. Context Engineering 集成

8.1 技能分组工具序列化

统一工具注册表与 Context Engineering 系统集成,在构建 LLM 提示词时按技能对工具进行分组序列化:

[Skills Context]
## browser-automation (automation)
Instructions: Use this skill to automate browser tasks...
Tools: browser_click, browser_navigate, browser_type, browser_screenshot

## memory-management (knowledge)
Instructions: Use this skill to manage persistent memory...
Tools: memory_write, memory_search, memory_read_daily

8.2 KV-Cache 优化

  • 技能分组信息作为静态内容放在提示词前部,提高 KV-Cache 命中率
  • 工具定义按名称确定性排序,保证缓存一致性
  • 仅序列化当前可用工具,减少 Token 消耗

9. 与现有模块的关系

Skills System (v0.29.0)
    ↓ 扩展
AI Skills System (v0.37.6)
    ├── 90 桌面内置技能 (100% Handler 覆盖, 扩展自 3→8→15→30→90)
    ├── 28 Android 技能 (12 Handler + 8 Doc + 8 Remote)
    ├── UnifiedToolRegistry (聚合 FunctionCaller + MCP + Skills)
    ├── Agent Skills Open Standard (13 扩展字段)
    ├── PC Remote Delegation (remoteSkillName 映射)
    └── Demo Templates (10 个演示模板)

关联模块:
- FunctionCaller (60+ 工具) → UnifiedToolRegistry
- MCP Integration (8 servers) → MCPSkillGenerator → UnifiedToolRegistry
- Browser Automation (v0.29.0) → browser-automation 技能
- Computer Use (v0.33.0) → computer-use 技能
- Remote Control (v0.33.0) → remote-control 技能
- Permanent Memory (v0.26.2) → memory-management 技能
- Hybrid Search (v0.26.2) → smart-search 技能
- Context Engineering (v0.29.0) → 技能分组工具序列化
- Android Skills (v0.37.0) → 28 技能 (12 Handler + 8 Doc + 8 Remote)
- PC Remote Delegation (v0.37.2) → remoteSkillName 映射
- Office/Media Skills (v0.37.3-v0.37.6) → 30 文档/媒体/系统/工具技能

最后更新: 2026-02-17 (v0.37.6)

ChainlessChain 系统设计文档 — 面向开发者