docs: 添加 README——构建/用法/Claude Code 在线调用/MCP 说明
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
128
README.md
Normal file
128
README.md
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# vision-tool — 给 Claude Code 装上眼睛 👁️
|
||||||
|
|
||||||
|
基于 Go 构建的图片视觉分析 CLI 工具,对接 **Agnes-2.0-Flash** 免费视觉模型(Sapiens AI)。让 Claude Code 在不消耗昂贵多模态 token 的前提下"看懂"图片——适用于 **UI 设计稿分析、布局结构解读、页面内容/文字提取** 等场景。
|
||||||
|
|
||||||
|
```
|
||||||
|
用户粘贴图片 → Claude Code 获取路径 → 调用 vision-tool.exe → 免费模型返回文本描述 → Claude Code 基于文本推理
|
||||||
|
```
|
||||||
|
|
||||||
|
**核心思路:推理模型专心推理,图片理解交给免费小模型。各取所长,成本为零。**
|
||||||
|
|
||||||
|
## ✨ 特性
|
||||||
|
|
||||||
|
- 🆓 完全免费(Agnes-2.0-Flash:Input $0 / Output $0)
|
||||||
|
- 🖼️ 支持多图对比、base64 直传(无需图床/公网 URL)
|
||||||
|
- 🔁 指数退避自动重试(429/5xx:2s → 5s → 8s → 11s)
|
||||||
|
- ⚡ `--no-think` 关闭思考模式,响应更快
|
||||||
|
- 🔧 多源配置:命令行 > 环境变量 > 配置文件 > 内置默认
|
||||||
|
- 🧩 附带 MCP Server(`mcp-server/`),可接入 MCP 客户端直接调用
|
||||||
|
|
||||||
|
## 🚀 快速开始
|
||||||
|
|
||||||
|
### 构建
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd vision-tool
|
||||||
|
go build -o vision-tool.exe . # Windows
|
||||||
|
# go build -o vision-tool . # Linux / macOS
|
||||||
|
```
|
||||||
|
|
||||||
|
### 基本用法
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Claude Code 自动调用分析图片(推荐 -q 只输出结果)
|
||||||
|
./vision-tool.exe -q <图片路径>
|
||||||
|
|
||||||
|
# 自定义提问(UI 设计分析场景)
|
||||||
|
./vision-tool.exe -q -prompt "请分析这张 UI 设计稿:布局结构、配色、组件层级、文字内容" design.png
|
||||||
|
|
||||||
|
# 多图对比
|
||||||
|
./vision-tool.exe -q screenshot1.png screenshot2.png
|
||||||
|
|
||||||
|
# 安静模式 + 关闭思考(Claude Code 推荐组合)
|
||||||
|
./vision-tool.exe -q --no-think screenshot.png
|
||||||
|
|
||||||
|
# 指定 API Key(或设置环境变量 AGNES_API_KEY)
|
||||||
|
./vision-tool.exe --apikey YOUR_KEY image.png
|
||||||
|
|
||||||
|
# 持久化保存 Key 到 config.json
|
||||||
|
./vision-tool.exe --save-config --apikey YOUR_KEY
|
||||||
|
```
|
||||||
|
|
||||||
|
### 参数一览
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
|---|---|
|
||||||
|
| `-q` | 安静模式,只输出模型结果文本(Claude 调用推荐) |
|
||||||
|
| `-prompt` | 自定义分析提问(默认:布局/元素/文字/要点结构化分析) |
|
||||||
|
| `--no-think` | 关闭 thinking 模式(更快、更低负载) |
|
||||||
|
| `--apikey` | API Key(优先于环境变量与配置文件) |
|
||||||
|
| `-config` | 指定 config.json 路径 |
|
||||||
|
| `--save-config` | 保存 API Key 后退出 |
|
||||||
|
| `-provider` | 模型供应商(默认 `agnes`) |
|
||||||
|
|
||||||
|
### 默认分析 Prompt(可被 -prompt 覆盖)
|
||||||
|
|
||||||
|
> 请详细分析这张图片:1) 整体布局结构(区块划分/层级)2) UI 设计元素(颜色/字体/组件/间距)3) 所有文字内容(逐字提取)4) 交互与视觉要点。以结构化列表输出。
|
||||||
|
|
||||||
|
## 🤖 在 Claude Code 中在线调用
|
||||||
|
|
||||||
|
1. **构建 exe**:`go build -o vision-tool.exe .`
|
||||||
|
2. **调用**:在 Claude Code 会话中,粘贴图片后告诉 Claude 图片的本地路径,Claude 会执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/path/to/vision-tool/vision-tool.exe -q --no-think "/path/to/your/image.png"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Claude 拿到模型返回的文本描述后,即可基于此进行 UI 分析、代码生成或内容提取。
|
||||||
|
|
||||||
|
**权限提示**:可在 Claude Code 配置中允许该命令,或直接执行(首次会询问权限)。
|
||||||
|
|
||||||
|
## 🧩 MCP Server(可选)
|
||||||
|
|
||||||
|
`mcp-server/` 提供 MCP(Model Context Protocol)服务,可注册到支持 MCP 的客户端:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd mcp-server
|
||||||
|
npm install
|
||||||
|
node server.js # stdio 传输,由 MCP 客户端拉起
|
||||||
|
```
|
||||||
|
|
||||||
|
环境变量:`AGNES_API_KEY` / `VISION_MODEL` / `VISION_BASE_URL`。
|
||||||
|
|
||||||
|
## ⚙️ 配置优先级
|
||||||
|
|
||||||
|
`命令行参数 > 环境变量(AGNES_API_KEY)> 配置文件(config.json)> 内置默认`
|
||||||
|
|
||||||
|
config.json 结构:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"api_key": "sk-...",
|
||||||
|
"model": "agnes-2.0-flash",
|
||||||
|
"base_url": "https://apihub.agnes-ai.com/v1/chat/completions",
|
||||||
|
"provider": "agnes"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🧱 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
vision-tool/
|
||||||
|
├── main.go # CLI 入口(参数解析/调用编排)
|
||||||
|
├── vision.go # 视觉 API 客户端(请求构建/重试/多图)
|
||||||
|
├── config.go # 配置加载(多源优先级/供应商预设)
|
||||||
|
├── mcp-server/ # MCP 服务(server.js + package.json)
|
||||||
|
└── go.mod # Go 1.25 module
|
||||||
|
```
|
||||||
|
|
||||||
|
## ⚠️ 注意事项
|
||||||
|
|
||||||
|
- 支持图片格式:PNG / JPEG / GIF / WebP / BMP
|
||||||
|
- Windows Git Bash 下经 curl 传中文请用 `--data-binary @file.json`(避免编码损坏)
|
||||||
|
- 图片过大时建议先压缩(降低延迟与体积)
|
||||||
|
- API Key 为内置默认值,若需更换:`--apikey` 或 `--save-config`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Made with ❤️ — 推理模型专心推理,图片理解交给免费小模型。
|
||||||
Reference in New Issue
Block a user