plugins/tools/cortex/skills/cortex-image-understand/SKILL.md
图理解 — 调多 provider VLM (zhipu glm-4v / openai gpt-4o / qwen-vl) 完成图片描述、视觉问答、OCR、结构化抽取。从 vault/.cortex/config/image-understand.yaml 选 provider。Triggers on "看图", "识图", "图理解", "VQA", "vision", "describe image", "看看这张图", "图里写了什么", "提取图中文字", "OCR", "/cortex:understand".
npx skillsauth add lazygophers/ccplugin cortex-image-understandInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
把图片喂给 VLM 拿到文本结果。与 cortex-image (文生图) 对称, OpenAI 兼容 chat completions vision 格式, 走多 provider 配置驱动。
优先 CLI: bash ~/.cortex/scripts/image_understand.sh <subcommand> ...
describe <image> [--config NAME] [--prompt TEXT] — 通用描述ask <image> "<question>" [--config NAME] — 视觉问答extract <image> --schema <path> [--config NAME] — 按 JSON schema 抽字段probe [--config NAME] [--all] — 健康检查list [--all] — 列已配 provider<image> 输入支持: 本地路径 (自动 base64 编码) 或 http(s):// URL
输出 JSON: {ok, text, provider, model, usage, key_source} (extract 额外含 data + raw_text)
extract 模式 + schema 文件不触发: 纯文本任务 / 文生图 (走 cortex-image) / 图像编辑生成 (本 skill 仅读不画)
1. 解析输入 user 给的是路径 / URL / 屏幕截图 / 多张?
↓
2. 选模式 通用描述 → describe
带问题 → ask
要结构化 → extract (须有 schema 文件)
纯 OCR → ask "把图中所有文字按原始版式输出, 用 markdown"
↓
3. 选 provider 用户指定 ? --config : 默认 (default_provider 或第一个 active)
详见 references/providers.md
↓
4. 调 image_understand.sh
↓
5. 接 JSON 验 ok=true; extract 额外验 data 非空
↓
6. 反馈给用户 文字结果直接展示; 结构化结果格式化为 table / yaml
| name | endpoint | model | 适合 | |---|---|---|---| | zhipu-glm4v | bigmodel.cn/api/paas/v4 | glm-4v-plus | 中文场景, 默认推荐 | | zhipu-glm45v | 同上 | glm-4.5v | 更强推理, 复杂图 | | openai-gpt4o | api.openai.com/v1 | gpt-4o-mini | 英文 / 通用 | | qwen-vl | dashscope.aliyuncs.com/compatible-mode/v1 | qwen-vl-plus | 中文 + 长图 |
完整配置模板见 references/providers.md。
--schema <path> 接一个 schema 文件 (非内联字符串), 内容通常是 JSON Schema 或简化 shape:
{
"title": "string",
"date": "YYYY-MM-DD",
"amount": "number",
"items": [{"name": "string", "qty": "integer"}]
}
模型按此结构输出纯 JSON, CLI 后处理剥 ```json 围栏 + json.loads 校验。
defaults.default_provider 或第一个 activeprobe → 选下一个 active provider 重跑 1 次成功 (describe / ask):
✓ 图理解完成
provider: zhipu-glm4v (glm-4v-plus)
usage: prompt=512 completion=180
<text 直接展示>
成功 (extract):
✓ 结构化抽取完成 (provider: zhipu-glm4v)
{
"title": "...",
...
}
失败: 输出 stderr error JSON + 建议 bash ~/.cortex/scripts/image_understand.sh probe 排查。
| 文件 | 内容 | |---|---| | references/providers.md | 4 provider 配置模板 + endpoint / model / 鉴权 / extra_body 字段 | | references/prompts.md | describe / OCR / VQA / 表格识别 / 海报抽取 prompt 模板 | | references/modes.md | 4 模式 (describe/ask/extract/OCR) 决策表 + 何时用哪个 |
tools
--- name: trellisx-workspace description: 维护 `.trellis/task.md` 任务看板 —— trellis 缺的跨任务总览。**一个表格, 一行一个任务**, 列为 id/名称/描述/状态/阶段/进度/worktree (状态/阶段中文显示)。在 task create/start/阶段切换/archive 后**及时更新**对应行; 并**自动清理超 7 天的已完成行**防膨胀。保持看板与 task.json 实时一致。 when_to_use: 维护 / 创建 / 更新 `.trellis/task.md` 任务看板时; task 生命周期任一节点 (create/start/阶段推进/archive) 之后同步看板时; 用户问"当前有哪些任务 / 任务进度 / 任务看板"时。被 trellisx-flow 与 trellisx-apply 注入的流程引用。 user-invocable: true argument-hint: [show|update|sync|cleanup ...] [task id] arguments:
testing
强制以 Trellis task 闭环处理用户指定的请求 (自判新建/并入 → plan→exec→check→finish 全程不跳步)。**仅用户显式主动调用** (/trellisx-flow 或明确要求"强制走 task 处理这个"); **禁止自动 / 被动 / 推断式调用** —— 不要因为某个请求"看起来该建 task"就自动触发本 skill, 那是 apply 注入的 no_task 倾向的职责。
testing
把 强推task + subtask拆分 + worktree隔离 + 闭环收尾 四维度增量注入当前项目 .trellis/ (workflow.md 的 no_task/planning/in_progress 块 + spec 背书文档 + trellis 生命周期 hook worktree 自动化)。强推 task 与闭环为纯 prompt 软约束 (非平台 hook 硬拦截)。**纯增量追加, 绝不替换 trellis 原生文本** (no_task 分类+征同意/check/finish/前缀全保留)。幂等 (marker 包裹)。
development
Claude Code 会话历史整理 — 扫 ~/.claude/projects/**/*.jsonl 全部 session transcripts, 提取学习增量 (用户校正/决策/踩坑/L0 规则) → 全局记忆库 ~/.cortex/.wiki/memory/. 默认 --apply 落盘 (--dry-run opt-in 仅出 JSON plan 预览). 与 cortex-extract (L4-inbox 内部) 互补.