Skip to content

feat: 能力分组配置、skill 引用与共享会话体验优化#145

Merged
ffy6511 merged 9 commits into
mainfrom
dev
Jun 16, 2026
Merged

feat: 能力分组配置、skill 引用与共享会话体验优化#145
ffy6511 merged 9 commits into
mainfrom
dev

Conversation

@ffy6511

@ffy6511 ffy6511 commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

本次更新主要围绕能力配置、聊天编排和共享浏览体验展开:补强了 preset / skill 的分组选择与批量操作能力,让聊天输入框和 task composer 可以直接引用 skill,并完善了相关前后端透传与消息展示链路;同时优化了共享会话在移动端的浏览体验,并将工作区导出文件预览切换为签名同源流式访问;此外补充了 server owner 侧的删除入口,以及若干消息复制和 tool 结果展示细节修复。

1. 能力配置

  • 支持按来源分组选择 preset / skill,并提供分组级批量勾选、清空和启停操作。
  • 补齐 preset 编辑链路中的 source 信息透传和多语言文案。

2. Skill 引用

  • 聊天输入框和 task composer 支持通过 /$ 触发 skill 自动补全与插入。
  • 前后端补齐 schema、队列透传和消息渲染,使 skill 引用能够随任务提交并在消息中展示。

3. 共享与工作区体验

  • 共享会话页补齐移动端浏览视图,支持按执行记录切换聊天、computer、artifacts 内容。
  • 工作区导出文件改为通过签名预览路由同源流式访问,降低预览失败和跨域问题。

4. 交互与服务管理

  • 统一消息复制链路,修复 tool 结果空值或不可序列化内容的展示问题。
  • 新增仅 server owner 可见的删除入口、确认弹窗和删除后切换逻辑。

English Version

Summary

This update focuses on capability configuration, chat/task composition, and shared session browsing. It adds grouped preset and skill selection with batch actions, enables direct skill references in chat input and the task composer with end-to-end payload and rendering support, improves the mobile experience for shared sessions, and switches workspace export previewing to signed same-origin streaming routes. It also adds an owner-only server deletion flow and fixes several message copy and tool-result rendering issues.

1. Capability Configuration

  • Support grouped preset / skill selection by source, with batch select, clear, enable, and disable actions.
  • Preserve source metadata throughout the preset editing flow and add related i18n copy.

2. Skill References

  • Support / and $ triggered skill autocomplete and insertion in chat input and the task composer.
  • Add backend/frontend schema, queue propagation, and message rendering so skill references can be submitted and displayed end to end.

3. Shared Session and Workspace Experience

  • Improve the shared session page on mobile, with run-aware browsing across chat, computer, and artifacts views.
  • Switch workspace export previewing to signed same-origin streaming routes to reduce preview failures and cross-origin issues.

4. Interaction and Server Management

  • Unify the message copy flow and fix empty or non-serializable tool result rendering.
  • Add an owner-only server deletion entry, confirmation dialog, and fallback switching flow after deletion.

ffy6511 added 9 commits June 14, 2026 20:59
- Group preset capabilities by source and add per-group select/clear actions in the selector
- Add batch enable/disable controls for skill groups, including install and synthetic-disable paths
- Thread capability source metadata through preset payloads so source labels can drive grouping UI
- Update preset type model and editor/dialog plumbing to preserve source information
- Add new i18n labels for group selection and enable/disable actions across locales
- Add skill-reference payload schema plumbing across backend session/task queue config and frontend API validation
- Persist and expose skill references in session queue items so they flow into user message metadata
- Add task composer skill autocomplete/insertion and reference lifecycle filtering for typed `/` and `$` triggers
- Render skill references inline in user messages and include them in send payloads for queued tasks
- Merge referenced skills into skill config toggles during task submission
- Replace direct `navigator.clipboard.writeText` usage in chat messages with `copyToClipboard`
- Preserve existing copy-success state updates while routing copy failures through utility error callbacks
- Apply the same copy path for both assistant and user message components
- Export shared execution mapping and snapshot components to support mobile-specific reuse
- Add a dedicated mobile share view with run-aware chat/computer/artifacts tabs
- Add mobile run timeline and full run list sheet for browsing historical executions
- Keep desktop share layout intact while introducing a read-only composer placeholder on mobile
…utes

- Add workspace preview-token utilities and endpoint routes for session/run raw file streaming
- Generate scoped, time-limited preview URLs when building workspace file nodes so viewer and frontend use same-origin paths
- Resolve export object keys with manifest fallback and return inline-stream responses with MIME-based content type
- Add token verification coverage and fallback object-key tests for workspace export utilities
- Relax HTML iframe sandbox for same-origin workspace pages while keeping cross-origin hardening in place
- Return an empty string when execution output is undefined to avoid displaying placeholder text in tool viewer
- Keep normal JSON pretty-printing while safely falling back to `String(value)` for non-serializable data
- Add regression tests covering undefined values, symbols/functions, and JSON formatting behavior
…ntime wiring

- Switch preset/project service tests to mock `get_visible_by_id` and related repo methods that now enforce resource visibility
- Update preset and project API test setup with explicit dependency overrides and teardown cleanup for isolated execution
- Extend server execution observability tests with mocked persistent runtime service returns for runtime-key derivation
- Align project and session service fixtures with new project model fields and renamed runtime release-path references
- Add server delete API call and membership hook action to remove a server then switch to a fallback server
- Add role- and type-gated delete availability (owner-only, non-personal) with loading-state handling and toasts
- Replace single access button with a server settings menu containing add/join and delete actions
- Add confirmation dialog for server deletion using localized labels and descriptions
- Wire new server action handlers through conversation page and sidebar components
- Import `urlencode` for session local mount URL helpers so pyrefly resolves the name
- Reflow workspace export test URL builder formatting
- Reformat shared session and server conversation TSX expressions for frontend style checks
@ffy6511 ffy6511 marked this pull request as ready for review June 15, 2026 15:12
@ffy6511 ffy6511 merged commit c66da3c into main Jun 16, 2026
7 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.

1 participant