Skip to content

feat(studio): wake sleeping agents on demand - #1078

Merged
yaozheng-fang merged 5 commits into
volcengine:mainfrom
zakahan:feat/studio-snapshot-cards
Sep 8, 2026
Merged

feat(studio): wake sleeping agents on demand#1078
yaozheng-fang merged 5 commits into
volcengine:mainfrom
zakahan:feat/studio-snapshot-cards

Conversation

@zakahan

@zakahan zakahan commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Opening an agent category currently restores historical agents before returning the list, so a slow or failing restore blocks discovery and repeated visits can trigger costly retries. This change makes category listing read-only and displays sleeping agents alongside live agents. Selecting a sleeping agent explicitly wakes it before using the existing open/connect flow.

  • Preserve SessionMetadata from ListSessionSnapshots, including SDK releases whose response model omits the field. Use it for names, creator labels, ownership and agent-kind filtering.
  • Prefer live Sessions, otherwise show the latest saved record per Region, Tool and logical agent. Keep failed records visible for deletion. Legacy records without ownership remain admin-only; owners can wake/delete their own records.
  • Disable automatic restoration even for legacy autoResumeSnapshots=true list requests. Serialize explicit wake requests per logical agent within each service, and reconcile an already-live Session before retrying.
  • Show live and wakeable agents with the same Ready card label and styling; saved records show Never expires. Use the same Ready label in details, with a separate explanation when waking is needed, show progress after selection and retryable errors, and require confirmation before deleting the selected saved record through DeleteSessionSnapshot with its ToolId and SnapshotId.
  • Include updated translations, documentation and packaged WebUI assets.

Validation:

  • Backend sandbox, CLI options, proxy and Codex app-server tests after merging upstream main: 156 passed.
  • Frontend tests: 1052 passed, including DOM tests for wake progress, duplicate action prevention, failure/retry and deletion confirmation.
  • Ruff passed. Pyright reports the same 47 diagnostics as the upstream baseline for the checked Python files; no new diagnostics.
  • Production build passed; packaged asset verification checked 102 files and 246 references. Pre-commit (Ruff, formatting and secret scan) passed.

Limits:

  • Session/snapshot discovery still waits for platform List APIs. No background restoration or automatic retry loop is introduced.
  • Wake serialization is per service process, not distributed.
  • Deletion targets the selected saved record only; if older records exist for the logical agent, the next record may appear on refresh.
  • The branch incorporates upstream main through 4f3169ca, including the Hermes entrypoint fix from fix(studio): isolate Hermes dashboard settings to VeStack #1077. No live cloud resources were restored or deleted during validation.

@zakahan
zakahan marked this pull request as ready for review September 8, 2026 10:53
@yaozheng-fang
yaozheng-fang merged commit bad8248 into volcengine:main Sep 8, 2026
11 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