Skip to content

feat(images): add subscription image generation and compact previews - #3554

Merged
kev1n77 merged 3 commits into
GCWing:mainfrom
kev1n77:fmy/imagegen
Oct 26, 2026
Merged

kev1n77 merged 3 commits into
GCWing:mainfrom
kev1n77:fmy/imagegen

Conversation

@kev1n77

@kev1n77 kev1n77 commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Add the native generate_image tool with OpenAI Images, DashScope, and imported Codex/ChatGPT subscription routing, including subscription account identity and system proxy handling.
  • Integrate image models into “Add or import models” and the default-model picker. Group reusable sources by provider, reject duplicate configurations, and automatically select the first available default.
  • Bundle an English generate-image skill that uses the configured default image service. Simplify the configuration form and render conversation images as compact, responsive thumbnail galleries with full-size previews.

Type and Areas

Type: Feature, bug fix, UI/UX.

Areas: AI adapters, Rust core/runtime, configuration contracts, desktop commands, shared Web UI.

Motivation / Impact

Imported OpenAI subscriptions need their authenticated Codex route rather than the public image-generation endpoint. Users can reuse configured providers, choose a default image model, and generate images without maintaining a second set of generation defaults. Large generated images no longer dominate the conversation.

Verification

  • Linux frontend CI passed all 12,205 tests across 1,082 files, production Web UI and mobile builds, and the remaining frontend validation steps.
  • Search/settings integration fixtures passed (38 tests); pnpm run i18n:audit passed with zero warnings; local pnpm run build:web passed.
  • pnpm run check:web — passed, including type checking, Appearance, color, and visual contract gates.
  • Focused image configuration, Markdown rendering, and FlowTextBlock tests — 108 passed.
  • AI adapter image-generation tests — 19 passed; one opt-in live probe ignored.
  • Core image-generation routing tests — 13 passed.
  • Runtime skill policy/selection tests — 13 passed; embedded skill catalog tests — 2 passed.
  • Skill frontmatter validation passed; motion audit completed.
  • pnpm run capabilities:check passed; pnpm run capabilities:test passed all 16 capability and generated-artifact contracts.
  • Focused Rust output-schema and image-tool contracts passed (9 tests); remote-surface contracts passed (20 tests); the shared capability search acceptance corpus passed.
  • pnpm run check:core-boundaries passed in an isolated checkout matching the amended commit; all 156 boundary tests passed.
  • Independent tools-image-generation and tools-image-analysis Core checks and materialization tests passed; generation routing tests passed (13), tool-pack tests passed (12), product assembly contracts passed (34), and system-proxy tests passed (7).
  • pnpm run lint:web passed with zero errors and 14 existing warnings.
  • Earlier native Desktop validation successfully generated one image through an imported subscription and confirmed duplicate imports were blocked.

Full frontend-suite verification comes from Linux CI. The local Windows run also reproduces an overview-dialog timeout on unchanged HEAD; its code was left outside this change. The final thumbnail/configuration changes have DOM/static coverage; their native visual rendering and live SSH workspace, Remote Control, Peer Device, and Detached Dispatch behavior have not been validated.

Reviewer Notes

Image generation has its own tools-image-generation compile-time owner and tool feature group. Image inspection retains the narrow tools-image-analysis owner. Desktop/full product, CLI, ACP, and SDK Host explicitly select generation; existing provider IDs and registration order are preserved. System-proxy discovery has an exact registry-only Windows dependency contract.

Existing persisted image-service settings, hidden generation parameters, custom endpoints, and authentication identities are preserved. Subscription account pools return an explicit unsupported state. Session-owned image reads stay with the session provider; no controller-local file fallback is introduced.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@kev1n77
kev1n77 force-pushed the fmy/imagegen branch 2 times, most recently from 88a4637 to 5180e77 Compare October 26, 2026 11:19
@kev1n77
kev1n77 merged commit edea1ec into GCWing:main Oct 26, 2026
14 checks passed
@kev1n77 kev1n77 linked an issue Oct 27, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

codex 的生图能力怎么配置

1 participant