@michengai/dsh-codex-ui 0.2.111 → 0.2.113
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/CHANGELOG.md +66 -0
- package/CHANGELOG.zh-CN.md +66 -0
- package/README.md +65 -71
- package/README.zh-CN.md +64 -73
- package/lib/client.js +241 -29
- package/lib/index.d.mts +1 -9
- package/lib/index.mjs +57 -66
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,72 @@
|
|
|
4
4
|
|
|
5
5
|
This changelog records recent releases of DSH Codex UI and its one-click installer. Earlier changes remain available in the [Git history](https://github.com/MichengAI/dsh-codex-ui/commits/main).
|
|
6
6
|
|
|
7
|
+
## Unreleased
|
|
8
|
+
|
|
9
|
+
## 0.2.113 - 2026-09-08
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Fixed Chinese text wrapping into vertical columns and misaligned menu and footer text while collapsing the sidebar.
|
|
14
|
+
- Restored sidebar expand and collapse transitions when used alongside `dsh-better-sidebar`, while preserving right-panel animations.
|
|
15
|
+
- Synchronized sidebar width and content fades, removed redundant width updates, and kept rapid toggling and dragging responsive.
|
|
16
|
+
|
|
17
|
+
## suite-installer-v0.1.30 - 2026-09-08
|
|
18
|
+
|
|
19
|
+
Resolved and pinned the following member versions from the official npm registry:
|
|
20
|
+
|
|
21
|
+
- `@michengai/dsh-archive-manager@0.1.32`
|
|
22
|
+
- `@michengai/dsh-codex-ui@0.2.112`
|
|
23
|
+
- `@michengai/dsh-skills-manager@0.1.43`
|
|
24
|
+
- `@michengai/dsh-agency-agents@0.1.34`
|
|
25
|
+
- `@michengai/dsh-im-connect@0.1.38`
|
|
26
|
+
- `@michengai/dsh-automation@0.1.34`
|
|
27
|
+
- `@michengai/dsh-btw@0.1.4`
|
|
28
|
+
- `@michengai/dsh-simplify@0.1.2`
|
|
29
|
+
|
|
30
|
+
The installer uses these exact versions for reproducible installation.
|
|
31
|
+
|
|
32
|
+
## 0.2.112 - 2026-09-08
|
|
33
|
+
|
|
34
|
+
### Release automation
|
|
35
|
+
|
|
36
|
+
- Fixed Chromium installation steps in release workflows and added YAML structure and prerequisite validation.
|
|
37
|
+
- Installer releases now generate and commit bilingual CHANGELOG entries before extracting release notes; missing either language blocks publication.
|
|
38
|
+
|
|
39
|
+
### Breaking changes
|
|
40
|
+
|
|
41
|
+
- Removed the public `crossSiteRequest` export. Consumers must use the host connection’s `requestRejection()` contract. Business GET routes now require authentication, including loopback requests (401 when signed out); missing authentication services return 503. The old REST paths have no compatibility aliases. Requires `@deepseek-ai/dsh-client-connection >=0.1.2-rc.1` and Cordis `>=4.0.2`.
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
|
|
45
|
+
- Added localized 401/403/503 feedback for business requests and an explicit local-cache notice when workspace preferences cannot sync.
|
|
46
|
+
- Consolidated empty-chat padding and ignored stale invisible drop markers; conflicting distinct drop positions now emit a deduplicated diagnostic.
|
|
47
|
+
|
|
48
|
+
- Stopped applying custom-group spacing between projects in an ungrouped project list, keeping the empty-conversation label vertically centered between project rows.
|
|
49
|
+
- Centered empty-group text between adjacent group headers, accounting for the external group gap, and unified both empty-state labels at 13px/18px with the same muted color.
|
|
50
|
+
- Standardized the Chinese empty-conversation label to "暂无聊天".
|
|
51
|
+
- Aligned empty-group text with the group title without changing project or conversation indentation.
|
|
52
|
+
- Matched the Codex sidebar reorder marker's 8px hollow ring and 2px rounded stroke, extending the line toward its start and removing the ring-to-line gap.
|
|
53
|
+
- Unified group, project, and conversation reorder indicators around the midpoint between visible rows, including scrolling and collapsed content, instead of fixed offsets from wrapper elements.
|
|
54
|
+
- Added 4px below each project's conversation list, matching its top gap so the last conversation no longer touches the next project row; the spacing collapses with the list.
|
|
55
|
+
- Prevented the group reorder indicator above the first sidebar group from being clipped by the expanded Projects section.
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
|
|
59
|
+
- Increased group labels to 14px/600 with 32px rows and 12px spacing; project folders now switch between equally sized open and closed icons according to expansion state.
|
|
60
|
+
- Strengthened sidebar groups with persistent disclosure indicators, medium-weight labels, subtle backgrounds, and spacing while preserving existing project and conversation indentation and row widths. Expansion uses the arrow state without resembling a selected conversation; improved group touch targets and keyboard focus styling.
|
|
61
|
+
- Moved Codex UI's business REST routes from `/api/michengai/codex-ui/*` to `/api/dsh-codex-ui/*`, aligning their naming with the Skills Manager and IM Connect business endpoints; the old routes are no longer registered. The host baseline now requires `@deepseek-ai/dsh-client-connection >=0.1.2-rc.1` and Cordis `>=4.0.2`.
|
|
62
|
+
|
|
63
|
+
### Security
|
|
64
|
+
|
|
65
|
+
- Delegated all five business REST routes to the DSH host's `requestRejection()` checks for trusted hosts, origins, and login cookies. Requests now fail closed when authentication is unavailable without blocking legitimate reverse-proxy origins through a loopback-only check.
|
|
66
|
+
|
|
67
|
+
### Tests
|
|
68
|
+
|
|
69
|
+
- Run Chromium layout checks in `pnpm test` and CI without screenshots, including exact tertiary colors and empty-state padding. Added cross-section drag cleanup and pinned-host-package trust-boundary regression coverage with login stubbed as authenticated.
|
|
70
|
+
|
|
71
|
+
- Added business-route registration and authentication regression coverage for the new and removed paths, 401, 403, unavailable authentication, unchanged request-header forwarding, and an external-origin write authorized by the host boundary.
|
|
72
|
+
|
|
7
73
|
## suite-installer-v0.1.29 - 2026-09-08
|
|
8
74
|
|
|
9
75
|
- Updated the suite to Codex UI `0.2.111` and IM Connect `0.1.38`, keeping the channel sidebar compatible with the authenticated `/api/dsh-im-connect/channels` endpoint.
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -4,6 +4,72 @@
|
|
|
4
4
|
|
|
5
5
|
本日志记录 DSH Codex UI 及其一键安装器的最近发布;更早的变更可查看 [Git 提交历史](https://github.com/MichengAI/dsh-codex-ui/commits/main)。
|
|
6
6
|
|
|
7
|
+
## 未发布
|
|
8
|
+
|
|
9
|
+
## 0.2.113 - 2026-09-08
|
|
10
|
+
|
|
11
|
+
### 修复
|
|
12
|
+
|
|
13
|
+
- 修复侧栏收缩时中文被挤成竖排、菜单与页脚文字错位的问题。
|
|
14
|
+
- 修复与 `dsh-better-sidebar` 同时使用时,侧栏展开和收起缺少过渡动画的问题,并保留右侧面板动画。
|
|
15
|
+
- 同步侧栏宽度与内容淡入淡出的节奏,消除重复宽度更新造成的额外开销;快速切换和拖拽保持正常响应。
|
|
16
|
+
|
|
17
|
+
## suite-installer-v0.1.30 - 2026-09-08
|
|
18
|
+
|
|
19
|
+
从官方 npm 解析并锁定以下成员版本:
|
|
20
|
+
|
|
21
|
+
- `@michengai/dsh-archive-manager@0.1.32`
|
|
22
|
+
- `@michengai/dsh-codex-ui@0.2.112`
|
|
23
|
+
- `@michengai/dsh-skills-manager@0.1.43`
|
|
24
|
+
- `@michengai/dsh-agency-agents@0.1.34`
|
|
25
|
+
- `@michengai/dsh-im-connect@0.1.38`
|
|
26
|
+
- `@michengai/dsh-automation@0.1.34`
|
|
27
|
+
- `@michengai/dsh-btw@0.1.4`
|
|
28
|
+
- `@michengai/dsh-simplify@0.1.2`
|
|
29
|
+
|
|
30
|
+
安装器使用这些精确版本执行安装,确保可复现。
|
|
31
|
+
|
|
32
|
+
## 0.2.112 - 2026-09-08
|
|
33
|
+
|
|
34
|
+
### 发布流程
|
|
35
|
+
|
|
36
|
+
- 修复发布工作流的 Chromium 安装步骤位置,增加 YAML 结构及测试前置条件校验。
|
|
37
|
+
- 安装器自动发布先生成并提交双语 CHANGELOG,再提取 Release 说明;缺少任一语言时阻止发布。
|
|
38
|
+
|
|
39
|
+
### 不兼容变更
|
|
40
|
+
|
|
41
|
+
- 移除公共导出 `crossSiteRequest`,调用方应改用宿主 connection 的 `requestRejection()` 契约。业务 GET 现在必须认证,包括回环请求(未登录返回 401);缺少认证服务返回 503。旧 REST 地址没有兼容入口。要求 `@deepseek-ai/dsh-client-connection >=0.1.2-rc.1` 与 Cordis `>=4.0.2`。
|
|
42
|
+
|
|
43
|
+
### 修复
|
|
44
|
+
|
|
45
|
+
- 业务请求增加 401/403/503 专属本地化提示;项目偏好无法同步时明确提示正在使用本地缓存。
|
|
46
|
+
- 合并空聊天四边间距声明,跳过不可见的陈旧拖拽标记;多个不同落点冲突时输出去重诊断。
|
|
47
|
+
|
|
48
|
+
- 普通项目列表不再误用自定义分组的组间距,使“暂无聊天”在上下项目胶囊之间保持居中。
|
|
49
|
+
- 将外部组间距纳入空分组文案的垂直居中计算;“暂无项目”和“暂无聊天”统一为 13px 字号、18px 行高及相同灰色。
|
|
50
|
+
- 空项目文案由“没有聊天”统一为“暂无聊天”。
|
|
51
|
+
- 分组内“暂无项目”与分组标题文字左对齐,不改变项目和会话胶囊的缩进。
|
|
52
|
+
- 参考 Codex 侧栏插入线,采用 8px 空心圆环与 2px 圆头线,向起点延长直线并消除圆环与线段的断口。
|
|
53
|
+
- 分组、项目与会话排序蓝线统一按相邻可见行的边界中点定位,适配滚动与折叠内容,不再依赖外层容器的固定偏移。
|
|
54
|
+
- 项目内会话列表底部补齐与顶部一致的 4px 留白,避免最后一条会话贴住下一个项目胶囊;留白随列表一起折叠。
|
|
55
|
+
- 修复分组拖到侧栏第一组之前时,顶部蓝色插入线被项目分区容器裁剪的问题。
|
|
56
|
+
|
|
57
|
+
### 变更
|
|
58
|
+
|
|
59
|
+
- 分组标题增强至 14px/600、32px 行高和 12px 组间距;项目文件夹随展开、收起切换等尺寸图标。
|
|
60
|
+
- 强化侧栏分组的常驻箭头、标题字重、轻底色与组间留白;保留项目和会话原有缩进及胶囊宽度,展开状态仅由箭头表达,避免与会话选中混淆;补充分组触摸目标与键盘焦点样式。
|
|
61
|
+
- 将 Codex UI 自有业务 REST 从 `/api/michengai/codex-ui/*` 统一迁移到 `/api/dsh-codex-ui/*`,与 Skills Manager 和 IM Connect 的业务 endpoint 命名保持一致;旧地址不再注册。宿主依赖基线相应要求 `@deepseek-ai/dsh-client-connection >=0.1.2-rc.1` 与 Cordis `>=4.0.2`。
|
|
62
|
+
|
|
63
|
+
### 安全
|
|
64
|
+
|
|
65
|
+
- 五个业务 REST 全部委托 DSH 宿主 `requestRejection()` 校验可信 Host、Origin 和登录 Cookie;认证服务不可用时关闭失败,不再用仅限回环地址的判断阻断合法反向代理访问。
|
|
66
|
+
|
|
67
|
+
### 测试
|
|
68
|
+
|
|
69
|
+
- 将无截图的 Chromium 布局检查纳入 `pnpm test` 和 CI,精确检查三级灰与空状态间距;补齐跨区拖拽清理及锁定宿主发布包的信任边界回归,登录层固定为已登录。
|
|
70
|
+
|
|
71
|
+
- 新增业务路由注册和认证回归测试,覆盖新旧路径、401、403、认证不可用、请求头原样转交及宿主认证放行的外部 Origin 写请求。
|
|
72
|
+
|
|
7
73
|
## suite-installer-v0.1.29 - 2026-09-08
|
|
8
74
|
|
|
9
75
|
- 将套件更新至 Codex UI `0.2.111` 和 IM Connect `0.1.38`,保证频道侧栏兼容已认证的 `/api/dsh-im-connect/channels` 接口。
|
package/README.md
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
# DSH Codex UI
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Organize projects, find conversations, and revisit long chats more easily in DSH Web**
|
|
10
10
|
|
|
11
|
-
[简体中文](README.zh-CN.md) · [
|
|
11
|
+
[简体中文](README.zh-CN.md) · [Changelog](CHANGELOG.md) · [Apache-2.0](LICENSE)
|
|
12
12
|
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
[](https://www.npmjs.com/package/@michengai/dsh-codex-ui)
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
> DSH Codex UI is a community-maintained DeepSeek Harness (DSH)
|
|
21
|
+
> DSH Codex UI is a community-maintained interface plugin for DeepSeek Harness (DSH), not an official DeepSeek AI product.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Working across several projects and conversations in DSH Web? DSH Codex UI helps you organize the sidebar, find tasks quickly, and jump back to earlier questions in long chats. It offers a Codex-style interface with light and dark themes.
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
25
|
+
## What you can do
|
|
26
|
+
|
|
27
|
+
- **Organize projects and conversations**: expand or collapse projects, drag to reorder, pin frequently used projects, and see unread and running indicators.
|
|
28
|
+
- **Find things quickly**: search for conversations, settings, and quick actions from the header.
|
|
29
|
+
- **Manage everyday tasks**: rename, archive, or fork conversations, and open project folders from their menus.
|
|
30
|
+
- **Revisit long chats**: select a turn marker to jump directly to the corresponding question.
|
|
31
|
+
- **Reuse earlier input**: press Up/Down in an empty composer to recall text submitted in the current workspace.
|
|
32
|
+
- **Add features as needed**: check companion plugins in **Settings → About** and install or update the ones you need.
|
|
33
33
|
|
|
34
34
|
## Screenshots
|
|
35
35
|
|
|
@@ -37,7 +37,7 @@ Light theme: Codex-style sidebar, workspace tree, and conversation column.
|
|
|
37
37
|
|
|
38
38
|

|
|
39
39
|
|
|
40
|
-
Dark theme:
|
|
40
|
+
Dark theme: for users who prefer a darker interface.
|
|
41
41
|
|
|
42
42
|

|
|
43
43
|
|
|
@@ -53,37 +53,36 @@ Conversation menu: rename, pin, unread, archive, fork, copy, and delete.
|
|
|
53
53
|
|
|
54
54
|
- A working DeepSeek Harness Web installation with `dsh` available in PowerShell.
|
|
55
55
|
- Examples use the `web` profile; replace it with the target profile.
|
|
56
|
-
-
|
|
56
|
+
- Node.js must satisfy `^22.19.0 || >=24.0.0`. Installing from source also requires pnpm.
|
|
57
57
|
|
|
58
58
|
## DSH product ecosystem
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
For a ready-to-use workbench, download [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases). If you already use [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), install any of these eight plugins individually. The desktop app includes all eight.
|
|
61
61
|
|
|
62
|
-
|
|
|
62
|
+
| Plugin | What you can do |
|
|
63
63
|
| --- | --- |
|
|
64
|
-
| [
|
|
65
|
-
| [
|
|
66
|
-
|
|
|
64
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | Organize projects and conversations, search tasks, and navigate chat turns |
|
|
65
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | Send tasks and receive replies through your usual messenger |
|
|
66
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | Schedule tasks and review each run |
|
|
67
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | Find, enable, create, and import local skills |
|
|
68
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | Search, restore, or clean up archived conversations |
|
|
69
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | Choose and summon specialists for your task |
|
|
70
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | Ask side questions without interrupting the main task |
|
|
71
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | Use /simplify to improve code within your Git changes |
|
|
67
72
|
|
|
68
73
|
## Installation
|
|
69
74
|
|
|
70
|
-
|
|
75
|
+
Choose agent-assisted or manual installation below. Both use the same command, requesting the latest version from the official npm registry.
|
|
71
76
|
|
|
72
|
-
### Ask
|
|
77
|
+
### Ask an agent to install it (recommended)
|
|
73
78
|
|
|
74
|
-
|
|
79
|
+
Send the prompt below to any agent that can run terminal commands on your computer. Replace `web` with your actual profile. Once installed, use the plugin in DSH.
|
|
75
80
|
|
|
76
81
|
```text
|
|
77
|
-
Install the
|
|
82
|
+
Install the DSH plugin @michengai/dsh-codex-ui into my local web profile by running: dsh plugin --profile web add @michengai/dsh-codex-ui@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm the configuration includes codex-ui, and explain how to reload DSH and start using the plugin.
|
|
78
83
|
```
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
| --- | --- |
|
|
82
|
-
| DSH | Send the sentence above to the current session. |
|
|
83
|
-
| Codex | Send the sentence above to Codex and let it install locally. |
|
|
84
|
-
| WorkBuddy | Send the sentence above to WorkBuddy. |
|
|
85
|
-
|
|
86
|
-
### Install Codex UI only
|
|
85
|
+
### Install manually
|
|
87
86
|
|
|
88
87
|
```powershell
|
|
89
88
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
@@ -92,25 +91,7 @@ dsh plugin --profile web add @michengai/dsh-codex-ui@latest --registry=https://r
|
|
|
92
91
|
dsh --profile web --dump-config
|
|
93
92
|
```
|
|
94
93
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
### Install from source
|
|
98
|
-
|
|
99
|
-
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
100
|
-
|
|
101
|
-
```powershell
|
|
102
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
103
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
104
|
-
Set-Location D:\Repository\deepseek-harness-plugin
|
|
105
|
-
git clone https://github.com/MichengAI/dsh-codex-ui.git
|
|
106
|
-
Set-Location .\dsh-codex-ui
|
|
107
|
-
pnpm install --frozen-lockfile
|
|
108
|
-
pnpm build
|
|
109
|
-
dsh plugin --profile web add .
|
|
110
|
-
dsh --profile web --dump-config
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Restart DSH Web and hard-refresh the browser. Do not copy `lib` manually; local installation reads both package metadata and `cordis.patch.yml`.
|
|
94
|
+
Restart DSH Web and hard-refresh the browser (usually `Ctrl+Shift+R`). Once the new sidebar appears, you are ready to use it. Uninstalling the plugin restores the default sidebar.
|
|
114
95
|
|
|
115
96
|
## Usage
|
|
116
97
|
|
|
@@ -123,54 +104,67 @@ Open DSH Web. The left navigation is rendered by this plugin.
|
|
|
123
104
|
| Collapse the sidebar | Use the header panel button. The expand control stays on the collapsed rail. |
|
|
124
105
|
| Pin a workspace | Drag it into **Pinned**, or use **Pin project** in the project menu. |
|
|
125
106
|
| Manage a conversation | Open the conversation menu to rename, pin, mark unread, archive, fork, copy, or delete. |
|
|
107
|
+
| Reuse input | Press Up/Down in an empty composer to recall text submitted in the current workspace. |
|
|
126
108
|
| Jump between turns | Use the turn marks on the left of the current conversation. |
|
|
127
109
|
| Inspect connectors | Open **Settings → Connectors**. Addresses, commands, and credentials are never shown. |
|
|
128
110
|
| Check companion plugins | Open **Settings → About** to install or update individual companion plugins. |
|
|
129
111
|
|
|
130
|
-
|
|
112
|
+
## FAQ
|
|
131
113
|
|
|
132
|
-
|
|
114
|
+
### Do pinned projects and unread markers persist?
|
|
133
115
|
|
|
134
|
-
|
|
135
|
-
| --- | --- | --- |
|
|
136
|
-
| Pinned workspaces | Host profile file with a `localStorage` cache | Survives DSH restarts and Desktop tray reloads |
|
|
137
|
-
| Unread conversations | `localStorage` key `dsh.session-unread.v1` | Current browser only |
|
|
138
|
-
| Conversation records | DSH host services | Unchanged by this plugin |
|
|
116
|
+
Pinned projects are saved in your DSH configuration and survive restarts. Unread markers are stored only in the current browser and do not sync across browsers.
|
|
139
117
|
|
|
140
|
-
|
|
141
|
-
- It does not modify host source code or the conversation data model.
|
|
142
|
-
- Permanent deletion of archived conversations is provided by `@michengai/dsh-archive-manager`.
|
|
143
|
-
- The Connectors directory never exposes addresses, commands, or credentials.
|
|
118
|
+
### Why is my earlier input missing?
|
|
144
119
|
|
|
145
|
-
|
|
120
|
+
Input history is stored in the current browser, separately for each workspace, with up to 200 entries per workspace. It records new input while the feature is active and does not import existing conversations. When browser storage is unavailable, history is kept temporarily in memory. The BTW plugin is not required.
|
|
146
121
|
|
|
147
|
-
|
|
148
|
-
- [src\client\index.ts](src/client/index.ts): client entry for sidebar, workspace tree, turn navigation, and Settings sections.
|
|
149
|
-
- [src\client\CodexSidebar.tsx](src/client/CodexSidebar.tsx): sidebar shell, search panel, and visual styles.
|
|
150
|
-
- [src\client\CodexWorkspaceBrowser.tsx](src/client/CodexWorkspaceBrowser.tsx): workspace and conversation interactions.
|
|
151
|
-
- `tests\*.assert.ts` and `tests\*.spec.ts`: interaction, visual, and runtime integration checks.
|
|
122
|
+
### Does removing a project delete local files?
|
|
152
123
|
|
|
153
|
-
|
|
124
|
+
Removing a workspace registration does not delete its folder or conversation records. Permanent deletion of archived conversations is provided by the companion Archive Manager plugin.
|
|
125
|
+
|
|
126
|
+
### What if nothing changes after installation?
|
|
127
|
+
|
|
128
|
+
Check that the installation profile matches the one running DSH Web, then restart DSH Web and hard-refresh the browser. Run `dsh --profile web --dump-config` to check that `codex-ui` is mounted.
|
|
129
|
+
|
|
130
|
+
## Development and contributing
|
|
131
|
+
|
|
132
|
+
### Install from source
|
|
133
|
+
|
|
134
|
+
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
154
135
|
|
|
155
136
|
```powershell
|
|
156
137
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
157
138
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
139
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
140
|
+
git clone https://github.com/MichengAI/dsh-codex-ui.git
|
|
141
|
+
Set-Location .\dsh-codex-ui
|
|
142
|
+
pnpm install --frozen-lockfile
|
|
158
143
|
pnpm build
|
|
159
|
-
pnpm test
|
|
160
144
|
dsh plugin --profile web add .
|
|
145
|
+
dsh --profile web --dump-config
|
|
161
146
|
```
|
|
162
147
|
|
|
163
|
-
|
|
148
|
+
Restart DSH Web and hard-refresh the browser. Do not copy `lib` manually; local installation reads both package metadata and `cordis.patch.yml`.
|
|
164
149
|
|
|
165
|
-
|
|
150
|
+
- [src\index.ts](src/index.ts): host entry and the non-sensitive Connectors directory endpoint.
|
|
151
|
+
- [src\client\index.ts](src/client/index.ts): client entry for sidebar, workspace tree, turn navigation, and Settings sections.
|
|
152
|
+
- [src\client\CodexSidebar.tsx](src/client/CodexSidebar.tsx): sidebar shell, search panel, and visual styles.
|
|
153
|
+
- [src\client\CodexWorkspaceBrowser.tsx](src/client/CodexWorkspaceBrowser.tsx): workspace and conversation interactions.
|
|
154
|
+
- `tests\*.assert.ts` and `tests\*.spec.ts`: interaction, visual, and runtime integration checks.
|
|
155
|
+
|
|
156
|
+
After changing `src`, rebuild, test, and install from the local directory:
|
|
166
157
|
|
|
167
158
|
```powershell
|
|
168
159
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
169
160
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
170
161
|
pnpm build
|
|
171
162
|
pnpm test
|
|
163
|
+
dsh plugin --profile web add .
|
|
172
164
|
```
|
|
173
165
|
|
|
166
|
+
New features should reuse existing DSH slots and public services. Do not depend on private host DOM or write conversation records.
|
|
167
|
+
|
|
174
168
|
## License
|
|
175
169
|
|
|
176
|
-
This project is licensed under [Apache License 2.0](LICENSE).
|
|
170
|
+
This project is licensed under [Apache License 2.0](LICENSE).
|
package/README.zh-CN.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# DSH Codex UI
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**让 DSH Web 中的项目更好整理、会话更快找到、长对话更易回看**
|
|
10
10
|
|
|
11
11
|
[English](README.md) · [更新日志](CHANGELOG.zh-CN.md) · [Apache-2.0](LICENSE)
|
|
12
12
|
|
|
@@ -18,29 +18,26 @@
|
|
|
18
18
|
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
> DSH Codex UI 是社区维护的 DeepSeek Harness(DSH
|
|
21
|
+
> DSH Codex UI 是社区维护的 DeepSeek Harness(DSH)界面增强插件,并非 DeepSeek AI 官方产品。
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
在 DSH Web 中同时处理多个项目和会话时,DSH Codex UI 帮你整理左侧导航、快速找到任务,并在长对话中跳回之前的提问。它提供 Codex 风格的界面,支持浅色和深色主题。
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
- 提供 Codex 风格顶栏:品牌标识、侧栏折叠和全局搜索。
|
|
27
|
-
- 工作区与会话支持展开折叠、拖拽排序、项目置顶、未读圆点和运行状态。
|
|
28
|
-
- 项目和会话菜单支持重命名、置顶、未读、归档、派生、打开目录、复制和删除。
|
|
29
|
-
- 调整会话列与输入卡片视觉,并为当前会话提供紧凑轮次导航。
|
|
30
|
-
- 空输入框按上下键召回已提交文本,按工作区隔离并保护草稿、输入法和候选菜单;无需安装 BTW。
|
|
31
|
-
- 在「设置 → 关于」展示配套插件状态,并可从 npm 安装缺失项。
|
|
25
|
+
## 你可以用它做什么
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
- **整理项目与会话**:展开或折叠项目、拖拽调整顺序、置顶常用项目,查看未读提醒和运行状态。
|
|
28
|
+
- **快速找到内容**:通过顶部搜索查找会话、设置和快捷操作。
|
|
29
|
+
- **管理日常任务**:在项目或会话菜单中重命名、归档、派生会话,或打开项目目录。
|
|
30
|
+
- **回看长对话**:点击轮次导航,直接跳到对应提问。
|
|
31
|
+
- **复用之前的输入**:输入框为空时,按上下方向键找回当前工作区中已提交的文本。
|
|
32
|
+
- **按需扩展功能**:在「设置 → 关于」查看配套插件,安装或更新需要的功能。
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
## 界面预览
|
|
38
35
|
|
|
39
36
|
浅色主题:Codex 风格侧栏、工作区会话树和会话列。
|
|
40
37
|
|
|
41
38
|

|
|
42
39
|
|
|
43
|
-
|
|
40
|
+
深色主题:适合偏好暗色界面的用户。
|
|
44
41
|
|
|
45
42
|

|
|
46
43
|
|
|
@@ -56,37 +53,36 @@
|
|
|
56
53
|
|
|
57
54
|
- 已可正常运行 DeepSeek Harness Web,且可在 PowerShell 中使用 `dsh`。
|
|
58
55
|
- 以下示例使用 `web` profile;请替换为实际目标 profile。
|
|
59
|
-
-
|
|
56
|
+
- 运行环境需满足 Node.js `^22.19.0 || >=24.0.0`;从源码安装还需要 pnpm。
|
|
60
57
|
|
|
61
58
|
## DSH 产品生态
|
|
62
59
|
|
|
63
|
-
Codex
|
|
60
|
+
想直接使用完整工作台,可下载 [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases);已有 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 环境,可按需独立安装以下 8 个自研插件。桌面端已随附这些插件。
|
|
64
61
|
|
|
65
|
-
|
|
|
62
|
+
| 插件 | 你可以用它做什么 |
|
|
66
63
|
| --- | --- |
|
|
67
|
-
| [
|
|
68
|
-
| [
|
|
69
|
-
|
|
|
64
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | 整理项目与会话、搜索任务、跳转对话轮次 |
|
|
65
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | 从微信、飞书、钉钉等消息平台下任务、收回复 |
|
|
66
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | 按计划执行任务,查看每次运行的结果 |
|
|
67
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | 统一查找、启停、创建和导入本机技能 |
|
|
68
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | 搜索、恢复或清理已归档会话 |
|
|
69
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | 按任务选择并召唤专业角色 |
|
|
70
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | 在当前上下文中临时旁问,不打断主任务 |
|
|
71
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | 用 /simplify 整理 Git 改动范围内的代码 |
|
|
70
72
|
|
|
71
73
|
## 安装
|
|
72
74
|
|
|
73
|
-
|
|
75
|
+
下面提供 Agent 代装和手动安装两种方式,使用同一条安装命令。示例指定最新版和官方 npm 源。
|
|
74
76
|
|
|
75
|
-
###
|
|
77
|
+
### 让 Agent 帮你安装(推荐)
|
|
76
78
|
|
|
77
|
-
|
|
79
|
+
把下面这段话发给任意能够执行本机终端命令的 Agent。将 `web` 替换为实际使用的 profile;安装完成后,在 DSH 中使用本插件。
|
|
78
80
|
|
|
79
81
|
```text
|
|
80
|
-
|
|
82
|
+
请将 DSH 插件 @michengai/dsh-codex-ui 安装到本机 web profile,执行:dsh plugin --profile web add @michengai/dsh-codex-ui@latest --registry=https://registry.npmjs.org/。安装后执行 dsh --profile web --dump-config,确认配置包含 codex-ui,并告诉我如何重新加载 DSH 和开始使用。
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
|
|
84
|
-
| --- | --- |
|
|
85
|
-
| DSH | 把上面这句话发给当前会话。 |
|
|
86
|
-
| Codex | 把上面这句话发给 Codex,让它在本机执行安装。 |
|
|
87
|
-
| WorkBuddy | 把上面这句话发给 WorkBuddy。 |
|
|
88
|
-
|
|
89
|
-
### 只安装 Codex UI
|
|
85
|
+
### 手动安装
|
|
90
86
|
|
|
91
87
|
```powershell
|
|
92
88
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
@@ -95,25 +91,7 @@ dsh plugin --profile web add @michengai/dsh-codex-ui@latest --registry=https://r
|
|
|
95
91
|
dsh --profile web --dump-config
|
|
96
92
|
```
|
|
97
93
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
### 从源码安装
|
|
101
|
-
|
|
102
|
-
适用于调试或使用未发布改动。克隆后的目录会直接作为插件安装路径:
|
|
103
|
-
|
|
104
|
-
```powershell
|
|
105
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
106
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
107
|
-
Set-Location D:\Repository\deepseek-harness-plugin
|
|
108
|
-
git clone https://github.com/MichengAI/dsh-codex-ui.git
|
|
109
|
-
Set-Location .\dsh-codex-ui
|
|
110
|
-
pnpm install --frozen-lockfile
|
|
111
|
-
pnpm build
|
|
112
|
-
dsh plugin --profile web add .
|
|
113
|
-
dsh --profile web --dump-config
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
完成后重启 DSH Web 并硬刷新浏览器。不要手工复制 `lib`;本地目录安装会同时读取包信息和 `cordis.patch.yml`。
|
|
94
|
+
安装后重启 DSH Web,并硬刷新浏览器(通常为 `Ctrl+Shift+R`)。看到新的侧栏后即可开始使用;卸载插件会恢复默认侧栏。
|
|
117
95
|
|
|
118
96
|
## 使用
|
|
119
97
|
|
|
@@ -126,54 +104,67 @@ dsh --profile web --dump-config
|
|
|
126
104
|
| 折叠侧栏 | 使用顶栏面板按钮。折叠后展开入口保留在窄轨顶部。 |
|
|
127
105
|
| 置顶项目 | 拖到「置顶」区域,或在项目菜单中选择「置顶项目」。 |
|
|
128
106
|
| 管理会话 | 打开会话菜单,进行重命名、置顶、未读、归档、派生、复制或删除。 |
|
|
107
|
+
| 复用输入 | 输入框为空时按上下方向键,召回当前工作区中之前提交的文本。 |
|
|
129
108
|
| 跳转轮次 | 使用当前会话左侧的轮次刻度跳转到对应提问。 |
|
|
130
109
|
| 查看连接器 | 打开「设置 → 连接器」。不会展示地址、命令或凭证。 |
|
|
131
110
|
| 查看配套插件 | 打开「设置 → 关于」,安装或更新各个配套插件。 |
|
|
132
111
|
|
|
133
|
-
|
|
112
|
+
## 常见问题
|
|
134
113
|
|
|
135
|
-
|
|
114
|
+
### 置顶和未读状态会保留吗?
|
|
136
115
|
|
|
137
|
-
|
|
138
|
-
| --- | --- | --- |
|
|
139
|
-
| 置顶项目 | Host Profile 文件,并使用 `localStorage` 缓存 | DSH 重启及 Desktop 托盘重新加载后仍保留 |
|
|
140
|
-
| 未读会话 | `localStorage` 键 `dsh.session-unread.v1` | 仅当前浏览器 |
|
|
141
|
-
| 会话记录 | DSH 宿主服务 | 本插件不改写 |
|
|
116
|
+
置顶项目保存在 DSH 配置中,重启后仍保留。未读标记仅保存在当前浏览器,不会跨浏览器同步。
|
|
142
117
|
|
|
143
|
-
|
|
144
|
-
- 不修改宿主源码或会话数据模型。
|
|
145
|
-
- 归档会话的永久删除由 `@michengai/dsh-archive-manager` 提供。
|
|
146
|
-
- 连接器目录不会展示地址、命令或凭证。
|
|
118
|
+
### 为什么找不到以前的输入?
|
|
147
119
|
|
|
148
|
-
|
|
120
|
+
输入历史按工作区分别保存在当前浏览器,每个工作区最多保留 200 条。它从功能启用后的新输入开始记录,不会从已有会话补录;浏览器存储不可用时,仅在内存中临时保留。无需额外安装 BTW 插件。
|
|
149
121
|
|
|
150
|
-
|
|
151
|
-
- [src\client\index.ts](src/client/index.ts):客户端入口,注册侧栏、工作区树、轮次导航和设置分区。
|
|
152
|
-
- [src\client\CodexSidebar.tsx](src/client/CodexSidebar.tsx):侧栏壳、搜索面板和视觉样式。
|
|
153
|
-
- [src\client\CodexWorkspaceBrowser.tsx](src/client/CodexWorkspaceBrowser.tsx):工作区和会话交互。
|
|
154
|
-
- `tests\*.assert.ts` 与 `tests\*.spec.ts`:交互、样式和运行时集成验证。
|
|
122
|
+
### 移除项目会删除本地文件吗?
|
|
155
123
|
|
|
156
|
-
|
|
124
|
+
删除项目注册不会删除项目目录或会话记录。归档会话的永久删除功能由配套的 Archive Manager 插件提供。
|
|
125
|
+
|
|
126
|
+
### 安装后没有看到变化怎么办?
|
|
127
|
+
|
|
128
|
+
确认安装命令中的 profile 与正在运行的 DSH Web 一致,再重启 DSH Web 并硬刷新浏览器。可运行 `dsh --profile web --dump-config` 检查是否已挂载 `codex-ui`。
|
|
129
|
+
|
|
130
|
+
## 开发与贡献
|
|
131
|
+
|
|
132
|
+
### 从源码安装
|
|
133
|
+
|
|
134
|
+
适用于调试或使用未发布改动。克隆后的目录会直接作为插件安装路径:
|
|
157
135
|
|
|
158
136
|
```powershell
|
|
159
137
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
160
138
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
139
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
140
|
+
git clone https://github.com/MichengAI/dsh-codex-ui.git
|
|
141
|
+
Set-Location .\dsh-codex-ui
|
|
142
|
+
pnpm install --frozen-lockfile
|
|
161
143
|
pnpm build
|
|
162
|
-
pnpm test
|
|
163
144
|
dsh plugin --profile web add .
|
|
145
|
+
dsh --profile web --dump-config
|
|
164
146
|
```
|
|
165
147
|
|
|
166
|
-
|
|
148
|
+
完成后重启 DSH Web 并硬刷新浏览器。不要手工复制 `lib`;本地目录安装会同时读取包信息和 `cordis.patch.yml`。
|
|
167
149
|
|
|
168
|
-
|
|
150
|
+
- [src\index.ts](src/index.ts):Host 入口,以及不含敏感信息的连接器目录接口。
|
|
151
|
+
- [src\client\index.ts](src/client/index.ts):客户端入口,注册侧栏、工作区树、轮次导航和设置分区。
|
|
152
|
+
- [src\client\CodexSidebar.tsx](src/client/CodexSidebar.tsx):侧栏壳、搜索面板和视觉样式。
|
|
153
|
+
- [src\client\CodexWorkspaceBrowser.tsx](src/client/CodexWorkspaceBrowser.tsx):工作区和会话交互。
|
|
154
|
+
- `tests\*.assert.ts` 与 `tests\*.spec.ts`:交互、样式和运行时集成验证。
|
|
155
|
+
|
|
156
|
+
修改 `src` 后重新构建、测试,并以本地目录安装验证:
|
|
169
157
|
|
|
170
158
|
```powershell
|
|
171
159
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
172
160
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
173
161
|
pnpm build
|
|
174
162
|
pnpm test
|
|
163
|
+
dsh plugin --profile web add .
|
|
175
164
|
```
|
|
176
165
|
|
|
166
|
+
新增功能应复用已有 DSH 插槽和公开服务;不要依赖宿主私有 DOM 或写入会话数据。
|
|
167
|
+
|
|
177
168
|
## 许可证
|
|
178
169
|
|
|
179
|
-
本项目采用 [Apache License 2.0](LICENSE)
|
|
170
|
+
本项目采用 [Apache License 2.0](LICENSE)。
|