Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

helper 配置 pi 时第三方 Plan 模型缺少 input/contextWindow 元数据,导致多模态模型被宿主按纯文本处理

クローズ
#25 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
go
領域
ai, cli

調査の方向性

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.]

复现步骤

  1. arkcli helper configure pi,选择 Agent Plan profile 完成配置
  2. 打开 ~/.pi/agent/models.json,观察 providers.agent-plan.models 数组
  3. 对比 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" }
  1. 在 pi 中切换到 glm-5-3-flash,让它读取一张本地图片 → 图片被丢弃,报 "does not support images"

根因分析

helper 文档提到模型元数据走 ArkModels LookupModelMeta → enrichModelMeta 管道,「查询失败时扩展字段保持未知并省略」。实测发现两个问题:

  1. 控制面模型索引查不到第三方模型:arkcli models search kimi / search minimax 返回 {"items": []},search glm 也搜不到 glm-5.3,于是 enrich 被跳过;
  2. 但部分模型明明有权威数据却没被用上:例如 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 上下文,长上下文场景会被提前截断。

建议修复

  1. helper 写 pi 的 models.json 时,对控制面索引查不到的第三方 Plan 模型提供元数据回退来源(如 Plan 侧模型清单、或内置一份 Plan 模型能力表),至少把 input_modalities → input、context_window → contextWindow、max_completion_tokens → maxTokens 映射写全;
  2. 对确实无法获知模态的模型,在 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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

volcengine/ark-cli のほかの issue

volcengine/ark-cli の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。