mirror of
https://gh-proxy.org/https://github.com/klinsmaya/workdsh.git
synced 2026-11-10 02:17:22 +08:00
release: prepare v0.1.0-alpha.7
This commit is contained in:
@@ -139,7 +139,7 @@ A **feature plugin** is an installable software module. A **skill** is a user-ma
|
||||
|
||||

|
||||
|
||||
Standalone installation retains Harness branding and native navigation. The optional presentation bundle adds WorkDSH branding and its dark theme.
|
||||
Standalone installation retains Harness branding and native navigation. The optional presentation bundle adds WorkDSH branding and the workbench composition.
|
||||
|
||||
</details>
|
||||
|
||||
@@ -150,12 +150,12 @@ Each installable module has a matching **GitHub prerelease, versioned package, S
|
||||
| Module | Package version | Download | Scope |
|
||||
| --- | --- | --- | --- |
|
||||
| Library | `[email protected]` | [Library `.tgz`](https://github.com/techflag/workdsh/releases/download/library-v0.1.0-alpha.1/workdsh-plugin-library-0.1.0-alpha.1.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/library-v0.1.0-alpha.1) | Local folders, full-text search, original previews, fixed revisions, and new-conversation context. |
|
||||
| Skill management | `[email protected]0` | [Skill `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-skills-0.1.0-alpha.30.tgz) · [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | Independently installable feature plugin. |
|
||||
| Experts | `[email protected].5` | [Expert `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-experts-0.1.0-alpha.5.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | Expert definitions and reviewed revisions composed with the official DSH Team runtime. |
|
||||
| Connectors | `[email protected].1` | [Connector `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-connectors-0.1.0-alpha.1.tgz) · [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | Multiple stdio/HTTP MCP instances, official credential storage, health/tool discovery, and per-conversation tool isolation. |
|
||||
| Activity | `[email protected]` | [Activity `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-activity-0.1.0-alpha.4.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | Visible task, skill, and expert-team activity. |
|
||||
| Office | `[email protected]` | [Office `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-office-0.1.0-alpha.7.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | Supported editable working copies, previews, and file export. |
|
||||
| WorkDSH presentation | `[email protected]6` | [Presentation `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-bundle-0.1.0-alpha.46.tgz) · [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | Optional brand, theme, and workbench composition. Install feature plugins separately. |
|
||||
| Skill management | `[email protected]1` | [Skill `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-skills-0.1.0-alpha.31.tgz) · [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | Independently installable feature plugin. |
|
||||
| Experts | `[email protected].7` | [Expert `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-experts-0.1.0-alpha.7.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | Expert definitions and reviewed revisions composed with the official DSH Team runtime. |
|
||||
| Connectors | `[email protected].2` | [Connector `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-connectors-0.1.0-alpha.2.tgz) · [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | Multiple stdio/HTTP MCP instances, official credential storage, health/tool discovery, and per-conversation tool isolation. |
|
||||
| Activity | `[email protected]` | [Activity `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-activity-0.1.0-alpha.4.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | Visible task, skill, and expert-team activity. |
|
||||
| Office | `[email protected]` | [Office `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-office-0.1.0-alpha.7.tgz) · [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | Supported editable working copies, previews, and file export. |
|
||||
| WorkDSH presentation | `[email protected]7` | [Presentation `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-bundle-0.1.0-alpha.47.tgz) · [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | Optional brand and workbench composition. Install feature plugins separately. |
|
||||
|
||||
Workbench `alpha.10` is currently delivered within the presentation bundle. Shared UI, contracts, and the local identity/access/audit foundation are supporting packages, **not standalone end-user downloads**. See the [complete module map](docs/RELEASES.md).
|
||||
|
||||
@@ -165,7 +165,7 @@ Workbench `alpha.10` is currently delivered within the presentation bundle. Shar
|
||||
|
||||
Use **Node.js 22.19+ on the 22 LTS line, or Node 24+**, **pnpm 10.34.5**, and the official **Harness CLI `0.1.6-alpha.2`**. These commands assume `dsh` resolves to that CLI, rather than an older desktop launcher.
|
||||
|
||||
For the complete product, download every asset from [project release `v0.1.0-alpha.6`](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) into one directory. The Library is currently a separate prerelease, so also download the [Library Alpha package](https://github.com/techflag/workdsh/releases/tag/library-v0.1.0-alpha.1). Stop the target profile, `cd` to that directory, install the project bundle, then add the Library package separately:
|
||||
For the complete product, download every asset from [project release `v0.1.0-alpha.7`](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) into one directory. The Library is currently a separate prerelease, so also download the [Library Alpha package](https://github.com/techflag/workdsh/releases/tag/library-v0.1.0-alpha.1). Stop the target profile, `cd` to that directory, install the project bundle, then add the Library package separately:
|
||||
|
||||
```sh
|
||||
node install-workdsh.mjs --profile workdsh
|
||||
@@ -180,12 +180,12 @@ dsh plugin --profile workdsh add "$PWD/workdsh-provider-identity-local-0.1.0-alp
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-audit-0.1.0-alpha.4.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-access-0.1.0-alpha.5.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-library-0.1.0-alpha.1.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-skills-0.1.0-alpha.30.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-experts-0.1.0-alpha.5.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-connectors-0.1.0-alpha.1.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-skills-0.1.0-alpha.31.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-experts-0.1.0-alpha.7.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-connectors-0.1.0-alpha.2.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-activity-0.1.0-alpha.4.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-office-0.1.0-alpha.7.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-bundle-0.1.0-alpha.46.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-bundle-0.1.0-alpha.47.tgz"
|
||||
dsh --profile workdsh
|
||||
```
|
||||
|
||||
@@ -272,7 +272,7 @@ Public expert creation is reusable across domains, with methods, real Skill sele
|
||||
|
||||
### Native PPT editing preview
|
||||
|
||||
[Office alpha.7 project release and installable archive](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6)
|
||||
[Office alpha.7 project release and installable archive](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7)
|
||||
|
||||

|
||||
|
||||
@@ -339,17 +339,17 @@ The current build inventory additionally includes the following package versions
|
||||
| [react-remove-scroll-bar](https://github.com/theKashey/react-remove-scroll-bar) | 2.3.8 | MIT |
|
||||
| [unicount](https://github.com/josephg/unicount) | 1.1.0 | ISC |
|
||||
|
||||
## 2026-09-19 Project alpha release / 项目级预览发行
|
||||
## 2026-09-20 Project alpha release / 项目级预览发行
|
||||
|
||||
本批通过九个精确安装包的隔离官方 Web Profile 安装、匿名 401 / 认证 200 边界检查、Host 冷启动与全部模块移除后冷启动。完整构建、110 项集成测试、14 项活动测试、2 项规划测试通过。验证环境:Harness 0.1.6-alpha.2,Node 22.23.2,macOS。小时级专家团稳定性、任意 Office 保真及多平台整体验收尚未完成。
|
||||
本批修复设置页「外观」切换不生效(外观改由官方 ThemeRuntime 与用户偏好驱动,浅色/深色/跟随系统即时生效),能力中心删除「行业应用」标签,并修复设置导航重复的「Agent 预设」页。本批通过九个精确安装包的隔离官方 Web Profile 安装、匿名 401 / 认证 200 边界检查、Host 冷启动与全部模块移除后冷启动。完整构建、110 项集成测试、14 项活动测试、2 项规划测试通过。验证环境:Harness 0.1.6-alpha.2,Node 22.23.2,macOS。小时级专家团稳定性、任意 Office 保真及多平台整体验收尚未完成。
|
||||
|
||||
| 模块 | 安装包版本 | 下载 |
|
||||
| --- | --- | --- |
|
||||
| experts | `[email protected].5` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-experts-0.1.0-alpha.5.tgz) |
|
||||
| skills | `[email protected]0` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-skills-0.1.0-alpha.30.tgz) |
|
||||
| connectors | `[email protected].1` | [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-connectors-0.1.0-alpha.1.tgz) |
|
||||
| activity | `[email protected]` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-activity-0.1.0-alpha.4.tgz) |
|
||||
| office | `[email protected]` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-office-0.1.0-alpha.7.tgz) |
|
||||
| bundle | `[email protected]6` | [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-bundle-0.1.0-alpha.46.tgz) |
|
||||
| experts | `[email protected].7` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-experts-0.1.0-alpha.7.tgz) |
|
||||
| skills | `[email protected]1` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-skills-0.1.0-alpha.31.tgz) |
|
||||
| connectors | `[email protected].2` | [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-connectors-0.1.0-alpha.2.tgz) |
|
||||
| activity | `[email protected]` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-activity-0.1.0-alpha.4.tgz) |
|
||||
| office | `[email protected]` | [Release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-office-0.1.0-alpha.7.tgz) |
|
||||
| bundle | `[email protected]7` | [Project release](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) · [tgz](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-bundle-0.1.0-alpha.47.tgz) |
|
||||
|
||||
下载所需tgz后,使用官方CLI:`dsh plugin --profile <profile> add /absolute/path/<package>.tgz`。基础身份、审计与授权配套见专家发行附件;各模块独立安装。仅发布GitHub alpha附件,未发布npm注册表。Office依赖引用与声明许可证见下文;现有notice及检查报告保留。
|
||||
|
||||
+13
-13
@@ -139,7 +139,7 @@ flowchart TB
|
||||
|
||||

|
||||
|
||||
单独安装技能插件时保留 Harness 品牌和原生导航;可选展示组合包提供 WorkDSH 品牌及深色主题。
|
||||
单独安装技能插件时保留 Harness 品牌和原生导航;可选展示组合包提供 WorkDSH 品牌与工作台组合。
|
||||
|
||||
</details>
|
||||
|
||||
@@ -150,12 +150,12 @@ flowchart TB
|
||||
| 模块 | 包版本 | 下载 | 安装范围 |
|
||||
| --- | --- | --- | --- |
|
||||
| 资料库 | `[email protected]` | [资料库 `.tgz`](https://github.com/techflag/workdsh/releases/download/library-v0.1.0-alpha.1/workdsh-plugin-library-0.1.0-alpha.1.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/library-v0.1.0-alpha.1) | 本地目录、全文搜索、原件预览、固定修订与新对话上下文。 |
|
||||
| 技能管理 | `[email protected]0` | [技能 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-skills-0.1.0-alpha.30.tgz) · [项目发行](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | 可独立安装的 Harness 功能插件。 |
|
||||
| 专家 | `[email protected].5` | [专家 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-experts-0.1.0-alpha.5.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | 专家定义、已审阅修订及其与官方 DSH Team 运行时的组合。 |
|
||||
| 连接器 | `[email protected].1` | [连接器 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-connectors-0.1.0-alpha.1.tgz) · [项目发行](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | 多 stdio/HTTP MCP 实例、官方凭据存储、健康与工具发现、按对话隔离工具。 |
|
||||
| 工作动态 | `[email protected]` | [动态 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-activity-0.1.0-alpha.4.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | 显示任务、技能和专家团队工作状态。 |
|
||||
| Office | `[email protected]` | [Office `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-plugin-office-0.1.0-alpha.7.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | 支持范围内的可编辑工作副本、预览和文件导出。 |
|
||||
| WorkDSH 展示组合 | `[email protected]6` | [展示 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.6/workdsh-bundle-0.1.0-alpha.46.tgz) · [项目发行](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) | 可选品牌、主题与工作台组合;功能插件按需独立安装。 |
|
||||
| 技能管理 | `[email protected]1` | [技能 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-skills-0.1.0-alpha.31.tgz) · [项目发行](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | 可独立安装的 Harness 功能插件。 |
|
||||
| 专家 | `[email protected].7` | [专家 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-experts-0.1.0-alpha.7.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | 专家定义、已审阅修订及其与官方 DSH Team 运行时的组合。 |
|
||||
| 连接器 | `[email protected].2` | [连接器 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-connectors-0.1.0-alpha.2.tgz) · [项目发行](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | 多 stdio/HTTP MCP 实例、官方凭据存储、健康与工具发现、按对话隔离工具。 |
|
||||
| 工作动态 | `[email protected]` | [动态 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-activity-0.1.0-alpha.4.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | 显示任务、技能和专家团队工作状态。 |
|
||||
| Office | `[email protected]` | [Office `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-plugin-office-0.1.0-alpha.7.tgz) · [发布页](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | 支持范围内的可编辑工作副本、预览和文件导出。 |
|
||||
| WorkDSH 展示组合 | `[email protected]7` | [展示 `.tgz`](https://github.com/techflag/workdsh/releases/download/v0.1.0-alpha.7/workdsh-bundle-0.1.0-alpha.47.tgz) · [项目发行](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) | 可选品牌与工作台组合;功能插件按需独立安装。 |
|
||||
|
||||
Workbench `alpha.10` 目前随展示包交付。共享 UI、contracts 和本地身份/授权/审计基础属于配套包,**不作为面向用户的独立下载项**。完整对应关系见[模块发布说明](docs/RELEASES.md)。
|
||||
|
||||
@@ -165,7 +165,7 @@ Workbench `alpha.10` 目前随展示包交付。共享 UI、contracts 和本地
|
||||
|
||||
使用 **Node.js 22 LTS 的 22.19+ 或 Node 24+**、**pnpm 10.34.5**,以及官方 **Harness CLI `0.1.6-alpha.2`**。以下命令要求 `dsh` 指向该版本 CLI,而不是旧桌面应用的启动器。
|
||||
|
||||
完整产品请把[项目发行 `v0.1.0-alpha.6`](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6)的全部资产下载到同一目录;资料库目前是独立预发布,还需下载[资料库 Alpha 安装包](https://github.com/techflag/workdsh/releases/tag/library-v0.1.0-alpha.1)。停止目标 Profile,进入下载目录后先安装项目总包,再单独加入资料库:
|
||||
完整产品请把[项目发行 `v0.1.0-alpha.7`](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7)的全部资产下载到同一目录;资料库目前是独立预发布,还需下载[资料库 Alpha 安装包](https://github.com/techflag/workdsh/releases/tag/library-v0.1.0-alpha.1)。停止目标 Profile,进入下载目录后先安装项目总包,再单独加入资料库:
|
||||
|
||||
```sh
|
||||
node install-workdsh.mjs --profile workdsh
|
||||
@@ -180,12 +180,12 @@ dsh plugin --profile workdsh add "$PWD/workdsh-provider-identity-local-0.1.0-alp
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-audit-0.1.0-alpha.4.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-access-0.1.0-alpha.5.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-library-0.1.0-alpha.1.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-skills-0.1.0-alpha.30.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-experts-0.1.0-alpha.5.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-connectors-0.1.0-alpha.1.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-skills-0.1.0-alpha.31.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-experts-0.1.0-alpha.7.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-connectors-0.1.0-alpha.2.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-activity-0.1.0-alpha.4.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-plugin-office-0.1.0-alpha.7.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-bundle-0.1.0-alpha.46.tgz"
|
||||
dsh plugin --profile workdsh add "$PWD/workdsh-bundle-0.1.0-alpha.47.tgz"
|
||||
dsh --profile workdsh
|
||||
```
|
||||
|
||||
@@ -258,7 +258,7 @@ corepack pnpm probe:browser
|
||||
|
||||
### 原生 PPT 编辑预览
|
||||
|
||||
[Office alpha.7 项目发行与安装包](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6)
|
||||
[Office alpha.7 项目发行与安装包](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7)
|
||||
|
||||

|
||||
|
||||
|
||||
+10
-4
@@ -30,10 +30,10 @@
|
||||
| --- | --- | --- | --- |
|
||||
| 领域公开契约 | 0.1 | `[email protected]` | implemented |
|
||||
| 共享展示组件 | 0.1 | `[email protected]` | implemented |
|
||||
| 默认组合包 | 0.1 | `[email protected]6` | in_progress |
|
||||
| 默认组合包 | 0.1 | `[email protected]7` | in_progress |
|
||||
| 工作台 | 0.1 | `[email protected]` | implemented |
|
||||
| 专家管理 | 0.1 | `[email protected].5` | in_progress |
|
||||
| 技能管理 | 0.1 | `[email protected]0` | implemented |
|
||||
| 专家管理 | 0.1 | `[email protected].7` | in_progress |
|
||||
| 技能管理 | 0.1 | `[email protected]1` | implemented |
|
||||
| 资源授权 | 0.1 | `[email protected]` | implemented |
|
||||
| 审计 | 0.1 | `[email protected]` | implemented |
|
||||
| 本地身份提供方 | 0.1 | `[email protected]` | implemented |
|
||||
@@ -41,10 +41,16 @@
|
||||
| 协作与活动展示 | 0.1 | `[email protected]` | in_progress |
|
||||
| 项目管理 | 0.1 | `[email protected]` | in_progress |
|
||||
| 资料库 | 0.1 | `[email protected]` | implemented |
|
||||
| 连接器管理 | 0.1 | `[email protected].1` | in_progress |
|
||||
| 连接器管理 | 0.1 | `[email protected].2` | in_progress |
|
||||
|
||||
2026-09-18 更新:bundle、experts、skills、office、activity、projects、library 跟随 DSH 0.1.6-alpha.2 升级 bump;contracts 补 bump α.9(补记 2026-09-17 项目任务上下文只读契约 `ProjectTaskContext`/`taskContext`,属兼容补全);experts/office/activity 同时携带其未发布批次;公开发行仍以上次 prerelease 为准。
|
||||
|
||||
2026-09-20 更新:experts bump α.5→α.6(Unreleased)——修复设置面板重复「Agent 预设」页:移除对官方增量 list 槽 `settings.section` 的包装注册,保留 `conversation.hero.agentPreset` 单座槽接管;公开 prerelease 仍为 α.5,待下次发行携带。
|
||||
|
||||
2026-09-20 更新(二):skills α.30→α.31、experts α.6→α.7、connectors α.1→α.2(均 Unreleased)——按用户决定删除能力中心「行业应用」标签入口(行业应用暂时用不到,暂无领域实现,能力页保留专家/技能/连接器三标签);公开 prerelease 仍为 skills α.30、experts α.5、connectors α.1,待下次发行携带。
|
||||
|
||||
2026-09-20 更新(三):bundle α.46→α.47(Unreleased)——修复设置页「外观」切换不生效:工作台客户端不再注册并强制 `workdsh` 深色主题、不再拦截 `theme/change`,外观改由官方 ThemeRuntime 与用户偏好驱动(浅色/深色/跟随系统即时生效,选中态恢复);bundle 的 `dsh.client.inject` 与开发依赖同步移除 `@deepseek-ai/dsh-client-ui-theme`。公开 prerelease 仍为 bundle α.46,待下次发行携带。
|
||||
|
||||
以下旧快照仅供追溯,旧“专家planned”不覆盖当前实现。
|
||||
|
||||
## 历史版本线快照(被2026-09-14表覆盖)
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
## 2026-09-20 WorkDSH 项目级 alpha.7
|
||||
|
||||
[`v0.1.0-alpha.7`](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.7) 是 Harness `0.1.6-alpha.2` 基线上的维护版。九个可安装包中四个模块更新:skills `alpha.31`、experts `alpha.7`、connectors `alpha.2`、bundle `alpha.47`;identity-local、audit、access、office、activity 沿用当前已验收版本。
|
||||
|
||||
修复设置页「外观」切换不生效:工作台客户端不再强制 `workdsh` 深色主题、不再拦截 `theme/change`,外观改由官方 ThemeRuntime 与用户偏好驱动,浅色/深色/跟随系统即时生效。能力中心删除「行业应用」标签(用户决定,暂用不到);修复设置导航重复的「Agent 预设」页,移除对官方 `settings.section` 增量槽的包装式注册。构建、typecheck、集成 110/110、活动 14/14、规划 2/2 与精确版本门禁通过;macOS 已覆盖九包隔离安装与冷启动;Windows、Linux、卸载与自动回滚仍未验收。相对 alpha.6,专家团长任务探针、真实模型两阶段交接、连接器隔离探针与腾讯文档实连未在本批制品上复跑。
|
||||
|
||||
## 2026-09-19 WorkDSH 项目级 alpha.6
|
||||
|
||||
[`v0.1.0-alpha.6`](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) 将项目组合升级到 DeepSeek Harness `0.1.6-alpha.2`。九个可安装包中五个模块随升级与开发推进更新:skills `alpha.30`、experts `alpha.5`、office `alpha.7`、activity `alpha.4`、bundle `alpha.46`;identity-local、audit、access、connectors 沿用当前已验收版本。
|
||||
|
||||
@@ -1,3 +1,37 @@
|
||||
## 2026-09-20:外观(主题)切换修复(bundle α.47,用户报告)
|
||||
|
||||
用户报告设置→通用设置→外观切换不起作用(附截图)。根因:`packages/bundle/src/client/harness/client.ts` 客户端注册并强制 `workdsh` 深色主题、监听 `theme/change` 把非深色快照拉回。设置页点击实际已写入 settings(settings.yaml 实证 light 已持久化),但 DOM 被立即拉回深色,且激活偏好变成非内置值,三个选项均无选中态。官方 `ui-theme` 偏好与 ThemePresenter 应用链本身完好,问题全部来自该强制层(alpha.1 起引入,对应 UI-DESIGN 旧表述“维持深色呈现”)。
|
||||
|
||||
修复:bundle α.46→α.47(随本批发布)删除主题强制块与 `ui-theme` import;`dsh.client.inject` 与 devDependencies 的 ui-theme 引用同步移除;UI-DESIGN 相关表述改写为“外观由官方 ThemeRuntime 与用户偏好驱动,不注册第二套主题、不拦截 theme/change”。构建与 typecheck 通过;重装预览并重启后浏览器实测:加载按 system 解析生效,点「深色」→ themeSource=dark、body 深色,点「浅色」→ 白底且 settings.yaml 同步写入,点「跟随系统」→ source=system,三选项选中态正确显示。
|
||||
|
||||
同日 preview 清理:`dsh.profile.bundles` 又出现两个滞留 agent-team bundle(19→17,疑似运行中 UI 操作写回),备份 `.test-runtime/preview/_fix-backup-1789890313/` 后移除,dump-config 无重复 id。
|
||||
|
||||
未执行:刷新后持久性的最后一轮浏览器复验被中断(三向切换与 settings 写入当日已实测);未单独复跑浅色全站深度视觉走查。
|
||||
|
||||
## 2026-09-20:能力中心「行业应用」标签删除(用户决定修正)
|
||||
|
||||
用户明确指令:删除能力中心「行业应用」标签项(`['apps', '行业应用']`),行业应用暂时用不到;此前批次记录的“隐藏、实现后恢复”处理按此修正为删除。
|
||||
|
||||
核对现状:三处 `capabilityTabs`(ExpertsPanel/SkillsPanel/ConnectorsPanel)源码与构建产物均已不含该标签项,能力页保留专家/技能/连接器三标签。文档同步:skills α.31 / experts α.7 / connectors α.2(Unreleased)CHANGELOG、MODULE-VERSIONS 与 UI-DESIGN 措辞由“隐藏(实现后恢复)”改为“删除(暂时用不到)”。应用域规划与模块登记(applications 模块、D08/P1-05)保留,台账与交付顺序未变。
|
||||
|
||||
预览生效过程(用户报告界面仍显示「行业应用」):根因是预览环境装载的是旧制品(skills α.29 / experts α.6 / connectors α.1,均含四标签),源码与工作区 dist 的删除未同步到预览。本批次重新 `npm pack` 三个包并装入 preview(skills α.31 sha256 `aad8517e…5759`、experts α.7 `86453460…ce31`、connectors α.2 `60d440a8…a4ef`),重启后浏览器实测能力中心工具栏为 3 个标签「专家/技能/连接器」,页面全文无「行业应用」(uid 快照与 DOM 统计双证)。未执行:专家/技能/连接器各标签页深度交互复跑(本轮仅验证标签栏与技能页首屏);未提交、未推送。
|
||||
|
||||
## 2026-09-20:preview 启动阻塞修复(滞留 agent-team-profile 层)
|
||||
|
||||
用户要求启动 WorkDSH 预览;启动报 `duplicate loader entry id: agent-team`。根因:preview profile 的 `dsh.profile.bundles` 中存在无代码/脚本引用的滞留条目 `@deepseek-ai/dsh-experimental-agent-team-profile`(0.1.6-alpha.2 升级仅作 pnpm.overrides 版本锁定,仓库脚本与文档均无装配引用),其官方 patch 与 workdsh-plugin-experts 的 "Official Team composition" 插入重复的 `agent-team`/`tool-agent-team` 条目。按 2026-09-15 用户授权决定(官方 Team 由 experts 插件装配)移除该滞留条目,保留 experts 装配(maxMembers: 16);原 package.json 备份于 /tmp/preview-profile-package.json.bak。
|
||||
|
||||
验证:dump-config 仅剩一个 `id: agent-team`;`corepack pnpm preview`(Node 22.23.2,heap 8192,隔离 Home .test-runtime/preview)启动成功,18989 token 兑换 303 → 首页 200;Client 启动图含 workdsh-plugin-experts/office/activity 与 client-ui-agent-team。
|
||||
|
||||
未执行:浏览器真实交互与专家团真实模型任务;未提交、未推送、未改仓库代码与锁文件。备注:preview 当前制品批次为 Sep 19 安装(experts α.4 / skills α.29 / bundle α.45),落后于已发布 alpha.6 制品(α.5/α.30/α.46),未在本轮重装。
|
||||
|
||||
同日续:按用户要求在 WorkDSH 预览环境安装第三方插件 `@wxg-prc-cpg/[email protected]`(腾讯 BrowserSkill 的 DSH 插件)。经官方 `dsh plugin --profile preview add`(DSH_HOME=.test-runtime/preview)装入,bundles 追加、dump-config 含 `id: browserskill`;重启预览后经认证 API `/api/workdsh-skills` list 实测技能总数 169、含 `browser-skill`(state=readonly,插件自带技能)。同插件此前已按用户最初命令装入 `~/.dsh/profiles/web`(Host/client 加载已单独验证)。浏览器扩展连接(bsk 0 连接)与 `browser_*` 工具端到端调用未验证;pnpm 忽略构建脚本警告为既有依赖,未处理。
|
||||
|
||||
同日续二:修复用户报告的设置面板出现两个「Agent 预设」页。根因:`workdsh-plugin-experts` 的 PresetMenu 为在原生设置页过滤专家预设并拦截对它们的“设为默认/复制”,对 `settings.section` 槽做了包装式注册(复用官方 id/order/label);但该槽是官方声明的增量 list 槽——每条注册各自成页、无替换语义,包装只会生成第二个同名设置页(实测两条目内容相同、DOM 同图标,且不随开关累积)。`conversation.hero.agentPreset` 是单座槽(后注册者接管),那里的包装仍然有效。按用户选定方案 A 移除包装:`PresetMenu.tsx` 删除 settings.section 包装注册(保留 hero 单座槽接管与守卫),`tests/integration/expert-native-presets.test.mjs` 改为单注册断言并新增防回归(注册项不得含 settings.section)。expert-native-presets 3/3、专家相关(manager/preset-authoring/preset-projection)21/21 通过,构建后 `client.browser.js` 中 settings.section 计数为 0。
|
||||
|
||||
experts 由 α.5 bump 至 α.6(Unreleased,含 CHANGELOG/README/MODULE-VERSIONS);tarball sha256 `80266b1e…f47349`,装入 preview(file: 依赖指向新 tarball)并重启,浏览器实测设置导航 7 项且「Agent 预设」恰好 1 个(修复前 2 个),设置页内容正常、控制台无错误。已知边界:设置页层面的专家预设过滤与守卫随包装移除(依赖官方 Host,官方页自身对 broken 预设提供“加载失败”标记与禁用/删除)。附带发现(与本修复无关,未处理):预览数据中 3 个自定义预设显示“加载失败”(需求分析顾问、工作复盘顾问、重复的旧钱日清 `wd-exp-member-e65ec2cc5a6d-5503a26730a7`),其 compose 引用 harness 已更名的 `@deepseek-ai/dsh-workflow-worker-thread`(现为 `workflow-ptc`)。新会话 hero 席位的真实选专家任务未复跑。
|
||||
|
||||
同日续三(用户追问「agent 为什么会加载失败」,复核并修正上条判断):从运行界面读取官方悬停原因,3 行完全相同——`row "workflow-worker-thread" names a plugin that cannot be resolved: @deepseek-ai/dsh-workflow-worker-thread`。机制:官方 `dsh-agent-presets` 发现期健康检查(`packageInstalled`)从 harnessBase 逐级向上查 `node_modules/<pkg>/package.json`,任一插件行不可解析即整份预设标 broken(设置页「加载失败」徽标、选择器过滤、不可设为默认/复制)。修正上条:①需求分析顾问(rev-5058e190350f)与工作复盘顾问(rev-5c1bd5347882)**当前发布修订本身**仍是 `workdsh-expert-compiler/0.1` 于 9-12 编译的产物(origin=default 内置种子,并非“已删专家”),专家详情显示「preset 异常/请重新发布后再召唤」且不可召唤,修复路径=专家页重新发布(`presetIdFor` 将 COMPILER_VERSION 计入摘要,重编必产新目录、必含 `workflow-ptc` 行);②旧钱日清行 `wd-exp-member-e65ec2cc5a6d-5503a26730a7` 是被 rev-6fde772afe3d 取代的历史修订(rev-d495197e1084,0.1 编译)的残留目录,当前发布的钱日清修订(`…-22b44693c88f`,0.3 编译)健康,不影响钱日清当前使用。主环境 `~/.dsh` 亦有同批 3 个引用 worker-thread 的旧预设(含文档评审顾问),但主环境 node_modules 链仍解析到 0.1.5-rc.1 的该包(全局 dsh 自带、hoisted),按官方解析算法可解析——该失败为 alpha.2 运行环境(预览)特有。未执行:重新发布修复动作本身、残留目录清理、主环境运行态复核。
|
||||
|
||||
## 2026-09-19:WorkDSH v0.1.0-alpha.6 公开发布回执
|
||||
|
||||
按既定项目级发布流程完成 alpha.6 公开发布:源码提交 `debc429`(release: prepare)+ `ab096f0`(installer 测试断言修复)已推送 main(`8ba8626..debc429`),annotated tag `v0.1.0-alpha.6` 指向发布提交;GitHub prerelease [v0.1.0-alpha.6](https://github.com/techflag/workdsh/releases/tag/v0.1.0-alpha.6) 携带 13 个资产(九包 .tgz + SHA256SUMS + release-manifest.json + RELEASE-NOTES.md + install-workdsh.mjs),未发布 npm。
|
||||
|
||||
+4
-4
@@ -78,7 +78,7 @@
|
||||
|
||||
### 能力中心
|
||||
|
||||
顶部直接排列专家/技能/连接器标签、右侧搜索与“我的”入口,不设置营销标题。行业应用保留产品入口,呈现位置随应用域设计确定,不删除功能。
|
||||
顶部直接排列专家/技能/连接器标签、右侧搜索与“我的”入口,不设置营销标题。(2026-09-20 用户决定:行业应用暂时用不到,删除能力中心该标签入口;应用域规划与模块不删除。)
|
||||
|
||||
专家发布前以已保存且校验过的定义提供完整使用预览,包含专业设定、真实固定技能与示例;预览不自动试用或发布。采用公共Modal,正文内部滚动、确认操作固定;完整内容可审阅,不能仅展示60字截断摘要。版本摘要收在辅助详情里,用户先看到用途和专业内容。
|
||||
|
||||
@@ -246,7 +246,7 @@ D01 后续必须验证:公开布局/Slot 的替换范围、默认首页选择
|
||||
|
||||
## 17. 正式界面与原型对齐(用户纠偏)
|
||||
|
||||
能力页直接使用专家/技能/连接器/行业应用分类工具栏、右侧搜索、“我安装的 N”入口和“添加技能”。技能页是用户或组织的全局技能库,不显示任务选择器;所有 WorkDSH 业务任务默认解析全局技能层,项目与 preset 只增加受控范围或覆盖。任务页可展示本次运行最终解析结果,但不能反向成为技能所有者。当前产品没有 SkillHub、套件和可靠的技能分类元数据,不展示空标签、虚构分类或无动作筛选器。
|
||||
能力页直接使用专家/技能/连接器分类工具栏(行业应用标签按 2026-09-20 用户决定删除)、右侧搜索、“我安装的 N”入口和“添加技能”。技能页是用户或组织的全局技能库,不显示任务选择器;所有 WorkDSH 业务任务默认解析全局技能层,项目与 preset 只增加受控范围或覆盖。任务页可展示本次运行最终解析结果,但不能反向成为技能所有者。当前产品没有 SkillHub、套件和可靠的技能分类元数据,不展示空标签、虚构分类或无动作筛选器。
|
||||
|
||||
信息架构可以保留“已安装/公共技能”两个范围,但当前不开发公共市场,只展示 Harness 默认/本地已安装集合。分类在企业版设计中是独立目录对象,不写入 Harness 官方 frontmatter。未来企业服务端返回真实 taxonomy 且至少存在两个有效分类后,才显示可操作分类筛选;当前没有数据时只显示“全部”和已安装集合。
|
||||
|
||||
@@ -254,9 +254,9 @@ D01 后续必须验证:公开布局/Slot 的替换范围、默认首页选择
|
||||
|
||||
“我安装的”是市场页内的独立视图:市场头部“我安装的 N”入口进入,页面含“全部技能”返回链接、计数标题、“批量管理”与“搜索已安装的技能”页内搜索,卡片、批量与详情复用市场同一实现;进入与返回重置面板滚动并把焦点分别迁移到返回链接与入口。列表采用紧凑卡片,展示真实名称、摘要和调用状态;选择卡片进入独立详情层,返回后保留列表条件。详情顶部包含返回、标识、名称、摘要与“去试试”;试用通过官方 Session 和 Conversation 预填 `/name`。概述区只渲染 Host 契约实际返回的正文与元数据。编辑、打开目录、启停和卸载必须分别接入授权、路径及冲突处理,不得以无动作菜单或仅改 Client 状态模拟。长列表进入详情必须重置内容滚动位置。
|
||||
|
||||
正式工作台使用官方 ThemeRuntime 注册 WorkDSH 中性深色,生命周期内维持深色呈现;不写用户全局主题偏好,卸载恢复原偏好。普通入口不显示接入诊断;调试 query 可显式开启。
|
||||
正式工作台的外观由官方 ThemeRuntime 与用户偏好驱动:设置页的浅色/深色/跟随系统即时生效,不注册第二套主题、不拦截 theme/change,也不写用户全局主题偏好。普通入口不显示接入诊断;调试 query 可显式开启。
|
||||
|
||||
验收必须在真实 Host 页面检查 sidebar 与内容同时为深色,不能只对主面板截图。原生导航与全业务导航之间剩余差异单独记录,不靠示例数据填充。
|
||||
验收深色外观时必须在真实 Host 页面检查 sidebar 与内容同时为深色,不能只对主面板截图。原生导航与全业务导航之间剩余差异单独记录,不靠示例数据填充。
|
||||
|
||||
## 18. 正式公共侧栏切片
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# WorkDSH v0.1.0-alpha.7
|
||||
|
||||
这是 WorkDSH 在 Harness `0.1.6-alpha.2` 基线上的维护版。九个可安装包中四个模块更新:skills `alpha.31`、experts `alpha.7`、connectors `alpha.2`、bundle `alpha.47`;identity-local、audit、access、office、activity 沿用当前已验收版本。
|
||||
|
||||
## 本版更新
|
||||
|
||||
- 修复设置页「外观」切换不生效:工作台客户端不再注册并强制 `workdsh` 深色主题、不再拦截 `theme/change`;外观改由官方 ThemeRuntime 与用户偏好驱动,浅色/深色/跟随系统即时生效,三个选项的选中态恢复显示。
|
||||
- 能力中心删除「行业应用」标签(用户决定,暂用不到):专家、技能、连接器三个页面的标签栏只保留专家/技能/连接器;应用域规划与模块登记保留,交付顺序未变。
|
||||
- 修复设置导航出现两个「Agent 预设」页:移除对官方 `settings.section` 增量槽的包装式注册(保留会话 hero 单座槽接管与守卫)。设置页层面的专家预设过滤随包装移除,官方页自身对不可用预设提供“加载失败”标记与禁用/删除。
|
||||
|
||||
## 安装或升级
|
||||
|
||||
Release 附带九个 `.tgz`、`SHA256SUMS`、`release-manifest.json`、本说明和校验型安装器。把全部资产放在同一目录,停止目标 Profile 后执行:
|
||||
|
||||
```sh
|
||||
node install-workdsh.mjs --profile workdsh
|
||||
dsh --profile workdsh
|
||||
```
|
||||
|
||||
如果 `workdsh` 不存在,安装器创建它;如果已经存在,安装器原地升级插件并保留数据。可用 `--dry-run` 查看命令,也可用 `--dsh /absolute/path/to/dsh` 指定 CLI。安装器不会写入或输出连接器令牌与模型密钥。
|
||||
|
||||
## 验证范围
|
||||
|
||||
- Node.js `22.23.2`、pnpm `10.34.5`、macOS,Harness `0.1.6-alpha.2`。
|
||||
- 全仓 build 与 typecheck PASS;集成 110/110、活动 14/14、规划 2/2;`check:plan` PASS(29 模块/50 文档)、`check:versions` PASS(513 条 α2 锁定)。
|
||||
- 隔离环境全新安装九个包、匿名 401 / 认证 200 边界检查与 Host 冷启动。
|
||||
- 预览环境浏览器实测:外观三向切换即时生效与选中态恢复、能力中心三标签且无「行业应用」、设置导航单一「Agent 预设」页。
|
||||
- 九包打包、SHA-256 清单、发布清单和安装器 dry-run。
|
||||
|
||||
## 已知边界
|
||||
|
||||
- 目前只完成 macOS 验收;Windows 与 Linux 暂缓。
|
||||
- 卸载、事务式自动回滚、签名、SBOM 和构建来源证明尚未交付。
|
||||
- 连接器交互式 OAuth、多账号切换和凭据迁移尚未完成;已验证的是令牌授权。
|
||||
- 小时级专家团稳定性和官方 fork 成员浏览器历史仍未签收。
|
||||
- 相对 alpha.6,专家团长任务探针、真实模型两阶段交接、连接器隔离探针与腾讯文档实连未在本批制品上复跑。
|
||||
- 设置页对专家预设的“设为默认/复制”过滤随本版移除,过滤仅保留在会话 hero 席位。
|
||||
- projects 与 library 源码同步推进到 `0.1.0-alpha.2`,不进入本次安装组合;library 保持独立发行。
|
||||
- 这是 GitHub 资产发行,未发布 npm;模块 API 与保存数据仍可能变化。
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "workdsh",
|
||||
"version": "0.1.0-alpha.6",
|
||||
"version": "0.1.0-alpha.7",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"description": "WorkDSH planning and plugin workspace",
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 0.1.0-alpha.47 — 2026-09-20
|
||||
|
||||
- 修复设置页「外观」切换不生效:工作台客户端不再注册并强制 `workdsh` 深色主题、不再拦截 `theme/change`;外观改由官方 ThemeRuntime 与用户偏好驱动,浅色/深色/跟随系统切换即时生效,三个选项的选中态恢复显示。
|
||||
|
||||
# 0.1.0-alpha.46 — 2026-09-18
|
||||
|
||||
- 跟随 DSH 0.1.6-alpha.2 升级:组合包与功能插件的官方依赖精确锁定同步至 `0.1.6-alpha.2`;projects、experts、skills、library、office、activity 六个客户端插件完成 Client Session 迁移。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "workdsh-bundle",
|
||||
"version": "0.1.0-alpha.46",
|
||||
"version": "0.1.0-alpha.47",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"description": "WorkDSH default Harness bundle and client composition",
|
||||
@@ -36,8 +36,7 @@
|
||||
"@deepseek-ai/dsh-client-ui-layout",
|
||||
"@deepseek-ai/dsh-client-ui-sidebar",
|
||||
"@deepseek-ai/dsh-api-remotes",
|
||||
"@deepseek-ai/dsh-api-session-controller",
|
||||
"@deepseek-ai/dsh-client-ui-theme"
|
||||
"@deepseek-ai/dsh-api-session-controller"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -59,7 +58,6 @@
|
||||
"@deepseek-ai/dsh-client-ui-renderer": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-sidebar": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-slots": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-theme": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-skill": "0.1.6-alpha.2",
|
||||
"@types/react": "19.2.14",
|
||||
"react": "19.2.4",
|
||||
|
||||
@@ -2,14 +2,13 @@ import type { Context } from '@deepseek-ai/cordis';
|
||||
import type {} from '@deepseek-ai/dsh-api-remotes/client';
|
||||
import type {} from '@deepseek-ai/dsh-client-ui-renderer/client';
|
||||
import type {} from '@deepseek-ai/dsh-client-ui-sidebar/client';
|
||||
import type {} from '@deepseek-ai/dsh-client-ui-theme/client';
|
||||
import * as workbench from 'workdsh-plugin-workbench';
|
||||
import { BrandMark, BrandName, DiagnosticsMark } from '../components/Brand.js';
|
||||
import { DiagnosticsPanel, type Inventory } from '../components/DiagnosticsPanel.js';
|
||||
import { NavigationLocation } from '../components/NavigationLocation.js';
|
||||
|
||||
export const name = 'workdsh-client';
|
||||
export const inject = ['slots', 'layout', 'remote', 'remote.pluginInventory', 'theme'];
|
||||
export const inject = ['slots', 'layout', 'remote', 'remote.pluginInventory'];
|
||||
|
||||
const productViews: Readonly<Record<string, string>> = {
|
||||
experts: 'workdsh-experts', skills: 'workdsh-skills', assistant: 'workdsh-assistant', projects: 'workdsh-projects',
|
||||
@@ -28,23 +27,8 @@ export function apply(ctx: Context): void {
|
||||
return selected;
|
||||
};
|
||||
|
||||
const previousTheme = ctx.theme.getTheme().preference;
|
||||
const unregisterTheme = ctx.theme.register({ id: 'workdsh', colorScheme: 'dark', tokens: {
|
||||
'--dsw-alias-bg-layer-1': '#121212', '--dsw-alias-bg-layer-2': '#202020',
|
||||
'--dsw-alias-bg-layer-3': '#242424', '--dsw-alias-label-primary': '#e7e7e7',
|
||||
'--dsw-alias-label-secondary': '#a5a5a5', '--dsw-specific-sidebar-fill': '#202020',
|
||||
'--dsw-specific-sidebar-nav-item-active': '#3a3a3a',
|
||||
} });
|
||||
const stopThemeSync = ctx.on('theme/change', snapshot => {
|
||||
if (snapshot.active.colorScheme !== 'dark') ctx.theme.setTheme('workdsh');
|
||||
});
|
||||
ctx.theme.setTheme('workdsh');
|
||||
ctx.effect(() => () => {
|
||||
stopThemeSync();
|
||||
if (ctx.theme.getTheme().active.id === 'workdsh') ctx.theme.setTheme(previousTheme);
|
||||
unregisterTheme();
|
||||
});
|
||||
|
||||
// Appearance follows the official ThemeRuntime and the user's Settings and
|
||||
// system preference; the workbench must not pin a theme or veto theme/change.
|
||||
ctx.plugin(workbench);
|
||||
ctx.slots.inject('sidebar.brand.name', () => ctx.slots.register({ name: 'sidebar.brand.name', priority: -10 }, BrandName));
|
||||
ctx.slots.inject('sidebar.brand.mark', () => ctx.slots.register({ name: 'sidebar.brand.mark', priority: -10 }, BrandMark));
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 0.1.0-alpha.2 — Unreleased(2026-09-20)
|
||||
|
||||
- 按用户决定删除能力中心「行业应用」标签入口(行业应用暂时用不到,暂无领域实现);能力页工具栏保留专家/技能/连接器三个标签。
|
||||
|
||||
# 0.1.0-alpha.1 — 2026-09-15
|
||||
|
||||
- 新增真实的本地 stdio MCP 示例,复用 DSH 0.1.6 官方 MCP Client、工具发现、资源读取和生命周期。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "workdsh-plugin-connectors",
|
||||
"version": "0.1.0-alpha.1",
|
||||
"version": "0.1.0-alpha.2",
|
||||
"private": false,
|
||||
"type": "module",
|
||||
"description": "MCP connector management and a verified local example for WorkDSH",
|
||||
|
||||
@@ -31,7 +31,7 @@ export function ConnectorsPanel({ toggleNavigation, management, openCapability,
|
||||
const remove = async () => { if (!removeTarget) return; setBusy(true); setError(''); try { await management.remove(removeTarget.id); setRemoveTarget(undefined); await refresh(); } catch (cause) { setError(cause instanceof Error ? cause.message : '删除连接器失败。'); setBusy(false); } };
|
||||
const normalized = query.trim().toLowerCase(); const filtered = rows.filter(row => `${row.title} ${row.description} ${row.serverName} ${row.toolNames.join(' ')}`.toLowerCase().includes(normalized));
|
||||
const detail = rows.find(row => row.id === expanded);
|
||||
const capabilityTabs = [['experts', '专家'], ['skills', '技能'], ['connectors', '连接器'], ['apps', '行业应用']] as const;
|
||||
const capabilityTabs = [['experts', '专家'], ['skills', '技能'], ['connectors', '连接器']] as const;
|
||||
const capabilityKey: Record<string, string> = { experts: 'workdsh-experts', skills: 'workdsh-skills', connectors: 'workdsh-connectors' };
|
||||
return <section className="wd-connectors" data-testid="workdsh-connectors"><style>{connectorCss}</style>
|
||||
<header className="cap-header"><button className="nav-toggle" onClick={toggleNavigation} aria-label="切换导航">导航</button>
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
## 0.1.0-alpha.7 — Unreleased(2026-09-20)
|
||||
|
||||
- 按用户决定删除能力中心「行业应用」标签入口(行业应用暂时用不到,暂无领域实现);能力页工具栏保留专家/技能/连接器三个标签。
|
||||
|
||||
## 0.1.0-alpha.6 — Unreleased(2026-09-20)
|
||||
|
||||
- 修复设置面板出现两个「Agent 预设」页:`settings.section` 是增量 list 槽(每次注册各自成页,无替换语义),PresetMenu 对它的包装注册只会在官方页旁再生成一个同名页。现移除该包装注册,仅保留 `conversation.hero.agentPreset` 单座槽的接管(专家预设过滤与设为默认/复制守卫继续生效);设置页列表回到官方 Host 行为。
|
||||
- 测试同步:`expert-native-presets` 断言单一注册并新增防回归检查(注册项不得包含 `settings.section`)。
|
||||
|
||||
## 0.1.0-alpha.5 — 2026-09-18
|
||||
|
||||
- 适配 DeepSeek Harness 0.1.6-alpha.2:成员与子代理根会话改用官方 `sessions.subagentAddress` 解析;打开专家会话改用官方 `uiWorkspace.openSession` 导航。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# WorkDSH 专家插件 / Experts plugin
|
||||
|
||||
一个插件管理多个专家与专家团配置。当前源码候选为 `[email protected].5`,面向 **DeepSeek Harness 0.1.6-alpha.2 / Cordis 4.0.2**;候选代码与已经发布的安装包分别验收。
|
||||
一个插件管理多个专家与专家团配置。当前源码候选为 `[email protected].7`,面向 **DeepSeek Harness 0.1.6-alpha.2 / Cordis 4.0.2**;候选代码与已经发布的安装包分别验收。
|
||||
|
||||
WorkDSH manages authored expert assets and immutable revisions. Team execution, messaging, tasks and the Web team panel use the official DSH Agent Teams plugins.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "workdsh-plugin-experts",
|
||||
"version": "0.1.0-alpha.5",
|
||||
"version": "0.1.0-alpha.7",
|
||||
"private": false,
|
||||
"type": "module",
|
||||
"description": "Local expert management plugin for DeepSeek Harness (D04 / P1-02, expert module 0.1)",
|
||||
|
||||
@@ -180,7 +180,7 @@ export function ExpertsPanel({ toggleNavigation, management, openCapability, has
|
||||
catch (cause) { setError(messageOf(cause)); } finally { setActing(false); }
|
||||
};
|
||||
|
||||
const capabilityTabs = [['experts', '专家'], ['skills', '技能'], ['connectors', '连接器'], ['apps', '行业应用']] as const;
|
||||
const capabilityTabs = [['experts', '专家'], ['skills', '技能'], ['connectors', '连接器']] as const;
|
||||
const capabilityKey: Record<string, string> = { experts: 'workdsh-experts', skills: 'workdsh-skills', connectors: 'workdsh-connectors' };
|
||||
const isDraft = (summary: ExpertSummary) => summary.publishedRevisionRef === undefined;
|
||||
const stateLabel = (summary: ExpertSummary) => isDraft(summary) ? '草稿' : AVAILABILITY_LABEL[summary.availability];
|
||||
|
||||
@@ -26,35 +26,39 @@ function StableNativePresetSeat(props: any) {
|
||||
return <Native {...seatProps} load={load}/>;
|
||||
}
|
||||
|
||||
/** Native controllers stay owned by Harness; expert execution uses the binding-aware summon path. */
|
||||
/**
|
||||
* Native controllers stay owned by Harness; expert execution uses the binding-aware summon path.
|
||||
*
|
||||
* Only the new-session control is wrapped: `conversation.hero.agentPreset` is a single-seat
|
||||
* slot, so a later registration takes the seat over. `settings.section` is an additive list
|
||||
* slot (every registration is its own page with no replacement semantics), so wrapping it
|
||||
* only produced a duplicate "Agent 预设" page next to the Harness-owned one. The settings
|
||||
* page stays the Harness owner's; expert presets remain guarded by the Host-side preset
|
||||
* checks, not by a second client page.
|
||||
*/
|
||||
export function installExpertPresetMenu(ctx: Context, _management: ExpertManagementClient): void {
|
||||
const install = (key: string, entryId?: string) => {
|
||||
const install = (key: string) => {
|
||||
let dispose: (() => void) | undefined;
|
||||
const ready = () => {
|
||||
if (dispose) return;
|
||||
const original = ctx.slots.entriesOfSlot(key as any).find((entry: any) => entryId ? entry.options.id === entryId : !!entry.inject);
|
||||
const original = ctx.slots.entriesOfSlot(key as any).find((entry: any) => !!entry.inject);
|
||||
if (!original?.inject) return;
|
||||
const Native = original.component as React.ComponentType<any>;
|
||||
const projected = new WeakMap<object, any>();
|
||||
const project = (state: any, field: 'rows' | 'options') => {
|
||||
const project = (state: any, field: 'options') => {
|
||||
let value = projected.get(state);
|
||||
if (!value) { value = { ...state, [field]: nativePresetRows(state[field]) }; projected.set(state, value); }
|
||||
return value;
|
||||
};
|
||||
function PublicPresets(props: any) {
|
||||
if (entryId) {
|
||||
const useSection = (selector: (state: any) => unknown) => props.useAgentPresetSection((state: any) => selector(project(state, 'rows')));
|
||||
return <Native {...props} useAgentPresetSection={useSection} makeDefault={async (id: string) => { requireNativePreset(id); await props.makeDefault(id); }} beginCopy={(id: string) => { requireNativePreset(id); props.beginCopy(id); }}/>;
|
||||
}
|
||||
const current = props.useAgentPresetSeat((state: any) => state.current);
|
||||
if (current && !isNativePreset(current)) return <SummonedExpertSeat {...props}/>;
|
||||
const useSeat = (selector: (state: any) => unknown) => props.useAgentPresetSeat((state: any) => selector(project(state, 'options')));
|
||||
return <StableNativePresetSeat Native={Native} {...props} useAgentPresetSeat={useSeat} select={async (id: string) => { requireNativePreset(id); return props.select(id); }} />;
|
||||
}
|
||||
dispose = ctx.slots.register({ name: key, ...(entryId ? { id: entryId, order: original.options.order, label: original.options.label } : {}), priority: -10, locale: 'settings.agentPreset', inject: original.inject } as any, PublicPresets);
|
||||
dispose = ctx.slots.register({ name: key, priority: -10, locale: 'settings.agentPreset', inject: original.inject } as any, PublicPresets);
|
||||
};
|
||||
ctx.effect(() => { const stop = ctx.slots.subscribe(key as any, ready); ready(); return () => { stop(); dispose?.(); }; }, `workdsh.expert-preset-menu.${entryId ?? 'seat'}`);
|
||||
ctx.effect(() => { const stop = ctx.slots.subscribe(key as any, ready); ready(); return () => { stop(); dispose?.(); }; }, 'workdsh.expert-preset-menu.seat');
|
||||
};
|
||||
install('conversation.hero.agentPreset');
|
||||
install('settings.section', 'agent-presets');
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.1.0-alpha.31 — Unreleased(2026-09-20)
|
||||
|
||||
- 按用户决定删除能力中心「行业应用」标签入口(行业应用暂时用不到,暂无领域实现);能力页工具栏保留专家/技能/连接器三个标签。
|
||||
|
||||
## 0.1.0-alpha.30 — Unreleased(2026-09-18)
|
||||
|
||||
- 适配 DeepSeek Harness 0.1.6-alpha.2:当前会话改由 `SessionSummary.retainedBy.mainView` 推导;打开技能会话改用官方 `uiWorkspace.openSession` 导航。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
> GitHub 模块制品与兼容矩阵:[发布说明](../../../docs/RELEASES.md)。当前验证 Harness **0.1.6-alpha.2 Web**;内置 **0.1.2-rc.1** 的旧桌面入口缺失尚未修复,本包不包含该兼容修复。
|
||||
|
||||
状态:**Skill 0.1 本地面向用户的技能市场与独立安装交付完成**。当前候选制品 `[email protected]0`,尚未发布 npm。一个插件管理多个 Skill 业务对象;用户制作技能不需要发布 npm 包。
|
||||
状态:**Skill 0.1 本地面向用户的技能市场与独立安装交付完成**。当前候选制品 `[email protected]1`,尚未发布 npm。一个插件管理多个 Skill 业务对象;用户制作技能不需要发布 npm 包。
|
||||
|
||||
本包提供标准 Host `apply/inject`、独立 Client `apply/inject`、`dsh.bundle` 配置 patch 和 `dsh.client` 浏览器产物。官方 Loader/Profile/Cordis 拥有加载及生命周期;不依赖 WorkDSH 总包或另一个插件框架。独立安装、默认组合、移除与重装见[实际验收](../../../docs/evidence/skills-standalone-package.md)。
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "workdsh-plugin-skills",
|
||||
"version": "0.1.0-alpha.30",
|
||||
"version": "0.1.0-alpha.31",
|
||||
"private": false,
|
||||
"type": "module",
|
||||
"exports": {
|
||||
|
||||
@@ -211,7 +211,7 @@ export function SkillsPanel({ toggleNavigation, management, startSkillTask, star
|
||||
const available = entries.filter(entry => !entry.installed && inCategory(entry.categories) && (matches(entry.name) || matches(entry.title) || matches(entry.description)));
|
||||
const filtered = skills.filter(skill => inCategory(skill.categories) && matches(`${skill.name} ${skill.title ?? ''} ${skill.localizedDescription ?? skill.description} ${skill.whenToUse ?? ''}`));
|
||||
const installedFiltered = skills.filter(skill => `${skill.name} ${skill.title ?? ''} ${skill.localizedDescription ?? skill.description} ${skill.whenToUse ?? ''}`.toLowerCase().includes(installedQuery.trim().toLowerCase()));
|
||||
const capabilityTabs = [['experts', '专家'], ['skills', '技能'], ['connectors', '连接器'], ['apps', '行业应用']] as const;
|
||||
const capabilityTabs = [['experts', '专家'], ['skills', '技能'], ['connectors', '连接器']] as const;
|
||||
const capabilityKey: Record<string, string> = { experts: 'workdsh-experts', skills: 'workdsh-skills', connectors: 'workdsh-connectors' };
|
||||
const countsLine = <div role="status" aria-live="polite" className={error ? 'error counts' : notice ? 'notice counts' : 'muted counts'}>{busy ? '正在读取…' : error || notice || `共 ${skills.length} 个已安装技能 · 当前显示 ${view === 'installed' ? installedFiltered.length : filtered.length} 个`}</div>;
|
||||
const batchBar = <div className="batch-bar" role="toolbar" aria-label="批量管理技能"><span>已选择 {selectedNames.length} 项</span><button disabled={!selectedNames.length || busy} onClick={() => void runBatch('enable')}>启用</button><button disabled={!selectedNames.length || busy} onClick={() => void runBatch('disable')}>停用</button><button className="danger" disabled={!selectedNames.length || busy} onClick={() => setConfirmBatchUninstall(true)}>卸载</button></div>;
|
||||
|
||||
@@ -61,17 +61,17 @@ await writeFile(join(destination, 'release-manifest.json'), JSON.stringify({
|
||||
verified: [
|
||||
'full build and typecheck on Harness 0.1.6-alpha.2',
|
||||
'110 integration tests, 14 activity tests and 2 planning tests',
|
||||
'planning and exact-version gates (29 modules / 50 documents; 513 locked entries)',
|
||||
'browser-verified appearance switching (light / dark / system), capability tabs without the industry-apps tab and a single Agent presets settings page in the packaged Web preview',
|
||||
'fresh-profile installation of the nine packages on Harness 0.1.6-alpha.2, authenticated 200 / anonymous 401 checks and Host cold start',
|
||||
'planning and exact-version gates',
|
||||
'packaged Web expert-team long task, reconnect, interrupt/resume, handoff, failure visibility and cold recovery',
|
||||
'explicit real-model lead, analyst and reviewer two-stage Team handoff',
|
||||
'connector tool/resource discovery, lifecycle, multi-instance and per-session isolation probe',
|
||||
'real Tencent Docs token connection and read-only account query in WorkDSH',
|
||||
'cold Host startup after all nine modules are removed',
|
||||
'nine-package packing with SHA-256 checksums and a checksum-verifying installer',
|
||||
],
|
||||
limitations: [
|
||||
'alpha preview; package APIs and stored data may change',
|
||||
'interactive OAuth, connector multi-account switching and public authorization are not complete',
|
||||
'hour-scale expert-team soak, official fork-member browser history, arbitrary Office fidelity and cross-platform acceptance remain incomplete',
|
||||
'relative to alpha.6, the packaged expert-team long task, real-model two-stage handoff, connector isolation probe and Tencent Docs connection were not re-run on this batch artifacts',
|
||||
'packages are GitHub assets and are not published to the npm registry',
|
||||
],
|
||||
}, null, 2) + '\n');
|
||||
|
||||
@@ -10,26 +10,25 @@ test('native new-session and default menus exclude every compiled expert includi
|
||||
});
|
||||
|
||||
import { installExpertPresetMenu } from '../../packages/plugins/experts/dist/client/PresetMenu.js';
|
||||
test('both native Slot adapters filter the roster and refuse internal select/default mutations', async () => {
|
||||
test('native new-session Slot adapter filters the roster and refuses internal select mutations', async () => {
|
||||
const registrations = [];
|
||||
const ctx = { slots: {
|
||||
entriesOfSlot: key => [{ options: key === 'settings.section' ? {id:'agent-presets',order:20,label:'Agent presets'} : {}, inject: () => ({}), component: 'native-preset' }],
|
||||
entriesOfSlot: () => [{ options: {}, inject: () => ({}), component: 'native-preset' }],
|
||||
register: (options, component) => { registrations.push({options, component}); return () => {}; },
|
||||
subscribe: () => () => {},
|
||||
}, effect: callback => callback() };
|
||||
installExpertPresetMenu(ctx, {});
|
||||
assert.equal(registrations.length, 2);
|
||||
assert.equal(registrations.length, 1);
|
||||
// Regression: 'settings.section' is an additive list slot — re-registering it (same id or not)
|
||||
// rendered a second "Agent 预设" page next to the Harness-owned one.
|
||||
assert.ok(registrations.every(entry => entry.options.name !== 'settings.section'));
|
||||
const rows = [{id:'dsh-base'}, {id:'wd-exp-public-expert'}];
|
||||
let writes = 0;
|
||||
const seat = registrations[0].component({ useAgentPresetSeat: selector => selector({options:rows}), select: async () => { writes++; } });
|
||||
assert.deepEqual(seat.props.useAgentPresetSeat(s => s.options), rows.slice(0,1));
|
||||
await assert.rejects(seat.props.select(rows[1].id), /召唤专家/);
|
||||
const settings = registrations[1].component({ useAgentPresetSection: selector => selector({rows}), makeDefault: async () => { writes++; }, beginCopy: () => { writes++; } });
|
||||
assert.deepEqual(settings.props.useAgentPresetSection(s => s.rows), rows.slice(0,1));
|
||||
await assert.rejects(settings.props.makeDefault(rows[1].id), /召唤专家/);
|
||||
assert.throws(() => settings.props.beginCopy(rows[1].id), /召唤专家/);
|
||||
assert.equal(writes, 0);
|
||||
await settings.props.makeDefault('dsh-base');
|
||||
await seat.props.select('dsh-base');
|
||||
assert.equal(writes, 1);
|
||||
});
|
||||
|
||||
@@ -37,7 +36,7 @@ test('summoned expert keeps the unfiltered authored roster for its read-only lab
|
||||
let Seat;
|
||||
const ctx = {slots:{entriesOfSlot: () => [{options:{},inject:()=>({}),component:'native'}], subscribe:()=>()=>{},register:(_,component)=>{Seat=component;return ()=>{};}},effect:fn=>fn()};
|
||||
installExpertPresetMenu(ctx, {});
|
||||
// Capture the hero adapter (the fake settings owner intentionally does not match).
|
||||
// The single registration is the hero-seat adapter.
|
||||
const rows=[{id:'standard',name:'标准模式'},{id:'wd-exp-finance',name:'公司财务专家团'}];
|
||||
const element=Seat({useAgentPresetSeat:selector=>selector({current:'wd-exp-finance',options:rows})});
|
||||
assert.equal(element.props.useAgentPresetSeat(s=>s.options)[1].name,'公司财务专家团');
|
||||
|
||||
Reference in New Issue
Block a user