Skip to content

feat(studio): save and preview session artifacts - #1127

Merged
yaozheng-fang merged 3 commits into
volcengine:mainfrom
evanlowe:feat/studio-session-artifacts
Sep 17, 2026
Merged

yaozheng-fang merged 3 commits into
volcengine:mainfrom
evanlowe:feat/studio-session-artifacts

Conversation

@evanlowe

@evanlowe evanlowe commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Studio conversations can now save generated files to the existing Studio TOS bucket and open them from a persistent artifact button above the composer. The studio_write_artifact tool runs in the BFF through the existing tool channel and writes to artifacts/{user_id}/{session_id}/{relative_path} using the authenticated conversation identity and Studio credentials, including IAM role STS credentials

The drawer provides a file tree, preview, refresh, pagination, and download. HTML previews use a scriptless sandbox and authenticated relative images. Bounded preview caches, reply-time prefetching, and pooled storage clients reduce repeated preview latency

Agent creation, generated code, default system prompts, and Runtime mounts are unchanged. This PR contains no offline binding script. Existing artifact mounts remain readable when no Studio bucket is configured

Validation:

  • 125 focused backend tests; Ruff, targeted Pyright, pre-commit, and secret scan passed
  • 1,196 frontend tests on Node 22, 19 artifact interaction/cache tests, and 4 asset-reference regression tests passed
  • TypeScript check and production builds passed; verified 113 packaged assets and 350 internal references
  • Local Studio → real Volcengine and BytePlus Runtime → TOS → Studio content APIs verified for HTML, SVG, and Markdown, with matching SHA-256 digests and cross-user/session isolation checks
  • Clean Agents on an unmounted Volcengine Runtime and a BytePlus Runtime automatically selected the Studio tool for an ordinary story-to-Markdown request; tool, storage, and preview API hashes matched
  • Cloud Volcengine Studio: authenticated browser conversation confirmed studio_write_artifact saved a Markdown story; the session artifact drawer listed the file and rendered its full Markdown content

Cloud validation limit: BytePlus cloud Studio deployment is blocked by exhausted VeFaaS memory quota; the local Studio to BytePlus Runtime flow passed

@evanlowe
evanlowe force-pushed the feat/studio-session-artifacts branch from 44453e9 to cda5510 Compare September 17, 2026 09:36
@yaozheng-fang
yaozheng-fang merged commit ebf6636 into volcengine:main Sep 17, 2026
16 checks passed
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.

2 participants