用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/axoviq-ai/synthadoc --skill image命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | image |
| version | 1.0 |
| description | Extract text from images using a vision LLM |
| entry | {"script":"scripts/main.py","class":"ImageSkill"} |
| triggers | {"extensions":[".png",".jpg",".jpeg",".webp",".gif",".tiff"],"intents":["image","screenshot","diagram","photo"]} |
| requires | [] |
| author | axoviq.com |
| license | AGPL-3.0-or-later |
Base64-encodes the image and passes it to a vision-capable LLM that extracts
all text and key information. Returns the LLM's response as result.text.
No pip dependency — the skill uses only the Python standard library plus a
LLM provider you supply at construction time. The provider can be any object
that implements the complete() interface (see below).
import asyncio
from synthadoc.skills.image.scripts.main import ImageSkill
# ImageSkill REQUIRES a vision-capable provider — calling extract() without
# one raises ValueError immediately.
skill = ImageSkill(provider=my_provider)
async def main():
result = await skill.extract("/path/to/screenshot.png")
print(result.text) # extracted text from the image
print(result.metadata) # {"tokens_input": N, "tokens_output": N}
asyncio.run(main())
Provider interface — any object with this async method:
async def complete(
messages: list, # list of Message objects from synthadoc.skills.base
system: str | None = None,
temperature: float = 0.0,
max_tokens: int = 4096,
) -> object # must have .text (str), .input_tokens (int), .output_tokens (int)
Build the provider with any vision-capable model. Message is importable
from synthadoc.skills.base — no dependency on synthadoc.providers:
from synthadoc.skills.base import Message
Supported image formats: .png, .jpg/.jpeg, .webp, .gif, .tiff
.png, .jpg, .jpeg, .webp, .gif, or .tiffimage, screenshot, diagram, photo