feat: Per-Message File Uploads with Delete Option #6002

Closed
opened 2025-11-11 16:42:00 -06:00 by GiteaMirror · 0 comments
Owner

Originally created by @sebslight on GitHub (Aug 9, 2025).

Check Existing Issues

  • I have searched the existing issues and discussions.

Problem Description

Current flow pushes extracted file content into a global system message, which increases, makes scope control hard, and confuses LLMs when comparing files.

Desired Solution you'd like

Per-message attachment: Files live on a specific message turn.

User routing control:

  • Attach to current message only.
  • Add to system instructions (keeps current option).

File management:

  • View attachments on each message.
  • Delete an attachment from a message.
  • Editing a message allows to replace / remove attachemen

Use Cases

  • Document analysis in one turn without polluting global instructions.
  • Comparing files across separate turns.
  • Temporary uploads for quick questions that can be deleted cleanly.
  • Tight control of which content the model can see at each step.

Alternatives Considered

No response

Additional Context

Example request payload

{
  "message": {
    "id": "m_123",
    "text": "Compare these two PDFs",
    "files": [
      { "temp_upload_id": "u_a1.pdf" },
      { "temp_upload_id": "u_b2.pdf" }
    ],
    "routing": "message"
  }
}
Originally created by @sebslight on GitHub (Aug 9, 2025). ### Check Existing Issues - [x] I have searched the existing issues and discussions. ### Problem Description Current flow pushes extracted file content into a global system message, which increases, makes scope control hard, and confuses LLMs when comparing files. ### Desired Solution you'd like Per-message attachment: Files live on a specific message turn. **User routing control:** - Attach to current message only. - Add to system instructions (keeps current option). **File management:** - View attachments on each message. - Delete an attachment from a message. - Editing a message allows to replace / remove attachemen ### Use Cases - Document analysis in one turn without polluting global instructions. - Comparing files across separate turns. - Temporary uploads for quick questions that can be deleted cleanly. - Tight control of which content the model can see at each step. ### Alternatives Considered _No response_ ### Additional Context Example request payload ```json { "message": { "id": "m_123", "text": "Compare these two PDFs", "files": [ { "temp_upload_id": "u_a1.pdf" }, { "temp_upload_id": "u_b2.pdf" } ], "routing": "message" } } ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#6002