[FR]: Testing agent should handle AppFunctionUriGrant results and pass returned images to the model
还没有人认领这个 Issue。
评估
调研方向
Start with AgentOrchestrator.handleLlmResponse around line 301 and trace how function results are converted into chat content; compare the existing imageUri handling with AppFunctionUriGrant. Then inspect GeminiProviderImpl to see how the next model turn is built. Done means granted image URIs reach Gemini as image input and the returned image is handled in chat as described.
由索引模型根据 Issue 内容生成。
描述
Description
A function can return an image the standard way, as an AppFunctionUriGrant (a content URI plus FLAG_GRANT_READ_URI_PERMISSION). The Testing Agent doesn't recognize this:
- Not shown:
AgentOrchestrator.handleLlmResponse(around line 301) only picks up images from a result field namedimageUri, the agent's own convention fromgenerateImage(see #12). A standardAppFunctionUriGrantresult is passed to the model as plain text, and no image appears in the chat. - Not seen by the model: even with
imageUri, the image is only attached to the chat message for the user.GeminiProviderImplnever sends image content to the model, so a function's returned image never reaches the LLM.
Why it matters
Visual apps rely on returning renders so the agent can check its own work. For example, a design app can expose renderDesign(): AppFunctionUriGrant and instruct the agent to render after changes and correct what it sees. With the Testing Agent, the model works blind, so this loop can't be tested at all, even though it is exactly the kind of flow a system agent would need to support.
Suggested behavior
- Recognize
AppFunctionUriGrant(or any result whose URI points to animage/*type) as an image result, alongside theimageUriconvention. - Read it through the granted permission and attach it to the next model turn as image input (Gemini
inline_data), so the model can see it. - Optionally show it inline in the chat, as #12 did for
imageUri.
Environment
- Testing Agent at a3a2a89 (main, Oct 23, 2026)
- androidx.appfunctions 1.0.0-beta01
- Android 17 (API 37) emulator
Related: #12 (inline image URIs in the chat), #62.
- 主要语言
- Kotlin
- 星标
- 210
- 派生
- 45
- 平均合并
- 12 小时 24 分钟
- 30 天内合并 PR
- 3
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
android/appfunctions 的其他 Issue
-
documentation
难度 1/5 1 小时以内 新手友好度 90/100
android/appfunctions#66 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
android/appfunctions#62 ·
-
难度 4/5 1-2 天 新手友好度 55/100
android/appfunctions#64 ·
-
Clarify production invocation, Android Auto support, and Android 16 fallback in AppFunctions docs未关闭
难度 4/5 3-5 天 新手友好度 52/100
android/appfunctions#51 ·
-
难度 4/5 3-5 天 新手友好度 48/100
android/appfunctions#50 · 1 条评论 ·
查看 android/appfunctions 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 90/100
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 4 天内回复
-
[Request] 多闪未关闭request-adaption
难度 1/5 1 小时以内 新手友好度 75/100
BetterAndroid/android-notification-icon-project#814 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
-
bug
难度 2/5 1-3 小时 新手友好度 77/100
yunfie-twitter/Palleria#474 ·
维护者通常 1 天内回复