docs: describe image input across the three surfaces

`doc/images.md` holds the message shape, how `@path` attaches a file, the
per-surface mapping, the provider limits, what a live probe against DeepSeek
confirmed (`tool_result` and `function_call_output` images work, `detail: low`
is 3.4x cheaper, an assistant-message image is a 400), and why the Files API is
not used.

AGENTS.md gets the invariants and the mention/config keys; `doc/architecture.md`
and the example TOML point at it.
This commit is contained in:
2026-10-21 18:52:14 +08:00
parent 154509b929
commit 029ac47350
4 changed files with 121 additions and 6 deletions
+6 -2
View File
@@ -124,7 +124,9 @@ access_key_or_token = "sk-replace-me"
# timeout = { connect = 10, read = 600 }
[providers.openai_compat.models]
"gpt-4o-mini" = { text = true, cost_factor = 1.0 }
# ``image_in`` is the opt-in for a model that reads pictures (JPEG, PNG, GIF,
# WebP); an ``@image`` mention is skipped without it. See doc/images.md.
"gpt-4o-mini" = { text = true, image_in = true, cost_factor = 1.0 }
# --- OpenAI platform (Responses API; tag is "openai") ---
# If ``preset`` is omitted, it defaults to "openai".
@@ -202,5 +204,7 @@ access_key_or_token = "sk-replace-me"
# search_sources = ["deepseek"]
#
# [providers.deepseek.models]
# "deepseek-flash" = { text = true, convention = "responses" }
# Defaults: "deepseek-flash" takes pictures (image_in = true), "deepseek-v4-pro"
# is text-only.
# "deepseek-flash" = { text = true, image_in = true, convention = "responses" }
# "deepseek-v4-pro" = { text = true, reasoning_effort = "max" }