@chatcode/cco-better-sidebar 0.18.0-rc.3 → 0.18.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/README_EN.md +19 -1
- package/lib/client-editor.js +326 -258
- package/lib/client-mermaid.js +312 -259
- package/lib/client-registry.js +1392 -605
- package/lib/client-terminal.js +328 -260
- package/lib/client.js +1352 -565
- package/lib/index.js +162 -5
- package/lib/types/client/LogoutConfirmDialog.d.ts +5 -0
- package/lib/types/client/PluginMarketSettingsSection.d.ts +7 -0
- package/lib/types/client/PluginMarketView.d.ts +7 -0
- package/lib/types/client/api.d.ts +15 -0
- package/lib/types/client/builtins/tabs.d.ts +6 -3
- package/lib/types/client/locales.d.ts +23 -0
- package/lib/types/client/plugin-market-catalog.d.ts +25 -0
- package/lib/types/client/ui-tweaks/branding.d.ts +1 -1
- package/lib/types/client/ui-tweaks/index.d.ts +1 -1
- package/lib/types/client/ui-tweaks/sidebar-header.d.ts +6 -0
- package/lib/types/client/ui-tweaks/typography.d.ts +9 -0
- package/lib/types/login-page-script.d.ts +2 -0
- package/lib/types/login-route.d.ts +2 -0
- package/lib/types/plugin-market-api.d.ts +5 -0
- package/lib/types/plugin-market-shared.d.ts +37 -0
- package/lib/types/ui-tweaks/config.d.ts +5 -6
- package/package.json +1 -1
- package/src/client/AccountMenu.tsx +12 -2
- package/src/client/LogoutConfirmDialog.tsx +39 -0
- package/src/client/PluginMarketSettingsSection.tsx +55 -0
- package/src/client/PluginMarketView.module.css +35 -0
- package/src/client/PluginMarketView.tsx +154 -0
- package/src/client/api.ts +7 -0
- package/src/client/builtins/tabs.tsx +16 -3
- package/src/client/index.tsx +10 -1
- package/src/client/locales-ja.ts +23 -0
- package/src/client/locales.ts +48 -0
- package/src/client/plugin-market-catalog.ts +90 -0
- package/src/client/sidebar.module.css +81 -19
- package/src/client/ui-tweaks/branding.tsx +25 -16
- package/src/client/ui-tweaks/index.tsx +36 -99
- package/src/client/ui-tweaks/sidebar-header.ts +73 -0
- package/src/client/ui-tweaks/typography.ts +38 -0
- package/src/index.ts +2 -0
- package/src/login-page-script.ts +107 -0
- package/src/login-route.ts +7 -4
- package/src/plugin-market-api.ts +42 -0
- package/src/plugin-market-shared.ts +21 -0
- package/src/ui-tweaks/config.ts +10 -10
package/README.md
CHANGED
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
<video src="https://github.com/user-attachments/assets/23187822-047e-45cc-b480-fe997bd55b86" muted autoplay loop playsinline controls width="100%"></video>
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
|
+
品牌适配仅作用于产品标识与版本声明;输入框草稿、粘贴内容、会话正文和代码保留原文。
|
|
29
|
+
|
|
30
|
+
`0.18.0-rc.7` 重整左侧导航顶部:24px 品牌标识、紧凑标题与折叠按钮,以及左对齐的轻量「新会话」入口;快捷键提示保持可见。移除该入口的红色渐变与阴影,浅色、深色主题均跟随宿主令牌;原生按钮、快捷键、窗口拖拽和折叠功能保持不变。
|
|
31
|
+
|
|
32
|
+
`0.18.0-rc.8` 增强「新会话」的辨识度:淡红底、红色描边与图标、14px 加粗文字,悬停和按下时加深底色。保持紧凑布局与无阴影设计,深色模式使用同一套主题令牌派生配色。
|
|
33
|
+
|
|
34
|
+
`0.18.0-rc.9` 将「新会话」改为高对比石墨色主按钮,使用细微冷色渐变与清晰的悬停、焦点状态,不再使用错误状态红色。左侧原生「插件」菜单暂时通过 `sidebar-header.ts` 中独立标注的 CSS 块隐藏,删除该块即可恢复;插件加载、设置和其他入口不变。
|
|
35
|
+
|
|
36
|
+
`0.18.0-rc.10` 按反馈恢复「新会话」最初的品牌红色底与白色图标、文字,保留紧凑布局、快捷键和交互状态。登录恢复逻辑与「插件」菜单临时隐藏保持不变。
|
|
37
|
+
|
|
28
38
|
## 📑 目录
|
|
29
39
|
|
|
30
40
|
- [✨ 功能一览](#-功能一览)
|
|
@@ -50,7 +60,7 @@
|
|
|
50
60
|
- **📌 固定终端**:右键终端 Tab 可「固定到工作区 / 固定到全局」——固定后切换会话不消失,在 TabBar 内联呈现(跨会话虚拟 Tab,点击就地激活,PTY 按 home 会话 id+tab 直连宿主 PTY,无需切回宿主会话);Agent 终端被 reconcile 移除时豁免保留
|
|
51
61
|
- **🔁 会话隔离**:布局 / Tab / 面板按会话持久化,陈旧状态自动净化
|
|
52
62
|
- **⚙️ 声明式设置**:设置页「侧边卡片」逐项独立开关,二级设置经齿轮弹窗
|
|
53
|
-
- **🎛️ 界面调整(已合并 dsh-ui-tweaks)**:消息/代码字号与行距、Claude 风格表格、GitBar、归档与 MCP 管理、`/init`、鲸鱼工作指示、任务通知和精确缓存命中率均由本插件直接提供;在 DSH 0.1.7 中与侧边卡片设置一起由 `better-sidebar`
|
|
63
|
+
- **🎛️ 界面调整(已合并 dsh-ui-tweaks)**:消息/代码字号与行距、Claude 风格表格、GitBar、归档与 MCP 管理、`/init`、鲸鱼工作指示、任务通知和精确缓存命中率均由本插件直接提供;在 DSH 0.1.7 中与侧边卡片设置一起由 `better-sidebar` 配置表单实时管理。默认正文 14px、代码 13px,与主界面一致;消息与表格共用字号和行高,标题只增加少量字号;字体设置保留粗体、斜体及主题字体,并同步输入框的文字尺寸
|
|
54
64
|
- **⚡ 按需加载**:启动只拉 ~325KB 核心,终端 / 编辑器 / Mermaid 图表等重依赖用到才按需拉取([设计文档](docs/plans/2026-08-12-lazy-chunks-design.md))
|
|
55
65
|
- **🌏 多语言**:界面文案跟随 ChatCode CLI 语言(zh / en)实时切换;安装 `@huanlin/dsh-plugin-better-locale` 后支持日语(ja)等第三语言覆盖(见下方「🌏 第三语言覆盖」)
|
|
56
66
|
- **🆕 版本更新日志**:升级后首次打开 Web 端时展示后台配置的当前版本 Markdown 更新内容;跨多个版本升级也只展示当前版本的一条日志
|
|
@@ -552,4 +562,12 @@ Windows / Linux / macOS 三平台适配(macOS 日常验证;其余经单元
|
|
|
552
562
|
|
|
553
563
|
## ChatCode 账号入口
|
|
554
564
|
|
|
565
|
+
未登录时,每次进入登录页面都会重新发起一次登录并尝试打开登录网页;浏览器拦截自动弹窗时,页面始终显示可点击、可复制的登录链接。若登录网页被关闭,点击「重新打开登录页」即可在原请求仍有效时复用链接;请求失效后可重新发起,按钮不会一直禁用,也无需删除凭据文件。已有账号仅在校验成功后进入工作台,网络故障不会清除凭据。
|
|
566
|
+
|
|
567
|
+
`0.18.0-rc.6` 起,点击「退出登录」会先弹出确认窗口,默认聚焦「取消」;取消或按 Esc 保留登录状态,确认后才执行原有退出操作。
|
|
568
|
+
|
|
569
|
+
`0.18.0-rc.5` 起,左下角账号入口与弹出菜单使用更紧凑的布局:用户名和菜单文字为 13px,头像为 24px,底部入口高度为 44px;设置、登录与退出操作保持不变。
|
|
570
|
+
|
|
571
|
+
设置 →「插件市场」已替换为内部市场,也可从侧栏「+」菜单进入。先展示内部市场及默认 ChatCode 官方市场,点击市场后以「技能市场」同款卡片展示插件;项目级、用户级安装或卸载按钮直接位于卡片内。市场列表在 Web 启动时加载一次,插件目录首次进入时加载并缓存;返回、切换标签或重开设置不会重复请求,有更新时点击「刷新」。页面显示实际项目目录,本机安装记录与 CLI `/plugins` 共用并自动同步。需要启用新版 config 插件,配置及加载能力见 [插件市场说明](../dsh-llm-chatcode-config/docs/plugin-market.zh.md)。
|
|
572
|
+
|
|
555
573
|
从当前主库源码执行 `pnpm cco web` 时,启动包装器会自动叠加本侧栏和 `dsh-llm-chatcode-config`,无需向 `web` profile 安装。未登录时显示全屏门禁;登录后左下角账号菜单提供状态与退出。令牌由配置插件通过兼容凭据服务管理,Web 只展示账号和操作结果。浏览器未自动打开时可使用备用链接。两端共享条件及操作步骤见相邻配置插件仓库的 [使用手册](../dsh-llm-chatcode-config/docs/chatcode-login.zh.md)。
|
package/README_EN.md
CHANGED
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
<img alt="dsh-better-sidebar workbench" src="https://github.com/user-attachments/assets/dfdb875e-a1a8-4d4b-8340-353736b1708f" />
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
|
+
Brand adaptation applies to product identity and version notices; composer drafts, pasted content, conversation text, and code retain their original text.
|
|
29
|
+
|
|
30
|
+
`0.18.0-rc.7` refreshes the top-left navigation: a 24px brand mark, compact wordmark and collapse control, and a left-aligned, lightweight **New session** action with its shortcut kept visible. The action no longer has a red gradient or shadow; both light and dark palettes follow host tokens. Native buttons, shortcuts, window dragging and collapse behavior are unchanged.
|
|
31
|
+
|
|
32
|
+
`0.18.0-rc.8` makes **New session** easier to find with a pale red fill, red border and icon, bold 14px text, and stronger hover/pressed fills. The layout stays compact and shadow-free; dark-mode colors derive from the same host theme tokens.
|
|
33
|
+
|
|
34
|
+
`0.18.0-rc.9` replaces the error-red treatment with a high-contrast graphite primary action, a subtle cool gradient and distinct hover/focus states. An isolated, commented CSS block in `sidebar-header.ts` temporarily hides only the native sidebar **Plugins** entry; remove that block to restore it. Plugin loading, Settings and other entry points are unchanged.
|
|
35
|
+
|
|
36
|
+
`0.18.0-rc.10` restores the original brand-red **New session** fill with white text and icon, keeping the compact layout, shortcut and interaction states. Login recovery and the temporary sidebar **Plugins** hide are unchanged.
|
|
37
|
+
|
|
28
38
|
## 📑 Contents
|
|
29
39
|
|
|
30
40
|
- [✨ Features](#-features)
|
|
@@ -50,7 +60,7 @@
|
|
|
50
60
|
- **📌 Pinned Terminals**: right-click a terminal tab to "Pin to Workspace / Pin Globally" — pinned terminals survive session switches and surface inline in the TabBar as virtual tabs (click activates in-place, PTY connects directly to the home session's PTY via WS, no session jump needed); agent terminals exempted from reconcile removal
|
|
51
61
|
- **🔁 Session Isolation**: layout / tabs / panels persisted per session, stale state auto-purged
|
|
52
62
|
- **⚙️ Declarative Settings**: per-item toggles in the "Side Cards" settings section, secondary settings via the gear dialog
|
|
53
|
-
- **🎛️ UI Tweaks (dsh-ui-tweaks merged)**: message/code sizing and spacing, Claude-style tables, GitBar, archive and MCP managers, `/init`, whale activity indicator, task notifications, and precise cache-hit percentages now ship in this plugin; on DSH 0.1.7 they are live fields in the shared `better-sidebar` entry form
|
|
63
|
+
- **🎛️ UI Tweaks (dsh-ui-tweaks merged)**: message/code sizing and spacing, Claude-style tables, GitBar, archive and MCP managers, `/init`, whale activity indicator, task notifications, and precise cache-hit percentages now ship in this plugin; on DSH 0.1.7 they are live fields in the shared `better-sidebar` entry form. Defaults match the host: 14px prose and 13px code. Messages and tables share size and leading, headings add only a small size increment, and font settings retain emphasis, italics and live theme families while keeping the composer in step
|
|
54
64
|
- **⚡ On-demand Loading**: only ~325KB core at startup; heavy deps (terminal / editor / mermaid diagrams) load on demand ([design](docs/plans/2026-08-12-lazy-chunks-design.md))
|
|
55
65
|
- **🌏 i18n**: UI text follows ChatCode CLI's language (zh / en) with live switching; with the optional `@huanlin/dsh-plugin-better-locale` peer, 19 third-language overlays (ja / de / fr / …) are available
|
|
56
66
|
- **🆕 Release notes**: on the first Web launch after an upgrade, shows the backend-configured Markdown note for the current version only; skipped versions are never merged
|
|
@@ -561,4 +571,12 @@ Thanks to everyone who contributed:
|
|
|
561
571
|
|
|
562
572
|
## ChatCode account menu
|
|
563
573
|
|
|
574
|
+
Each signed-out visit starts one fresh login and attempts to open its page automatically. A visible, copyable link remains available if the browser blocks the popup. **Reopen sign-in page** reuses the current request while it is valid; an expired request can be restarted without deleting credentials. The button never remains permanently disabled. Only a verified account enters the workbench, and network failures retain the stored grant.
|
|
575
|
+
|
|
576
|
+
From `0.18.0-rc.6`, **Log out** opens a confirmation dialog with **Cancel** focused by default. Cancel or Escape preserves the session; confirming runs the existing logout operation.
|
|
577
|
+
|
|
578
|
+
From `0.18.0-rc.5`, the bottom-left account control and its popup use a more compact layout: 13px names and menu text, 24px avatars, and a 44px-high trigger. Settings, sign-in and sign-out behavior is unchanged.
|
|
579
|
+
|
|
580
|
+
**Settings → Plugin marketplace** opens the internal catalog, also available from the sidebar's **+** menu. Browse internal marketplaces and the default official ChatCode marketplace first, then open one to see plugin cards styled like the Skill marketplace. Each card has project/user install and uninstall buttons. The marketplace list loads once at Web startup; plugin catalogs load on first access and remain cached across navigation, tab switches and reopening Settings. Click **Refresh** to fetch updates. The actual project directory is shown and local installed records sync automatically with CLI `/plugins`. See the [marketplace guide](../dsh-llm-chatcode-config/docs/plugin-market.md) for configuration and supported assets.
|
|
581
|
+
|
|
564
582
|
When `pnpm cco web` runs from the current ChatCode CLI checkout, its source wrapper applies this sidebar and `dsh-llm-chatcode-config` automatically, with no Web-profile installation. Signed-out users see a full-page gate; after sign-in, the bottom-left menu shows status and sign-out. The configuration plugin manages tokens through the compatible credential service, and Web displays only account metadata and outcomes. A fallback link is provided if the browser blocks the popup. See the sibling configuration repository’s [guide](../dsh-llm-chatcode-config/docs/chatcode-login.md).
|