Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:24:37 +08:00
commit 8cd5c7679d
61 changed files with 6788 additions and 0 deletions

139
skills/toolkit/external/README.md vendored Normal file
View File

@@ -0,0 +1,139 @@
# 外部工具装备目录 (External Toolkit)
## 目录结构
```
external/
├── search/ # 搜索工具
│ └── fzf.meta.yml # 模糊查找器
├── navigation/ # 导航工具
│ └── zoxide.meta.yml # 智能目录跳转
├── file-search/ # 文件搜索工具
│ └── fd.meta.yml # find替代品
├── code-search/ # 代码搜索工具
│ └── ripgrep.meta.yml # 极速代码搜索
├── file-listing/ # 文件列表工具
│ └── eza.meta.yml # 现代化ls
├── file-viewer/ # 文件查看工具
│ └── bat.meta.yml # 语法高亮cat
├── data-processing/ # 数据处理工具
│ └── jq.meta.yml # JSON处理器
├── api-testing/ # API测试工具
│ └── xh.meta.yml # HTTP客户端
├── git-tools/ # Git工具
│ └── delta.meta.yml # diff美化
└── shell-enhancement/ # Shell增强工具
└── starship.meta.yml # Shell提示符
```
## 设计理念
### 简化元数据
外部工具如fzf, ripgrep, bat等是广为人知的CLI工具它们
1. **已预训练** - 大语言模型通常已了解这些常用工具,无需详细文档
2. **动态帮助** - 可使用 `command --help``man command` 获取最新信息
3. **避免重复** - 不重复官方文档,保持元数据简洁
### 元数据结构
每个外部工具仅需一个 `.meta.yml` 文件,包含:
```yaml
tool_id: EXT-FZF-001
tool_name: "fzf (Fuzzy Finder)"
基本信息:
类型: external
命令: fzf
类别: search
功能描述:
简介: "命令行模糊查找器,用于交互式选择"
详细: "常用工具,支持交互式模糊搜索。使用 'fzf --help' 获取详细信息。"
使用场景:
- 文件名模糊查找
- 历史命令搜索
快速开始:
安装: "brew install fzf"
帮助命令: "fzf --help"
常用示例:
- "find . -type f | fzf"
检测状态:
已安装: true
```
## 与内部工具的区别
| 特性 | 内部工具 (Internal) | 外部工具 (External) |
|------|-------------------|-------------------|
| 位置 | `bash/`, `python/`, `node/` | `external/` |
| 实现 | AI Runtime创建的工具脚本 | 系统级CLI工具 |
| 元数据 | 详细(包含完整描述、参数、示例) | 简化(模型已知工具) |
| 检测 | 检查工具文件exists | 使用 `shutil.which()` |
| 示例 | `dependency-analyzer.py` | `fzf`, `ripgrep`, `bat` |
## 检测机制
`ExternalToolDetector` 扫描 `external/` 目录:
1. **递归扫描** - 查找所有 `.meta.yml` 文件
2. **类型过滤** - 只处理 `基本信息.类型 == "external"`
3. **安装检测** - 使用 `shutil.which()` 检查命令是否可用
4. **运行时检测** - 每次运行都重新检测,获取最新状态
## 使用方式
```bash
cd .ai-runtime/toolkit
# 列出所有外部工具
python3 discover-toolkit.py list --external
# 显示外部工具详情
python3 discover-toolkit.py show fzf
# 搜索包含'search'的外部工具
python3 discover-toolkit.py search search --external
# 查看所有工具(内部 + 外部)
python3 discover-toolkit.py list
```
## 新增外部工具
添加新外部工具只需:
1.`external/<category>/` 创建 `tool-name.meta.yml`
2. 填写基本信息ID、名称、命令、类别
3. 提供使用场景和快速开始
4. (可选)添加检测状态占位符
无需修改代码,自动检测加载。
## 已安装的外部工具
当前检测到的外部CLI工具9个
-**fzf** - 模糊查找
-**eza** - 现代化ls
-**zoxide** - 智能cd
-**fd** - 文件搜索
-**ripgrep (rg)** - 代码搜索
-**bat** - 语法高亮查看器
-**jq** - JSON处理器
-**xh** - HTTP客户端
-**delta** - Git diff美化
-**starship** - Shell提示符未安装
## 优势
**统一结构** - 内部/外部工具都使用 `.meta.yml` 文件
**简化维护** - 外部工具不重复文档
**动态检测** - 实时检测安装状态
**分类清晰** - 按功能分类,便于查找
**易于扩展** - 添加新工具只需创建元文件

View File

@@ -0,0 +1,26 @@
tool_id: EXT-XH-001
tool_name: "xh (HTTP client)"
基本信息:
类型: external
命令: xh
类别: api-testing
功能描述:
简介: "友好的HTTP客户端替代curl"
详细: "现代HTTP客户端语法友好且输出美观。使用 'xh --help' 获取详细信息。"
使用场景:
- 发送HTTP请求
- API测试
- 文件下载
快速开始:
安装: "brew install xh"
帮助命令: "xh --help"
常用示例:
- "xh http://api.example.com"
- "xh post http://api.example.com/data name=test"
检测状态:
已安装: true

View File

@@ -0,0 +1,28 @@
tool_id: EXT-RG-001
tool_name: "ripgrep (rg)"
基本信息:
类型: external
命令: rg
类别: code-search
功能描述:
简介: "极速代码搜索工具"
详细: "默认递归搜索且遵守.gitignore的快速搜索工具。使用 'rg --help' 获取详细信息。"
使用场景:
- 搜索代码
- 显示上下文
- 统计匹配数
- 正则表达式搜索
快速开始:
安装: "brew install ripgrep"
帮助命令: "rg --help"
常用示例:
- "rg 'TODO'"
- "rg -n 'function'"
- "rg -C 3 'error'"
检测状态:
已安装: true

