Initial commit: skills library

- 70 skills with code and documentation
- Add .gitignore (ignore __pycache__, output/, temp/, venv/)
- Clean up test intermediates and caches
This commit is contained in:
hmo
2026-04-26 19:27:40 +08:00
commit 04db423416
861 changed files with 210414 additions and 0 deletions
+145
View File
@@ -0,0 +1,145 @@
---
name: vision-analyze
description: 标准化视觉分析脚本。使用火山方舟doubao-seed-code模型,支持图片OCR和内容识别。可处理单张图片、图片型PDF转文字分析。
---
# Vision Analyze 技能
## 概述
本技能提供**标准化图片/视觉内容分析**功能,基于火山方舟doubao-seed-code模型。
## 核心能力
-**图片OCR识别**:识别图片中的所有文字
-**内容分析**:图片内容描述、图表解读
-**PDF转文字**:图片型PDF可通过PyMuPDF转图片后分析
-**中文支持**:完美支持中文识别
-**本地处理**:无需云端上传,直接本地调用API
## API配置
- **API**: 火山方舟 Coding Plan
- **模型**: doubao-seed-code (唯一支持的视觉模型)
- **API Key**: 读取环境变量 `VOLCENGINE_API_KEY`
## 脚本位置
```
D:\F\NewI\opencode\daily-workspace\.opencode\skills\vision-analyze.py
```
## 使用方法
### 命令行使用
```bash
# 基本用法
python vision-analyze.py <图片路径> "<提示词>"
# 示例:识别图片文字
python vision-analyze.py image.png "请识别这张图片中的所有文字内容"
# 示例:分析PDF页面(需先转图片)
python vision-analyze.py page_001.png "请完整转录这段文字"
```
### Python调用
```python
from vision_analyze import analyze_image
# 分析图片
result = analyze_image(
"image.png",
"请识别这张图片中的所有文字内容"
)
print(result)
```
## PDF处理工作流
对于图片型PDF,需要分两步处理:
### 步骤1PDF转图片(PyMuPDF
```python
import fitz # PyMuPDF
# PDF转图片
doc = fitz.open("document.pdf")
for i, page in enumerate(doc):
pix = page.get_pixmap(matrix=fitz.Matrix(2, 2)) # 2x缩放
pix.save(f"page_{i+1:03d}.png")
doc.close()
```
### 步骤2:图片分析
```python
# 逐页分析
for i in range(1, len(doc) + 1):
img_path = f"page_{i:03d}.png"
text = analyze_image(img_path, "请完整转录这段文字")
# 保存结果
```
## 完整脚本示例
处理27页PDF的脚本:
```python
#!/usr/bin/env python3
import sys
import fitz # PyMuPDF
import os
def pdf_to_images(pdf_path, output_dir):
"""PDF转图片"""
doc = fitz.open(pdf_path)
os.makedirs(output_dir, exist_ok=True)
image_paths = []
for i, page in enumerate(doc):
pix = page.get_pixmap(matrix=fitz.Matrix(2, 2))
img_path = os.path.join(output_dir, f"page_{i+1:03d}.png")
pix.save(img_path)
image_paths.append(img_path)
doc.close()
return image_paths
# 使用vision_analyze的analyze_image函数
from vision_analyze import analyze_image
pdf_path = "document.pdf"
output_dir = "pdf_images"
# 转图片
image_paths = pdf_to_images(pdf_path, output_dir)
# 分析
for i, img_path in enumerate(image_paths):
text = analyze_image(img_path, "请识别这张图片中的所有文字内容")
print(f"=== 第{i+1}页 ===")
print(text)
```
## 常见问题
### Q: 分析结果乱码怎么办?
A: 保存文件时使用UTF-8编码:
```python
with open("output.txt", 'w', encoding='utf-8') as f:
f.write(text)
```
### Q: API调用失败怎么办?
A: 检查API Key是否有效,或网络连接是否正常
### Q: PDF页数很多,分析超时怎么办?
A: 分批处理,每批10-15页,保存中间结果
## 注意事项
- ✅ 使用 `vision-analyze.py`** 脚本
- ✅ 使用火山方舟API,稳定可靠
- ⚠️ 响应时间较长 (20-60秒),建议耐心等待