mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
Problem: upstream studio changes made the model-health UI PR conflict in Composer. Root cause: studio added WorkspaceInfo while the health hook removed the former inline ModelEntry loading state in the same import declaration. Fix: retain studio's workspace information, running-message intent and composer hint behavior alongside the consent-gated health hook. Remove the unused ModelEntry import. The grouped picker, default-off setting and old-server hints remain unchanged; the feature diff remains 514 additions across 22 files. Verification: production frontend build, frontend tests and census; go vet, pinned lint and repository checks; HTTP health authorization/settings tests, builtin tests and inventory-reconciled boot partitions.
9.6 KiB
9.6 KiB
owner: @esengine backup: @SivanCola status: active reviewed: 2026-10-29
Studio parity with the 1.x desktop app
Purpose
This table lists what the 1.x desktop app (desktop/frontend on main-v2) offers and where Studio (desktop/frontend-next) stands.
- The PR that closes a Missing row MUST move it to Have or Have differently in the same change.
- A UI PR that removes or moves a visible control MUST update its row, or add one, in the same change.
- A row marked Unverified MUST be checked against the code before it is relied on.
- Held by review, not by a gate: no check reads this file.
Status values:
- Have: same capability, same place.
- Have differently: capability present, shape differs.
- Missing: absent in Studio.
- Removed on purpose: decided, with the reason.
- Unverified: not checked in the code.
Checked against studio at d779d89bc on 2026-10-08.
"No issue yet" means no open issue was found by title search.
Reference: sessions and sidebar
| Feature | Status | Studio location or tracking |
|---|---|---|
| Pin a session | Have | ui/Workspaces.tsx (session.pin) |
| Compact session rows / 紧凑会话列表 | Have | styles/studio.css: single-line ellipsis, 34px rows and full titles on hover. 单行省略、34px 行高,悬浮查看完整标题。 |
| Batch selection of local sessions / 本机会话批量选择 | Have differently | ui/LocalMachine.tsx: “Select local sessions” is in this machine's More actions menu; ui/SessionBatch.tsx shows the batch toolbar only during selection. “选择本机会话”移至“这台机器”的更多菜单,仅在选择模式显示批量工具栏;保留批量归档与删除。 Refs #10651. |
| Archive and restore a session | Have | ui/Sidebar.tsx, ui/Workspaces.tsx; the quick row action is #12318 (open PR) |
| Recycle bin page for deleted sessions | Unverified | Studio has "delete session" in ui/Workspaces.tsx; no recycle-bin page was found, recovery not checked |
| Manual rename | Have | renameSession in ui/App.tsx |
| AI rename of a session | Missing | #11570 |
| Manual order of projects and sessions | Have | Projects: ui/WorkspaceOrder.tsx and drag (2.25.0); sessions: ui/useSessionMove.ts and the session menu / Alt+Arrow, ranks kept in the session sidecar (ManualRank) |
| Project-name context menu | Missing | #12089; #12324 (open PR) |
| Search and reference past conversations | Have differently | Rail search in ui/railsearch.tsx; no "reference a past session" action; #11942 |
| Export a session | Have | exportSession in port/hub.ts |
| Session recovery versions dialog | Unverified | Not searched by name; see #12365 for the delete behaviour |
| Remote (SSH) workspaces | Have | ui/Remotes.tsx, ui/RemoteHosts.tsx |
| Session takeover when another window holds it | Have | ui/App.tsx, ui/Pane.tsx |
| Workspace sidebar expansion, collapse and resizing | Have differently | Desktop uses the divider in ui/Gutter.tsx, including after collapse; the top button in ui/RailToggle.tsx is reserved for the narrow scene drawer layout (#12917) |
Reference: composer and transcript
| Feature | Status | Studio location or tracking |
|---|---|---|
| Skill invocation shown as a badge in the transcript | Have differently | Composer chips in ui/skillchips.ts; the transcript shows plain /name text; #12383 (#11145 closed) |
Slash and @ completion |
Have | ui/Completion.tsx |
| Drag workspace files and folders into chat / 拖拽工作区文件和文件夹到对话 | Have | ui/filedrag.ts: file tree, search results and Git changes share the composer reference intake; 文件树、搜索结果和 Git 改动共用引用入口;#12771 |
| "Add to chat" bar on selected transcript text | Missing | #11954 |
| Find in the conversation | Have | ui/Find.tsx |
| Turn navigator | Have differently | Scroll rail with marks in ui/Transcript.tsx |
| Model picker with vendor icons, search and favourites | Missing | #12354, #11403 |
| Reasoning effort picker | Have differently | Names plus one-line descriptions, only levels the model supports; do not revert to raw high and max |
| Agent composition / Agent 组合 | Have differently | One composer status-row menu for selection and management; Standard/Minimal cards and separate custom presets in Settings → Agent presets (ui/AgentPresets.tsx). 输入框顶部统一菜单选择和管理组合,管理页提供标准、精简两种内置卡片和独立自定义区域,默认不绑定,明确选择精简/自定义组合后启用;人设保留前后缀与运行时上下文开关。 |
| Approval card offering "allow matching actions this session" | Unverified | Mock fixture shows two buttons only; #12020 (closed) |
| Plan and todo panel | Have | ui/Plan.tsx |
| Subagents panel | Have differently | ui/Pane.tsx, ui/delegation.ts; running-state gaps in #12410, #12284 |
| Goal mode controls | Unverified | Studio renders the update_goal tool in ui/Sym.tsx; the 1.x lifecycle actions were not compared |
| Mermaid diagrams in Markdown | Missing | No mermaid dependency in desktop/frontend-next/package.json; no issue yet |
| Image viewer for attachments / 附件图片预览 | Have | ui/ImagePreview.tsx: user messages, composer attachments and tool screenshots share the original-image overlay; click or keyboard opens it, Escape, backdrop or close button dismisses it. 用户消息、输入框附件和工具截图共用原图预览;#13006 |
Reference: shell, status and settings
| Feature | Status | Studio location or tracking |
|---|---|---|
| Command palette | Have | ui/Palette.tsx |
| Completion sound | Missing | #11876; no audio call in desktop/frontend-next/src or desktop/electron/src |
| Soft Aurora colour style | Missing | #11680; the kernel still accepts theme_style="aurora" |
| Theme gallery and import | Have differently | ui/Appearance.tsx, theme packs in docs/THEME_PACK.md |
| Interface font size | Have differently | Whole-interface scale in ui/Appearance.tsx; default text is 13 px against 14 px in 1.x |
| Content width (standard or full) | Have differently | Reading width or fill window; the composer does not follow the fill; #12390 |
| Display currency | Have differently | ui/DisplayCurrency.tsx; not on the first settings screen; #11943 (closed) |
| Configurable bottom status bar | Have differently | Fixed run strip in ui/RuntimeBar.tsx; no item configuration found |
| Context window card | Have differently | ui/ContextSummaryCard.tsx, ui/MeterRail.tsx; the 1.x overview panel is not open by default |
| Usage statistics | Have | ui/ModelUsage.tsx |
| Model service management layout | Have differently | Settings provider list and form; #10761 (closed) |
| Close to tray | Have | ui/WindowSection.tsx |
| Update notes in the app | Have differently | ui/Versions.tsx; release notes mirrored by #12406 |
| First-run setup | Have differently | ui/Welcome.tsx wizard; clipped controls on wide windows in #11561 (closed) |
| Memory page with per-type colour | Unverified | ui/Memory.tsx exists; colouring was not compared; #11398 (closed) |
| Browser panel | Have | ui/BrowserPanel.tsx |
| Integrated terminal panel | Unverified | ui/Shell.tsx only chooses the shell; no terminal view was found by name; no issue yet |
| Worktree merge dialog | Unverified | Worktree handling exists in ui/Workspaces.tsx; the merge flow was not checked |
| Scheduled tasks (heartbeat) | Have differently | Scheduled runs exist (ui/ScheduledRuns.tsx and the schedule API, with budgets, breakers and pause reasons); 1.x's separate heartbeat loop was not ported; #11384 |
| Keyboard shortcuts cheat sheet | Unverified | Key handling is in ui/keys.ts, ui/windowkeys.ts; no cheat sheet found by name; no issue yet |
| CSV and media preview in the workspace panel | Have differently | ui/document: CSV/TSV, PDF and still images render in the workbench; audio/video remain unsupported. CSV/TSV、PDF 和图片可直接阅读,音视频仍不支持内联预览。 |
| File delivery cards / 文件交付卡片 | Have | present_files and ui/document/DeliveryCard.tsx: validated file references reopen in the shared workbench; auxiliary actions live in More. 已验证文件引用复用工作台标签,辅助操作位于“更多”。 |
| IM gateway (WeChat, Feishu, QQ) | Removed on purpose | Commit f352dfbec "remove the IM bot gateway"; docs/MIGRATING.md keeps the [bot] section untouched; #11952 asks for it back |
Rows added by Studio
| Feature | Status | Studio location |
|---|---|---|
| Per-model display aliases | Have | Model service settings and chat picker; configuration and scope; #11774 |
| Model connection health | Have | Opt-in status chips in the existing grouped picker; scope and limits. 默认关闭,保留账户分组与接口域名。 |
| Icon rail with three display modes | Have | #12377, #12428; sidebar footer entries appear only when icon navigation is hidden (#12478) |
| Usage, feedback, account and settings footer / 用量、反馈、账号与设置底部入口 | Have differently | ui/Nav.tsx when navigation is visible; ui/Sidebar.tsx otherwise, including the narrow-window drawer. 导航可见时使用图标栏入口,隐藏时保留侧栏入口 (#12478) |
| Completed-unread marker on sessions | Have | #12218 |
| Workbench browser-tab menu / 工作台浏览器标签菜单 | Have differently | ui/WorkbenchPanel.tsx and ui/BrowserTabMenu.tsx: close one, others, right or all through the controller; files are excluded from bulk closing. 控制器关闭页面,批量操作保留文件 (#12067, #12348, #11645) |