maestrly.

Artifacts

An artifact is a web page an agent publishes for you, such as a prototype, a report, or a dashboard. Every change creates a new version, and earlier versions are kept. Artifacts live on your bot server, open in an isolated frame, and stay private until you share them.

Ask for an artifact

Agents publish with the Maestrly tools. Maestrly tools and their Artifacts group are on by default; if an agent says it cannot publish, turn on Maestrly tools in the conversation's tool picker. Then ask for a page worth viewing in a browser and say to publish it as an artifact.

While you have no artifacts, the Artifacts center suggests a few requests. Choosing one opens a new standalone conversation with the request in the message box, ready to edit and send.

Each publication shows a card in the chat with its title and version. Open shows the page in the conversation's browser drawer.

  • Reading and listing artifacts never ask for permission. Publishing, updating, opening, replying to comments, and resolving them follow the conversation's permission mode.
  • An agent reaches only the artifacts of its own project, or of its own conversation when the conversation is standalone.
  • Agents cannot delete or share artifacts.
  • Bots publish only when Publish artifacts is on in the bot's settings, and work only with their own artifacts.

Host artifacts on a bot server

Since version 0.14.0, artifacts are hosted only on a paired bot server; this computer no longer hosts them. Without a server, agents ask you to connect one instead of publishing, and nothing is published on this computer.

Configure hosting in Settings → Artifacts:

  • No server yet: set one up On this computer, with Docker, or On a server (VPS) that stays on. The setup starts with Artifacts only chosen, so it downloads just the gateway image; the bot runtime downloads when you create your first bot. Choose I already have a server configured to pair with an existing one.
  • Server connected: the page shows its state and how many artifacts it holds. Host artifacts on the bot server turns hosting on or off. A fresh setup turns it on; servers upgraded from earlier versions start with it off. Turning it off stops publishing and viewing but keeps stored data.
  • Other settings: Public address for sharing, Your name as shown to the people you share with, Default link expiry, and the storage Limit (2 GB by default).

Pages stay available while the server runs. A server on a VPS keeps them online while your computer is off; a server on this computer takes them offline when it sleeps or shuts down.

A version holds up to 500 files, 10 MiB per file and 50 MiB in total, and an artifact keeps up to 200 versions. New versions fail above the storage limit, and the Artifacts center warns from 90% of it.

Artifacts from earlier versions

Before 0.14.0, artifacts were hosted on this computer. After upgrading they stay there untouched, but they no longer open or receive new versions. Settings → Artifacts lists them with their size, and the Artifacts center reminds you while any remain. Choose one of:

  • Move to the server: copies each artifact with its ID, versions, comments, and previews, so cards in earlier conversations and agents keep reaching it. Each one leaves this computer only after its copy on the server is checked. Shared artifacts become private and the links you sent stop working; share them again from the Artifacts center. If the move fails or the app closes, what is left stays on this computer, and moving again picks up from there.
  • Delete from this computer: deletes them with every version and comment. This cannot be undone and does not change what is on the server.

Moving needs a reachable bot server that hosts artifacts. Until then, you can still delete them.

Browse the Artifacts center

Open Artifacts in the sidebar. Each artifact appears as a card with a preview of its page; sheets stacked behind a preview mean earlier versions exist. A card names the project and the conversation it came from, or "Deleted conversation", and when it was last updated. Cards published by a bot name it; those from another paired device show Other computer.

  • Search by title or description, filter by project, and sort by Recently updated, Recently created, Title (A–Z), or Most storage.
  • Select a card to see its details: origin, storage used, access, comments, and every version, each of which opens in your browser.
  • From a card or its details, Go to the conversation, Share…, or Delete….

The center shows the server's state next to its title. When the server is missing, unreachable, too old, or has hosting off, the center says so and offers the fix. Nothing is deleted in those cases.

Deleting a conversation keeps its artifacts. Deleting an artifact removes all of its versions, and its links stop working.

Use the viewer

The viewer's top bar holds:

  • Version: step to the previous or next version, or pick one from a list that shows each version's summary and open comments. On an earlier version, a notice offers Go to the current version.
  • Page width: Full width, tablet (820 px), or phone (390 px).
  • Comment and, beside it, the list of comments.
  • Share, for you only: who can open the page. You change that in Maestrly, not in the viewer.
  • ⋯: Reload the page, Full screen, and Copy the link to this version.
  • Your avatar: who you are on the page, and Leave on this device, which ends this browser's session.

Share an artifact

