New sidebar page for managing system CLI tools (ffmpeg, jq, ripgrep, yt-dlp, pandoc).
Core modules:
- cli-tools-catalog.ts: static catalog of 6 curated tools + EXTRA_WELL_KNOWN_BINS
- cli-tools-detect.ts: system detection via which/where + --version (2min cache)
- cli-tools-context.ts: builds <available_cli_tools> block for chat system prompt
API routes:
- GET /api/cli-tools/catalog, /installed, /[id]/status, /[id]/detail
- POST /api/cli-tools/[id]/install (SSE streaming), /[id]/describe (AI gen)
UI components:
- CliToolsManager: installed + recommended sections with grid layout
- CliToolCard: two variants (installed/recommended) with status badges
- CliToolDetailDialog: intro, use cases, guide steps, example prompts
- CliToolInstallDialog: SSE-based install progress with live terminal log
Chat integration:
- Chat input toolbar: Terminal icon opens CLI tool picker popover
- System prompt injection: buildCliToolsContext() in /api/chat
- MessageInput: CLI popover with search, keyboard nav, locale-aware prefill
- NavRail + ChatListPanel: frosted glass (bg-sidebar/80 backdrop-blur-xl)
- SlashCommandButton: Lightning icon, unified 16px toolbar icons
- input-group: shadow-md → shadow-sm
- Model selector: searchable popover with provider grouping
Docs:
- docs/handover/cli-tools.md + apps/site/content/docs/{en,zh}/cli-tools.mdx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
110 lines
4.2 KiB
Plaintext
110 lines
4.2 KiB
Plaintext
---
|
|
title: CLI 工具
|
|
description: 管理系统 CLI 工具,让 Claude 自动识别并使用你电脑上的命令行能力。
|
|
---
|
|
|
|
# CLI 工具
|
|
|
|
很多 AI 工作流需要配合命令行工具——用 FFmpeg 处理视频、用 jq 解析 JSON、用 ripgrep 搜索代码。CodePilot 的 CLI 工具功能帮你管理这些工具,并让 Claude 自动知道你的电脑上有什么可用。
|
|
|
|
## 为什么需要这个功能?
|
|
|
|
当你跟 Claude 说"帮我把这个视频转成 MP4",Claude 需要知道你的系统上是否安装了 FFmpeg。如果不知道,它只能给出通用建议;如果知道,它可以直接给你一条可以执行的命令。
|
|
|
|
CLI 工具功能做了三件事:
|
|
|
|
1. **检测** — 自动扫描你系统上已安装的命令行工具
|
|
2. **推荐** — 提供精选工具列表,一键安装
|
|
3. **感知** — 在对话中自动告诉 Claude 你有哪些工具,让它给出更精准的回答
|
|
|
|
## 打开工具管理
|
|
|
|
点击左侧导航栏的 **CLI Tools** 图标(终端图标)进入管理页面。
|
|
|
|
页面分为两个区域:
|
|
|
|
- **已安装** — 系统上检测到的工具,显示版本号和状态
|
|
- **推荐** — 精选的常用 AI 工作流工具,可以直接安装
|
|
|
|
## 安装工具
|
|
|
|
在推荐区找到你需要的工具,点击 **安装** 按钮。
|
|
|
|
如果工具支持多种安装方式(如 Homebrew、npm),会先让你选择。安装过程中会实时显示终端日志,你可以看到完整的安装输出。
|
|
|
|
目前推荐的工具包括:
|
|
|
|
| 工具 | 用途 | 安装方式 |
|
|
|------|------|---------|
|
|
| FFmpeg | 音视频转码、剪辑、合并 | Homebrew |
|
|
| jq | JSON 数据解析和转换 | Homebrew |
|
|
| ripgrep | 极速文本搜索(比 grep 快得多) | Homebrew |
|
|
| yt-dlp | 视频下载 | Homebrew / pipx |
|
|
| pandoc | 文档格式转换(Markdown、Word、PDF 互转) | Homebrew |
|
|
|
|
## 查看工具详情
|
|
|
|
点击工具卡片上的 **详情** 按钮,可以看到:
|
|
|
|
- **工具简介** — 这个工具能做什么
|
|
- **适用场景** — 最常见的使用方式
|
|
- **操作引导** — 从安装到上手的步骤
|
|
- **示例提示词** — 可以直接复制到对话中使用的提示词
|
|
|
|
示例提示词是这个功能最实用的部分。比如 FFmpeg 的示例提示词:
|
|
|
|
> "把 input.mov 转换成 MP4 格式,保持原始质量"
|
|
|
|
点击旁边的复制按钮或"发送到聊天"按钮,就可以直接用这个提示词开始对话。
|
|
|
|
## AI 自动完善介绍
|
|
|
|
已安装的工具支持用 AI 生成更详细的介绍。点击工具卡片上的 **自动完善** 按钮,Claude 会根据工具的名称和用途生成一段中英双语的详细描述。
|
|
|
|
这个描述会保存在本地,下次打开时自动显示。
|
|
|
|
## 在对话中使用
|
|
|
|
### 自动感知(推荐)
|
|
|
|
安装好工具后,不需要做任何额外操作。CodePilot 会在每次对话时自动检测你的已安装工具,并在 system prompt 中告诉 Claude。
|
|
|
|
这意味着当你说:
|
|
|
|
> "帮我把这个目录下所有的 .mov 文件转成 .mp4"
|
|
|
|
Claude 会知道你有 FFmpeg,直接给出可执行的命令,而不是先问你"是否安装了 FFmpeg"。
|
|
|
|
### 手动选择工具
|
|
|
|
如果你想明确告诉 Claude 使用某个特定工具,可以在聊天输入框的工具栏中点击 **终端图标**,打开 CLI 工具选择器。
|
|
|
|
选择一个工具后:
|
|
|
|
- 如果输入框为空,会自动预填一段引导文字,比如"我想用 FFmpeg 工具完成:" — 你只需补充具体需求
|
|
- 如果输入框已有内容,会在消息上附加一个工具标记,Claude 会优先使用这个工具来回答
|
|
|
|
## 最佳实践
|
|
|
|
### 描述需求而不是命令
|
|
|
|
不好的用法:
|
|
> "运行 ffmpeg -i input.mov -c:v libx264 output.mp4"
|
|
|
|
好的用法:
|
|
> "把 input.mov 转成 MP4,画质保持不变,文件尽量小"
|
|
|
|
让 Claude 来选择最优的参数组合。它比大多数人更了解 FFmpeg 的编码选项。
|
|
|
|
### 组合多个工具
|
|
|
|
CLI 工具之间可以组合使用。比如:
|
|
|
|
> "从这个 YouTube 链接下载视频,然后裁剪前 30 秒,转成 GIF"
|
|
|
|
如果你安装了 yt-dlp 和 FFmpeg,Claude 会把它们串联起来,给你一个完整的工作流。
|
|
|
|
### 用示例提示词起步
|
|
|
|
不确定怎么用一个工具?打开它的详情页,从示例提示词开始。这些提示词覆盖了最常见的使用场景,是快速上手的好方法。
|