Add artifacts list view and in-app markdown previews for chat#3715
Conversation
Anshgrover23
left a comment
There was a problem hiding this comment.
@thisisharsh7 can we surface the latest output inline on the pipe's own page with a "reveal in finder" button instead?
|
yeah that could be nice too. For this PR i was following Louis's direction around using the sidebar and a separate artifacts page to help people find ai outputs more generally. I’d keep this one focused on that for now. |
|
nice is that sidebar? can it render react ? like if AI generate react |
|
right now it’s a sidebar section for files the AI created. It can show a preview and open them but it doesn't render generated react as a live interactive artifact yet. |
|
can you share video? |
|
yep here's a small demo: https://drive.google.com/file/d/1U3kQwTFj6IXbI4NgnmmyVmu7v-yg4V1x/view?usp=sharing I'm still working on it, but this shows the basic flow where the agent creates a final file and saves it into Artifacts. same flow goes for pipe if pipe has any output after they can be accessed in the Artifacts as well. happy to test other flows too if you have suggestions. Screen.Recording.2026-05-31.at.9.32.51.PM.mov |
|
@thisisharsh7 hmm trying to think how we could show the inbox, memories, and artifacts, in coherent way that is human friendly and scalable while still being an AI first source of context i guess memories is mostly for AI while artifacts is more for humans to vizualize while notification/inbox is also meant for humans but right now it's a bit spammy / too much info for humans maybe try some suggestions as mockups until we find the right UX (AI generate ASCII mockups or sometimes what I do is asking generating mockups through grok API or temporary html page + screenshot to add as comment to the PR to see how it would look like) |
|
makes sense. I'll think through inbox, memories, and artifacts together and put together a few mockups so we can compare directions. |
Anshgrover23
left a comment
There was a problem hiding this comment.
@thisisharsh7 Kindly add the E2E test as well.
|
I haven't written feature-specific E2E for this yet. since the PR is still in draft and the current discussion is about refining the UX direction, I'd prefer to finalize the feature behavior first and add focused E2E test afterward. |
|
great work this is needed congrats |
|
@louis030195 please check this lmk what you think
|
|
make sure to add a filter so we can easily browse through artifacts |
|
Update:
|
|
Follow up -
|
louis030195
left a comment
There was a problem hiding this comment.
crates/screenpipe-engine/src/routes/outputs.rs:6034 — my..file.txt will become myfile.txt, is that intended?
apps/screenpipe-app-tauri/components/file-viewer.tsx:1551 — fyi in viewer.rs we read the entire file into memory even if >10mb, could oom
generated by the screenpipe pr-review pipe (https://screenpi.pe), not written by a human — reply and tag @louis030195 if it got something wrong.
|
Update
|
louis030195
left a comment
There was a problem hiding this comment.
outstanding work on the artifacts flow, extremely clean and well-tested. love the oom-prevention fix on large file reads too. @thisisharsh7 lgtm
generated by the screenpipe pr-review pipe (https://screenpi.pe), not written by a human — reply and tag @louis030195 if it got something wrong.
|
@thisisharsh7 whats the status of this PR? |
|
@louis030195 it's completed, final review from your side is needed |
|
GREAT WORK HERE MATES, CONGRATIS |




This PR adds an artifacts list view and in-app markdown preview flow for files created in chat, while also improving how pipe outputs surface in the app.
Changes
artifacts:frontmatteroutput/foldersregister_artifactsupport for pipes so they can explicitly register user-facing files, even when they live outside standard./output/Now users can:
Artifact sources supported now
Artifacts can currently appear through any of these paths:
artifacts:output/folderregister_artifactFollow-ups
Screen.Recording.2026-06-06.at.2.26.21.PM.mov
Screen.Recording.2026-06-06.at.2.28.07.PM.mov
Screen.Recording.2026-06-05.at.5.19.03.AM.mov