Choose Share… on a card's menu or Share in its details, then choose who can open it:

Who can openWhat it means
PrivateOnly you, through Maestrly. Every artifact starts private.
People you inviteEach person opens it with a personal link, or asks for access and waits for your approval.
Anyone with the linkWhoever has the link opens it as a guest until the link expires. Invited people keep their access.

Give the server a public address

Sharing needs a Public address that you provide. Maestrly does not install or configure Tailscale or discover an address. The bot server's port (7443 by default) serves both bots and the artifact viewer, so one route reaches both. For example, on a server where Tailscale is already set up:

tailscale serve --bg http://127.0.0.1:7443

Paste the HTTPS address it prints, such as https://my-server.example.ts.net, into Settings → Artifacts → Public address. Serve gives access only within your tailnet. Tailscale Funnel publishes the same route to the internet, including the server's bot API and pairing, which still require a paired device's token or a one-use code.

Invite people

  • Personal links: type a name and choose Create link; Maestrly copies a link that belongs to that person. When they open it, nothing happens until they choose Continue as that name, or I’m not that person if the link reached someone else. Each browser that continues becomes one of their devices, up to 10, signed in for 90 days after its last visit.
  • People: see each person's devices, as a label such as "Safari on iPhone", and when each was last seen. Remove a device, Copy link again, or Revoke access to end the link and every device at once.
  • Requests: someone who opens the address without a personal link can type a name and a message and Ask for access. Confirm or correct the name, then Approve or Deny. A request waits 24 hours.

Share with anyone who has the link

Optionally set an Access code of at least 6 characters, which guests type first; after five wrong codes a browser waits 15 minutes. The link stops working after 7, 30, or 90 days, or Never; the default is 30 days, set in Settings → Artifacts. Guests appear under People, marked as unverified. Changing or removing the code signs guests out.

Revoke access

Revoke all sessions signs everyone out of the artifact on every device, you included; personal links still work afterward. Setting the artifact back to Private blocks everyone else at once without forgetting them, so sharing it again restores their access.

The Artifacts entry in the sidebar counts what you have not seen: a new device, an access request, a declined invitation. Opening the artifact's details shows Recent activity and clears the count.

Comment on an artifact

Whoever can open a shared artifact can comment on it.

  • Select text and choose Comment, or turn on Comment in the top bar (or press C) and click a spot or select a passage. While comment mode is on, clicks place comments instead of reaching the page's links and buttons; Esc turns it off.
  • Comment on the page, at the bottom of the list, comments on the whole page.
  • Each thread appears as a pin with its author and message count; a red dot marks what is new. Click a pin to open the thread, reply, and move to the previous or next one.
  • A comment belongs to the version on screen. If a later version changes or removes the passage, the thread stays with its version and is marked as not found on the newer one.
  • People reply and delete their own comments. You resolve, reopen, and delete any comment.

Invited and approved people comment under the name you confirmed. Guests type a name, shown as unverified. Your comments carry Your name, and replies from an agent are marked as your agent's.

In Maestrly, a card shows how many threads are open, and the artifact's details list every thread so you can reply, resolve, reopen, or delete without opening the viewer. Send to conversation puts the open threads, quoted, in the message box of the conversation the artifact came from; nothing is sent until you send it. Agents can also read, answer, and resolve comments with the Maestrly tools. Either way, the agent is told the comments are feedback from other people, not instructions, and a comment never starts an agent by itself.

To turn commenting off, use Share → Comments. Existing comments stay readable.

Privacy and security

  • Artifacts are private until you share them. A shared link works only for someone with a network route to your public address.
  • The page runs in a sandboxed frame on a separate origin. It cannot read the viewer's cookies, call the host's API, or navigate the viewer.
  • A page loads only its own files, plus scripts, styles, images, and fonts from a few public CDNs such as jsDelivr, unpkg, cdnjs, and Google Fonts. Those services see your IP address, as with any site that uses them.
  • Treat artifact code as untrusted. To make each card's preview, Maestrly renders new versions on your computer, which runs the page's scripts even if you never open it.
  • For each person, Maestrly keeps the name, a coarse device label, and when each device joined and was last seen. It keeps no IP address and no raw browser identification. Revoking a person deletes this, except their name on comments and in recent activity.
  • Agents cannot share an artifact, invite people, approve requests, or change who can open it.
  • Desktop export and reset do not cover the server's artifacts. Back up server data separately; removing the server with its data deletes its artifacts.

For storage details, server ports, and the full sharing model, see the technical guide.

Next: Bots.