Attachments¶
What it is¶
Attachments let dashboard and Telegram users send files or images through the daemon. The receiving message includes structured attachment metadata plus a local file path fallback the target agent can read with its normal tools.
When to use it¶
Use attachments when a human wants an agent to inspect a screenshot, image, document, log bundle, or other short-lived file without manually copying it into the target workspace.
Use normal text asks when the context is small enough to paste directly. Slack currently routes text control messages only; it does not relay files.
Setup¶
No separate attachment service is required. Start the daemon and use a surface that supports uploads:
- Dashboard compose bar.
- Telegram photos and documents.
- Relay-hosted dashboard uploads, tunneled back to the local daemon.
Files are stored under ~/.repowire/attachments/.
Common workflows¶
- Upload a file through the dashboard compose bar or send a Telegram photo/document.
- Repowire stores the attachment in the local attachment directory.
- The outgoing ask or notify carries attachment metadata and a text fallback with the local path.
- Ask the target agent to inspect that path with its normal file-reading or image-reading tool.
When Repowire sends a message with attachment metadata back to Telegram, the bot sends local image files as photos and other local files as documents when it can access the daemon-local path. If the file is not local to the bot, it falls back to a download link.
Commands and API¶
POST /attachmentsuploads a file to the daemon.GET /attachments/{id}downloads a retained attachment.- Dashboard and Telegram call those routes for you.
Attachment metadata is carried with asks, notifications, and dashboard events; agents usually interact with the local path in the message body.
Limits¶
- Uploads are limited to 10 MB.
- Attachments are retained for 24 hours.
- Repowire passes paths to agents; it does not force a runtime to inspect the file.
- Slack file relay is not part of the current Slack surface.
- Through the hosted relay, upload payloads tunnel back to the local daemon before the target agent sees the path.
Troubleshooting¶
- Uploads fail from the remote dashboard: confirm relay access is connected and the local daemon is reachable.
- Telegram photos do not reach the agent: confirm the Telegram bot can reach the daemon and
/attachmentsis not blocked by a proxy. - The target agent cannot read the path: confirm the agent runs on the same machine or filesystem where the daemon stored the attachment.