使用说明
PCLI2-钻机
一个漂亮的基于TUI的本地AI代理,由 钻机 和 Ollama.
特性
- 🎨 美丽温暖的TUI -黑色背景,暖橙色/金色渐变横幅和表情丰富的界面
- 🤖 本地AI -使用Ollama完全在笔记本电脑上运行
- 🛠️ 工具支持 -用于文件操作、命令执行和代码搜索的内置工具
- 🔒 隐私优先 -所有推理都在本地进行,没有数据离开您的机器
- ⚡ 轻量级 -针对快速启动和最小资源使用进行了优化
- 🎯 YOLO模式 -跳过工具确认
--yolo标记以加快工作流程 - 🖱️ 鼠标支持 -点击以聚焦窗格,滚动滚轮导航(使用Ctrl+M切换)
- 📋 文本选择 -从聊天记录中复制/粘贴(默认情况下禁用鼠标)
- 📜 帮助模态 -媒体
/help有关平台特定配置路径的详细命令参考 - 🔌 MCP支持 -模型上下文协议服务器集成
- 📊 CPU监控 -LLM请求期间的实时CPU使用火花线
- ⌨️ 横向滚动 -滚动长日志行←/→ 箭头键和起始/结束
- 🚫 请求取消 -按Esc键取消飞行中的LLM请求
- 📜 命令历史记录 -Bash风格的向上/向下导航,用于以前的输入
截图
██████╗ ██████╗██╗ ██╗██████╗ ██████╗ ██╗ ██████╗
██╔══██╗██╔════╝██║ ██║╚════██╗ ██╔══██╗██║██╔════╝
██████╔╝██║ ██║ ██║ █████╔╝ ██████╔╝██║██║ ███╗
██╔═══╝ ██║ ██║ ██║██╔═══╝ ██╔══██╗██║██║ ██║
██║ ╚██████╗███████╗██║███████╗ ██║ ██║██║╚██████╔╝
╚═╝ ╚═════╝╚══════╝╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝
┌─ Chat History [5] ─────────────────────────────────┐
│ 👤 You: Hello, can you help me with my code? │
│ │
│ 🤖 Assistant: Of course! I'd be happy to help. │
│ What language are you working with? │
│ │
└─────────────────────────────────────────────────────┘
┌─ Input │ qwen2.5-coder:3b │ 🔌0 ───────────────────┐
│ I'm working on a Rust project... █ │
└─────────────────────────────────────────────────────┘
┌─ Logs ─────────────────────────────────────────────┐
│ ✓ INFO Starting PCLI2-RIG with model: ... │
│ • DEBUG Sending request to Ollama model: ... │
│ ✓ Ready │
└─────────────────────────────────────────────────────┘
✓ Ready │ Model: qwen2.5-coder:3b │ CPU: ▁▃▅▇█ (45%)
安装
先决条件
-
安装Ollama:从下载 ollama.com
-
拉一个模型 (推荐:Qwen2.5编码器):
ollama pull qwen2.5-coder:3b其他支持工具调用的轻量级模型:
llama3.2:3b-良好的一般推理phi3.5:mini-快速响应mistral:7b-instruct-q3_K_M-最佳质量/尺寸比
从源代码构建
# Clone the repository
git clone https://github.com/physna/pcli2-rig.git
cd pcli2-rig
# Build
cargo build --release
# Run
./target/release/pcli2-rig
用法
基本用法
# Run with default model (qwen2.5-coder:3b)
pcli2-rig
# Specify a model
pcli2-rig --model llama3.2:3b
# Connect to remote Ollama server
pcli2-rig --host http://192.168.1.100:11434
# YOLO mode (skip tool confirmation)
pcli2-rig --yolo
# Verbose logging
pcli2-rig --verbose
MCP集成
PCLI2-RIG与 pcli2-mcp 通过模型上下文协议(MCP)提供对外部工具和服务的访问。
快速设置(推荐)
配置MCP的最简单方法是使用 --setup-mcp 选项,读取pcli2-mcp配置并永久保存:
# One-time setup: pipe pcli2-mcp config directly
pcli2-mcp config | pcli2-rig --setup-mcp -
这将:
- 解析pcli2-mcp JSON配置
- 从配置中提取MCP服务器URL
- 将它们保存到
~/.config/pcli2-rig/config.toml(或特定于平台的配置目录) - 显示已配置服务器的确认信息
设置后,只需运行 pcli2-rig 通常情况下,您的MCP服务器将自动加载。
pcli2-mcp配置格式示例
pcli2-mcp配置JSON看起来像这样:
{
"mcpServers": {
"pcli2": {
"args": [
"-y",
"mcp-remote",
"http://localhost:8080/mcp"
],
"command": "npx"
},
"filesystem": {
"args": [
"-y",
"mcp-remote",
"http://localhost:8081/mcp"
],
"command": "npx"
}
}
}
PCLI2-RIG从中提取HTTP/HTTPS URL args 阵列,并将其配置为MCP服务器。
替代方案:手动服务器设置
如果您更喜欢手动运行MCP服务器:
-
构建并启动pcli2-mcp:
# Build pcli2-mcp cd /path/to/pcli2-mcp cargo build --release # Start the server (default port 8080) ./target/release/pcli2-mcp serve --port 8080 -
将pcli2钻机连接到MCP服务器:
# Add MCP server URL directly (session-only) pcli2-rig --mcp-remote http://localhost:8080/mcp # Multiple MCP servers pcli2-rig --mcp-remote http://localhost:8080/mcp --mcp-remote http://localhost:8081/mcp
临时会话(无配置文件)
对于不保存配置的一次性会话:
# Load MCP servers from pcli2-mcp config (pipe from stdin)
pcli2-mcp config | pcli2-rig --mcp-config -
# Combine with additional direct URLs
pcli2-mcp config | pcli2-rig --mcp-config - --mcp-remote http://localhost:9000/mcp
手动配置文件编辑
您还可以直接在以下位置编辑配置文件 ~/.config/pcli2-rig/config.toml:
model = "qwen2.5-coder:3b"
host = "http://localhost:11434"
yolo = false
[[mcp_servers]]
name = "pcli2"
url = "http://localhost:8080/mcp"
enabled = true
[[mcp_servers]]
name = "filesystem"
url = "http://localhost:8081/mcp"
enabled = true
验证MCP配置
配置后,您可以验证MCP服务器是否已加载:
# Inside pcli2-rig, use the /mcp command
/mcp list # List configured MCP servers
/mcp tools # Show available MCP tools
环境变量
# Set default model
export OLLAMA_MODEL=qwen2.5-coder:3b
# Set default host
export OLLAMA_HOST=http://localhost:11434
键盘快捷键
全球
| 关键 | 行动 |
|---|---|
Ctrl+C |
退出应用程序 |
Ctrl+K |
清除聊天记录 |
Ctrl+M |
切换鼠标模式 |
Tab |
在窗格之间切换焦点 |
Shift+Tab |
向后切换焦点 |
Esc |
关闭模态对话框 或 取消飞行中的LLM请求 |
鼠标模式(Ctrl+M):
- 启用:左键单击可聚焦窗格,滚轮可滚动
- 残障人士 (默认):从终端选择并复制文本
启用鼠标模式后,单击任何窗格(聊天、输入或日志)将聚焦该窗格。
输入窗格(聚焦时)
| 关键 | 行动 |
|---|---|
Enter |
发送消息 |
↑/↓ |
历史中的上一个/下一个命令(bash风格) |
Home/End |
跳转到输入的开始/结束 |
Backspace |
删除光标前的字符 |
Delete |
删除光标处的字符 |
聊天/日志窗格(聚焦时)
| 关键 | 行动 |
|---|---|
↑/↓ |
滚动1行 |
PageUp/PageDown |
滚动5行 |
←/→ |
水平滚动(仅日志窗格) |
Home/End |
跳转到行首/行尾(仅限日志窗格) |
鼠标控制
| 动作 | 效果 |
|---|---|
| 左键单击 | 聚焦于已单击的窗格 |
| 滚轮 | 在聚焦窗格中滚动(3行) |
工具确认
| 关键 | 行动 |
|---|---|
Y 或 Enter |
确认工具执行 |
N 或 Esc |
取消工具执行 |
内置工具
代理可以访问这些工具:
| 工具 | 说明 |
|---|---|
read_file |
读取文件内容 |
write_file |
写入/创建文件 |
list_directory |
列出目录内容 |
run_command |
执行shell命令 |
search_code |
使用grep搜索代码 |
工具确认
默认情况下,工具执行需要确认。您将看到如下对话框:
┌─ Confirmation Required ──────────────────────────┐
│ │
│ 🔧 Tool Execution Requested │
│ │
│ Tool: read_file │
│ Arguments: {"path": "Cargo.toml"} │
│ │
│ Execute this tool? (Y/n) │
│ │
└───────────────────────────────────────────────────┘
使用 --yolo 模式跳过确认以加快工作流程。
建筑学
┌─────────────────────────────────────────────────┐
│ PCLI2-RIG Architecture │
├─────────────────────────────────────────────────┤
│ ┌───────────────────────────────────────────┐ │
│ │ TUI Layer (ratatui) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌────────────┐ │ │
│ │ │ Banner │ │ Chat │ │ Status │ │ │
│ │ └─────────┘ └─────────┘ └────────────┘ │ │
│ └───────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────┐ │
│ │ Agent Core (Rig) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌────────────┐ │ │
│ │ │ Ollama │ │ Tool │ │ Message │ │ │
│ │ │ Client │ │ Registry│ │ History │ │ │
│ │ └─────────┘ └─────────┘ └────────────┘ │ │
│ └───────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────┐ │
│ │ Ollama (localhost:11434) │ │
│ │ qwen2.5-coder:3b │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
配置
配置文件
配置文件位于特定于平台的路径中:
- Linux:
~/.config/pcli2-rig/config.toml - macOS:
~/Library/Application Support/pcli2-rig/config.toml - 视窗:
%APPDATA%\pcli2-rig\config.toml
确切的路径如图所示 /help 模式,并在启动时记录。
配置示例:
model = "qwen2.5-coder:3b"
host = "http://localhost:11434"
yolo = false
# MCP Server Configuration (optional)
[[mcp_servers]]
name = "filesystem"
url = "http://localhost:3000"
enabled = true
[[mcp_servers]]
name = "github"
url = "http://localhost:3001"
token = "ghp_..." # Optional auth
enabled = false
加载配置文件时,INFO日志消息会显示确切的路径:
✓ INFO Loaded config from /home/user/.config/pcli2-rig/config.toml
MCP命令
| 命令 | 描述 |
|---|---|
/mcp |
显示MCP服务器状态 |
/mcp list |
列出已配置的MCP服务器 |
/mcp tools |
显示可用的MCP工具 |
Cargo.toml依赖关系
该项目使用以下关键依赖关系:
rig-core-AI代理框架(带rmcp特征)rmcp-模型上下文协议客户端ratatui-TUI框架crossterm-终端后端tokio-异步运行时clap-CLI参数解析tracing-日志记录tui-markdown-Markdown渲染
模型选择
为了在资源有限的笔记本电脑上获得最佳效果:
| RAM | 推荐型号 | 质量 |
|---|---|---|
| 4GB | qwen2.5-coder:1.5b |
很好 |
| 8GB | qwen2.5-coder:3b |
好多了 |
| 16GB | qwen2.5-coder:7b |
最好的 |
故障排除
“创建Ollama客户端失败”
确保Ollama正在跑步:
ollama serve
“找不到模型”
先拉模型:
ollama pull qwen2.5-coder:3b
TUI渲染问题
尝试调整终端大小或检查终端是否支持UTF-8。
长长的原木线被切断了
Use ←/→ 当“日志”窗格聚焦时,使用箭头键水平滚动。
想要取消慢速LLM请求吗?
按 Esc 同时等待取消请求的响应。
CPU火花线未显示?
CPU使用火花线仅在等待LLM响应时出现在状态栏中。
命令
| 命令 | 描述 |
|---|---|
/help, /h, /? |
显示详细的帮助模式 |
/quit, /exit, /q |
退出应用程序 |
/clear, /cls |
清除聊天记录 |
/model [name] |
显示或设置当前模型 |
/history, /hist |
显示消息计数 |
/status |
显示当前状态 |
/mcp |
显示MCP服务器状态 |
/mcp list |
列出已配置的MCP服务器 |
/mcp tools |
显示可用的MCP工具 |
CLI选项
| 选项 | 描述 |
|---|---|
--model <MODEL> |
设置要使用的Olama模型 |
--host <HOST> |
设置Ollama服务器主机(默认值: http://localhost:11434) |
--setup-mcp <FILE> |
一次性设置: 从pcli2-MCP配置加载MCP服务器并保存到配置文件 |
--mcp-config <PATH> |
仅从配置文件加载此会话的MCP服务器(使用 - 对于stdin) |
--mcp-remote <URL> |
直接添加MCP服务器URL(可以多次使用) |
--yolo |
跳过工具确认提示 |
--verbose |
启用详细日志记录 |
--help, -h |
显示CLI帮助 |
发展
# Run in development mode
cargo run
# Run with verbose logging
RUST_LOG=debug cargo run -- --verbose
# Build release
cargo build --release
# Run tests
cargo test
许可证
MIT许可证-有关详细信息,请参阅许可证文件。