helper 配置 pi 时第三方 Plan 模型缺少 input/contextWindow 元数据,导致多模态模型被宿主按纯文本处理
まだ誰も着手していません。
評価
調査の方向性
arkcli helper configure pi から開始し、~/.pi/agent/models.json に書き込む ArkModels LookupModelMeta → enrichModelMeta パイプラインを追跡します。providers.agent-plan.models が lookup の失敗をどのように処理するかを調べ、arkcli models search の結果と比較します。第三者の Plan エントリに利用可能な input、contextWindow、maxTokens のメタデータが含まれ、能力が不明なままの場合には明確な通知が表示されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
环境
- arkcli: 1.0.33
- 目标 harness: pi-coding-agent 0.86.0(
@earendil-works/pi-coding-agent,macOS) - 配置命令:
arkcli helper configure pi(Agent Plan profile)
问题描述
arkcli helper configure pi 写入 ~/.pi/agent/models.json 时,只有豆包(doubao-seed-*)系列模型被补全了模型元数据(input / contextWindow / maxTokens),第三方 Plan 模型(GLM / Kimi / DeepSeek / MiniMax)的条目只有光秃秃的 {"id": "..."}。
pi 对 models.json 里未声明 input 字段的自定义模型默认按 ["text"] 处理(见 pi 官方文档 models.md,input 缺省为 text-only),结果就是:GLM-5.3-Flash、DeepSeek-V4-1-Flash、Kimi-K3、MiniMax-M3 这些原生多模态模型,在 pi 里全部无法读图——pi 的 read 工具遇到图片直接丢弃并提示:
[Current model does not support images. The image will be omitted from this request.]
复现步骤
arkcli helper configure pi,选择 Agent Plan profile 完成配置- 打开
~/.pi/agent/models.json,观察providers.agent-plan.models数组 - 对比 doubao 与非 doubao 条目:
// doubao 系列正常:
{ "contextWindow": 262144, "id": "doubao-seed-2-1-turbo-260628", "input": ["text","image"], "maxTokens": 256000 }
// 第三方模型缺少全部元数据:
{ "id": "glm-5-3-flash" },
{ "id": "kimi-k3" },
{ "id": "deepseek-v4-1-flash" },
{ "id": "minimax-m3" }
- 在 pi 中切换到
glm-5-3-flash,让它读取一张本地图片 → 图片被丢弃,报 "does not support images"
根因分析
helper 文档提到模型元数据走 ArkModels LookupModelMeta → enrichModelMeta 管道,「查询失败时扩展字段保持未知并省略」。实测发现两个问题:
- 控制面模型索引查不到第三方模型:
arkcli models search kimi/search minimax返回{"items": []},search glm也搜不到glm-5.3,于是 enrich 被跳过; - 但部分模型明明有权威数据却没被用上:例如
arkcli models search glm-5-3-flash能查到完整模态信息——
{
"name": "glm-5-3-flash",
"input_modalities": ["text", "image", "video"],
"context_window": 1048576,
"max_completion_tokens": 131072
}
deepseek-v4-1-flash 同样能查到 input_modalities: ["text","image","video"],但写入 pi 配置时这些字段全部丢失。
实际影响
- 多模态模型在 pi 中退化为纯文本,图片输入被静默禁用;
contextWindow缺省时 pi 按 128K 处理、maxTokens按 16K 处理,远低于这些模型实际支持的 1M 上下文,长上下文场景会被提前截断。
建议修复
- helper 写 pi 的 models.json 时,对控制面索引查不到的第三方 Plan 模型提供元数据回退来源(如 Plan 侧模型清单、或内置一份 Plan 模型能力表),至少把
input_modalities → input、context_window → contextWindow、max_completion_tokens → maxTokens映射写全; - 对确实无法获知模态的模型,在
helper configure完成输出中提示用户:pi 侧未声明input的模型将按纯文本处理,多模态模型需手动在 models.json 中补"input": ["text", "image"]。
当前 Workaround
手动在 ~/.pi/agent/models.json 的对应模型条目补上(已验证 GLM-5.3-Flash 补配置后可正常读图):
{
"id": "glm-5-3-flash",
"input": ["text", "image"],
"contextWindow": 1048576,
"maxTokens": 131072
}
- 主要言語
- Go
- スター
- 139
- フォーク
- 15
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
volcengine/ark-cli のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
volcengine/ark-cli#27 ·
-
[BUG] Responses API:tools 含 web_search 声明时,deepseek 将 function_call_output 误读为用户消息,多轮工具对话可形成死循环オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
volcengine/ark-cli#26 · コメント 6 件 ·
-
[UX] postinstall silently injects 25 arkcli skills into every detected AI agent — should be opt-inオープン
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
volcengine/ark-cli#24 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
volcengine/ark-cli#16 · コメント 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
volcengine/ark-cli#15 · コメント 1 件 ·
volcengine/ark-cli の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
duplication
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
openvibely/openvibely#1443 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
canonical/service-mesh#845 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
keyxmakerx/Chronicle#1179 ·
メンテナーはふだん 1 日以内に返信