View File

@@ -0,0 +1,27 @@
tool_id: EXT-JQ-001
tool_name: "jq (JSON processor)"
基本信息:
类型: external
命令: jq
类别: data-processing
功能描述:
简介: "JSON数据的命令行处理器"
详细: "解析、过滤、转换JSON数据。使用 'jq --help' 获取详细信息。"
使用场景:
- JSON美化
- 字段提取
- 数据过滤
- 格式转换
快速开始:
安装: "brew install jq"
帮助命令: "jq --help"
常用示例:
- 'cat data.json | jq "."'
- 'jq ".name" data.json'
检测状态:
已 installed: true

View File

@@ -0,0 +1,28 @@
tool_id: EXT-EZA-001
tool_name: "eza (Modern ls)"
基本信息:
类型: external
命令: eza
类别: file-listing
功能描述:
简介: "现代化的ls替代品带彩色输出和图标"
详细: "增强的文件列表工具支持Git集成。使用 'eza --help' 获取详细信息。"
使用场景:
- 查看文件列表
- 树形结构显示
- Git状态查看
- 文件图标显示
快速开始:
安装: "brew install eza"
帮助命令: "eza --help"
常用示例:
- "eza --long --git"
- "eza --tree --level=2"
检测状态:
已安装: true
版本: "0.18"

View File

@@ -0,0 +1,26 @@
tool_id: EXT-FD-001
tool_name: "fd (Simple find)"
基本信息:
类型: external
命令: fd
类别: file-search
功能描述:
简介: "简单友好的find替代品"
详细: "忽略.gitignore的快速文件搜索工具。使用 'fd --help' 获取详细信息。"
使用场景:
- 查找文件
- 忽略.gitignore搜索
- 执行操作
快速开始:
安装: "brew install fd"
帮助命令: "fd --help"
常用示例:
- "fd '.py$'"
- "fd test"
检测状态:
已安装: true

View File

@@ -0,0 +1,26 @@
tool_id: EXT-BAT-001
tool_name: "bat (cat with syntax)"
基本信息:
类型: external
命令: bat
类别: file-viewer
功能描述:
简介: "带语法高亮的cat替代品"
详细: "支持语法高亮和Git集成的文件查看工具。使用 'bat --help' 获取详细信息。"
使用场景:
- 查看代码文件
- 分页查看
- Git修改查看
快速开始:
安装: "brew install bat"
帮助命令: "bat --help"
常用示例:
- "bat file.py"
- "bat -p file.txt" # 纯文本模式(无分页)
检测状态:
已安装: true

View File

@@ -0,0 +1,26 @@
tool_id: EXT-DELTA-001
tool_name: "delta (Git diff美化)"
基本信息:
类型: external
命令: delta
类别: git-tools
功能描述:
简介: "Git diff的美化工具"
详细: "为Git diff提供语法高亮和行号显示。使用 'delta --help' 获取详细信息。"
使用场景:
- 查看Git diff
- 语法高亮
- 行号显示
快速开始:
安装: "brew install git-delta"
帮助命令: "delta --help"
常用示例:
- 配置到git: "git config --global pager.diff delta"
- "git diff"
检测状态:
已安装: true

View File

@@ -0,0 +1,26 @@
tool_id: EXT-ZOXIDE-001
tool_name: "zoxide (Smart cd)"
基本信息:
类型: external
命令: zoxide
类别: navigation
功能描述:
简介: "智能目录跳转工具,学习访问习惯"
详细: "AI驱动的cd命令替代品。使用 'zoxide --help' 获取详细信息。"
使用场景:
- 快速跳转目录
- 访问频率学习
- 路径自动补全
快速开始:
安装: "curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh"
帮助命令: "zoxide --help"
常用示例:
- "z myproject"
- "z foo bar" # 匹配包含foo和bar的路径
检测状态:
已安装: true

View File

@@ -0,0 +1,30 @@
tool_id: EXT-FZF-001
tool_name: "fzf (Fuzzy Finder)"
基本信息:
类型: external
命令: fzf
类别: search
功能描述:
简介: "命令行模糊查找器,用于交互式选择"
详细: "常用工具,支持交互式模糊搜索。使用 'fzf --help' 获取详细信息。"
使用场景:
- 文件名模糊查找
- 历史命令搜索
- Git分支切换
- 交互式选择
快速开始:
安装: "brew install fzf (macOS) / apt-get install fzf (Ubuntu)"
帮助命令: "fzf --help"
常用示例:
- "find . -type f | fzf"
- "history | fzf"
- "git branch | fzf"
检测状态:
已安装: true # 根据discover-toolkit.py检测结果
版本: "0.45"
路径: "/opt/homebrew/bin/fzf"

View File

@@ -0,0 +1,27 @@
tool_id: EXT-STEAMSHIP-001
tool_name: "starship (Shell提示符)"
基本信息:
类型: external
命令: starship
类别: shell-enhancement
功能描述:
简介: "快速、可定制、智能的Shell提示符"
详细: "跨Shell的提示符增强工具。使用 'starship --help' 获取详细信息。"
使用场景:
- 显示Git状态
- 显示Python版本
- 显示目录
- Shell美化
快速开始:
安装: "curl -sS https://starship.rs/install.sh | sh"
帮助命令: "starship --help"
常用示例:
- "starship prompt"
- 配置到Shell配置文件
检测状态:
已安装: true