Skip to content

feat: support attachments in ChatGPT browser conversations - #18

Open
lalalic wants to merge 1 commit into
alexanderradahl:mainfrom
lalalic:feat/chatgpt-conversation-attachments
Open

lalalic wants to merge 1 commit into
alexanderradahl:mainfrom
lalalic:feat/chatgpt-conversation-attachments

Conversation

@lalalic

@lalalic lalalic commented Sep 16, 2026

Copy link
Copy Markdown

Summary

Extend chatgpt_conversation_start so callers can send HTTPS-backed files through the signed-in ChatGPT browser runtime and receive persisted assistant-generated files/images as structured outputs.

Input

chatgpt_conversation_start accepts up to four attachments with url, name, optional mime_type, and optional declared size. The Chrome extension fetches the HTTPS source, stages bounded bytes in memory, mounts them through ChatGPT's native composer file input, and submits through the existing first-party submitComposer runtime path.

Output

After completion, persisted assistant content is inspected for downloadable files/images. Returned artifacts are exposed as assistant_outputs entries containing type, name, MIME type, size, and base64 bytes. ChatGPT document-card downloads are resolved through the signed-in page without exposing browser credentials.

Safety / bounds

  • HTTPS source URLs only
  • maximum 4 inputs
  • bounded per-file and aggregate staging sizes
  • output byte bounds
  • existing ChatGPT credential/proof-field rejection remains unchanged
  • no API keys or browser credentials leave ChatGPT

Validation

  • npm run check
  • node tests/chatgpt-runtime.mjs
  • node tests/chrome-background.mjs
  • live signed-in browser validation with an image attachment and a generated text-file output

The feature is transport- and application-agnostic; it is not tied to any specific caller or file host.

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.

1 participant