@eduwork/dsh-oidc 0.2.2 → 0.2.4
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.en.md +6 -38
- package/CHANGELOG.md +7 -39
- package/CODE_OF_CONDUCT.en.md +1 -1
- package/CODE_OF_CONDUCT.md +1 -1
- package/CONTRIBUTING.en.md +1 -1
- package/CONTRIBUTING.md +1 -1
- package/README.md +19 -16
- package/{README.en.md → README_EN.md} +15 -8
- package/SECURITY.en.md +1 -1
- package/SECURITY.md +1 -1
- package/SUPPORT.en.md +1 -1
- package/SUPPORT.md +1 -1
- package/docs/EDUWORK-MIGRATION.en.md +2 -8
- package/docs/EDUWORK-MIGRATION.md +2 -8
- package/docs/compatibility.en.md +3 -25
- package/docs/compatibility.md +3 -25
- package/docs/desktop-host.en.md +55 -55
- package/docs/desktop-host.md +64 -64
- package/docs/development.en.md +6 -4
- package/docs/development.md +6 -4
- package/docs/dsh-integration.en.md +2 -2
- package/docs/dsh-integration.md +2 -2
- package/docs/getting-started.en.md +4 -4
- package/docs/getting-started.md +4 -4
- package/docs/open-integration.en.md +73 -0
- package/docs/open-integration.md +73 -0
- package/docs/reasoning-replay.en.md +13 -0
- package/docs/reasoning-replay.md +17 -0
- package/docs/release-checklist.en.md +7 -61
- package/docs/release-checklist.md +7 -61
- package/docs/server-integration-contract.en.md +4 -2
- package/docs/server-integration-contract.md +5 -3
- package/examples/enterprise-profile.example.json +78 -78
- package/examples/identity-only.example.json +1 -1
- package/examples/resources-discovery.example.json +1 -1
- package/lib/provider/core.js +1 -0
- package/lib/provider/transform-adapter.js +27 -1
- package/lib/provider/transforms.js +0 -1
- package/lib/typert.host.js +38 -38
- package/lib/typert.remote-client.js +37 -37
- package/package.json +6 -5
- package/schema/enterprise-profile.v1alpha1.schema.json +193 -193
package/CHANGELOG.en.md
CHANGED
|
@@ -6,44 +6,12 @@ All notable changes are documented here. The format follows Keep a Changelog pri
|
|
|
6
6
|
|
|
7
7
|
## [0.2.0] - 2026-09-11
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- Local candidate `0.2.0-dev.20260910.7`: unify the default as `EDUWORK_API_KEY`, accepting legacy automatic Profile/Provider names. Migrate only identical deployment bindings without overwriting the target. Session credential fingerprints prevent another login from reading or clearing the active key. Add Host-only `resolveBoundCredential` for extension adapters; no new RPC or organization-switching UI.
|
|
16
|
-
|
|
17
|
-
- `0.2.0-dev.20260910.6`: public OIDC now owns identity/key/models only. Removed quota HTTP, normalization, RPC fields and UI; legacy native mode no longer calls quota. Added a Host-only bounded model-resource transport and the official `oidc.account.menu.details` child slot for explicitly installed institution extensions.
|
|
18
|
-
- Exact RC.1 closure: 264 DSH packages, 78 tests and 6 compiled-browser checks; includes no implicit quota requests, host credential/destination boundaries and logout races. Existing managed keys and personal model selection survive. Public RFC/OpenAPI no longer require quota; heartbeat remains institution-only.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- `0.2.0-dev.20260910.5`: restore the public avatar menu with quota, refresh, sign-out, keyboard navigation and outside-focus dismissal, including collapsed sidebars. Desktop callback cards use configured branding and system fonts without authorization secrets or raw server errors.
|
|
22
|
-
- Adapt to official DSH `0.1.5-rc.1` PiAi `modelErrors`, preserving model capabilities and default selection. Serialize vault cleanup and reject late identity/key/quota writes after logout. A coherent 264-package closure, 75 tests and 7 compiled-browser checks pass; final native assembly belongs to the mainline.
|
|
23
|
-
- Expand the server RFC across identity, resource discovery, key lifecycle, models, quota, refresh/logout, versions and errors; validate resource OpenAPI examples using the real normalizer. Heartbeat is a default-off optional proposal only.
|
|
24
|
-
|
|
25
|
-
- Desktop acceptance revised the same `.20260910.4` candidate: onboarding stays visible with disabled actions while the key is connected but default-model selection is still pending, and closes only after selection completes.
|
|
26
|
-
|
|
27
|
-
- Unpublished candidate `0.2.0-dev.20260910.4` fixes independent stale account state in sign-in, sidebar and organization settings. Late reads cannot overwrite newer state; official credential events and connection recovery refresh all consumers. Explicit sign-in/provisioning uses DSH 0.1.5 default/current-session model APIs; upgrade recovery preserves usable personal choices and personal credentials. Added race regressions, compiled-client rendering, real HTTP PKCE/Key/default-settings tests and a local synthetic server for desktop acceptance.
|
|
28
|
-
|
|
29
|
-
- Unpublished candidate `0.2.0-dev.20260910.3` restores compatibility with the existing `worker.user-center.v1` resource protocol while retaining new protocols and unknown-version checks. Errors distinguish authenticated identity from disconnected model resources. File-managed settings offer host-backed configuration and example buttons; organization settings stay read-only and personal models remain available.
|
|
30
|
-
|
|
31
|
-
- Unpublished `0.2.0-dev.20260910.1` adds desktop OIDC without persistent WebServer: temporary loopback PKCE, Host browser service, safe result polling and cancellation, preserving host credentials and existing resource protocols. See [desktop host integration](docs/desktop-host.en.md).
|
|
32
|
-
|
|
33
|
-
- Unpublished 0.2.0-dev.20260909.1 adds optional identity-only login and public runtime model/quota integration with legacy wire compatibility; the host and client share a single Typert schema.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### Changed
|
|
37
|
-
|
|
38
|
-
- Advance the local candidate to `0.1.0-dev.20260908.1`: restore the internal thinking signal lost in the previous effort-capability change. `compat.supportsReasoningEffort: false` still hides effort choices and omits `reasoning_effort`, while thinking follows the profile default. Historical user efforts cannot change that default. Non-reasoning models and explicit profile `off` retain their existing behavior.
|
|
39
|
-
- Add a 19-request real PiAi-to-HTTP regression covering direct, prepared, and DSH LLM calls, constrained model levels, historical `medium`/`xhigh`/`off`, non-reasoning models, and explicitly disabled thinking; checking internal request shape alone is insufficient.
|
|
40
|
-
- Advanced the candidate to `0.1.0-dev.20260907.3`: the complete DSH peer closure adds reviewed `0.1.3-alpha.2` (`82a5fd61…`) while continuing to reject mixed trees. An isolated Runtime with 250 coherent packages passes the complete check and 32 tests without OIDC runtime-source changes.
|
|
41
|
-
- Added a repository handoff entry that distinguishes latest user/mainline messages, historical material, current compatibility evidence, and the separate GitHub, npm, and local-deployment boundaries.
|
|
42
|
-
- Advanced the candidate to `0.1.0-dev.20260907.2`: the model-capability chain now preserves the exact seven reasoning-effort IDs, per-model defaults, and independent wire values. Undeclared levels are no longer supplied by pi-ai defaults, and `xhigh` is never rewritten as `max`.
|
|
43
|
-
- Historical provider defaults conservatively fall back within each model's supported efforts. Model resolution, call preparation, and transport share one capability snapshot; invalid efforts fail before HTTP while thinking-only and non-reasoning semantics remain distinct.
|
|
44
|
-
- Added local development candidate `0.1.0-dev.20260907.1`: the complete DSH peer closure explicitly accepts either `0.1.2-rc.1` or `0.1.3-alpha.1` while rejecting every mixed-version tree.
|
|
45
|
-
- Audited upstream `dsh-v0.1.3-alpha.1` (`d347e703…`) source contracts and an isolated Runtime. SessionHandle, session v2/locking, and asynchronous `agentLoop.create()` are outside OIDC's runtime dependency surface, so no plugin runtime source change is required.
|
|
46
|
-
- Extended the contract probe with OidcAccountService construction and all 13 Typert Remote markers while retaining Settings, LLM/Pi, WebServer, credentials, attachment, and Client-slot coverage.
|
|
9
|
+
- Target DSH 0.1.5-rc.1 and keep enterprise identity, managed keys and model integration independent of institution services.
|
|
10
|
+
- Add desktop OIDC with a temporary loopback callback and host browser integration.
|
|
11
|
+
- Use `EDUWORK_API_KEY` as the default credential reference, migrating matching legacy bindings without overwriting an occupied slot.
|
|
12
|
+
- Add account-extension transport and UI slots for separately installed institution services.
|
|
13
|
+
- Refresh login, account and model-selection state after authentication, with guarded updates during logout.
|
|
14
|
+
- Preserve configured reasoning capabilities and model-specific defaults when preparing requests.
|
|
47
15
|
|
|
48
16
|
## [0.1.0] - 2026-09-06
|
|
49
17
|
|
package/CHANGELOG.md
CHANGED
|
@@ -6,50 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
## [0.2.0] - 2026-09-11
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- 本地候选 `0.2.0-dev.20260910.7`:企业 Key 默认统一为 `EDUWORK_API_KEY`,兼容本 Profile/Provider 的旧自动名称;仅在完整部署绑定一致时迁移,不覆盖新槽位。共享引用按会话 Key 指纹校验归属,避免其他登录读取或清除当前 Key。增加仅供 Host 使用的 `resolveBoundCredential`,供机构适配器读取同一份已验证凭据;无新增 RPC/企业切换界面。
|
|
16
|
-
|
|
17
|
-
- `0.2.0-dev.20260910.6`:公共 OIDC 只保留身份/Key/模型;移除配额 HTTP、归一化、RPC 字段和 UI,旧 native 模式不再调用配额桥。新增 Host 专属的有界模型资源运输和官方 `oidc.account.menu.details` 子插槽,由显式安装的机构扩展提供附加账户内容。
|
|
18
|
-
- 精确 RC.1 闭包 264 个 DSH 包、78 项测试及 6 项编译浏览器检查通过,覆盖无隐式配额请求、凭据/地址边界和注销竞态。保留已有托管 Key 与个人模型选择。公共 RFC/OpenAPI 不再要求配额,心跳仍仅属于机构扩展。
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- `0.2.0-dev.20260910.5`:恢复公共头像账户菜单(配额、刷新、注销、键盘操作及失焦关闭),支持折叠侧栏;桌面回调新增无外部字体的品牌卡片,不显示授权秘密或服务端原始错误。
|
|
22
|
-
- 适配官方 DSH `0.1.5-rc.1` 的 PiAi `modelErrors` 契约,保留精确模型能力和默认选模;退出时串行清理保险库,拒绝旧请求写回身份/Key/配额。264 包一致闭包、75 项测试与 7 项编译浏览器回归通过;双桌面最终装配由主线验收。
|
|
23
|
-
- 服务端 RFC 完整覆盖身份、资源发现、Key 生命周期、目录、配额、刷新/注销、版本和错误处理;资源 OpenAPI 示例经过实际归一化器验证。心跳只新增默认关闭的可选协议草案。
|
|
24
|
-
|
|
25
|
-
- 同一 `.20260910.4` 候选在桌面联验后修正选模竞态:创建 Key 已完成但默认模型尚在保存时,登录引导保持可见且操作禁用;选模完成后才收起。
|
|
26
|
-
|
|
27
|
-
- 未发布候选 `0.2.0-dev.20260910.4`:修复登录页、侧栏与企业设置的独立旧状态;拒绝迟到查询覆盖新状态,监听官方凭据事件及连接恢复。明确登录/创建凭据后,使用 DSH 0.1.5 的默认模型和当前会话模型接口;升级时仅修复不可用默认值,保留个人凭据与可用选择。增加共享状态竞态、编译客户端显示、真实 HTTP PKCE/Key/默认设置的回归及双桌面验收用本机模拟服务。
|
|
28
|
-
|
|
29
|
-
- 未发布候选 `0.2.0-dev.20260910.3` 恢复已有资源协议 `worker.user-center.v1` 的兼容,同时保留新协议及未知版本检查;错误提示区分已登录身份与尚未连接的模型资源。配置文件模式增加宿主支持的“打开配置文件 / 查看示例”入口;企业配置保持只读,个人模型仍可使用。
|
|
30
|
-
|
|
31
|
-
- 未发布候选 `0.2.0-dev.20260910.1` 新增无常驻 WebServer 的桌面 OIDC:短时 loopback PKCE、Host 浏览器服务、安全登录轮询与取消,继续使用宿主保险库接口及原资源协议。见 [桌面宿主接入](docs/desktop-host.md)。
|
|
32
|
-
|
|
33
|
-
- 未发布候选 0.2.0-dev.20260909.1 新增纯身份模式及公共模型/配额协议,保留原部署 wire;Host/Client 共享同一份 Typert schema。
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### 变更
|
|
37
|
-
|
|
38
|
-
- 候选版本推进至 `0.1.0-dev.20260908.1`:修复上一轮模型档位适配遗漏 thinking-only 内部启用信号的问题。`compat.supportsReasoningEffort: false` 继续隐藏档位且不发送 `reasoning_effort`,同时按 Profile 默认值保留 thinking;历史会话中的 effort 不改变该默认值。无 reasoning 模型及 Profile 的 `off` 行为保持不变。
|
|
39
|
-
- 新增真实 PiAi 到 HTTP 的 19 次请求回归,覆盖直接调用、预备调用、DSH LLM 调用、受限模型档位、历史 `medium`/`xhigh`/`off`、无 reasoning 及明确关闭 thinking;避免仅检查内部请求形状而遗漏过线行为。
|
|
40
|
-
- 候选版本推进至 `0.1.0-dev.20260907.3`:完整 DSH peer 闭包增加已复核的 `0.1.3-alpha.2`(`82a5fd61…`),并继续拒绝混版依赖树;250 个一致包的隔离 Runtime 通过完整检查和 32 项测试,无需修改 OIDC 运行源码。
|
|
41
|
-
- 新增仓库接手入口说明,明确最新用户/主线消息、历史材料、兼容事实以及 GitHub、npm 和本地部署的边界。
|
|
42
|
-
- 候选版本推进至 `0.1.0-dev.20260907.2`:模型能力链路精确保留七种 reasoning effort ID、模型级默认值和独立过线值,未声明档位不再由 pi-ai 缺省补出,`xhigh` 不会被映射为 `max`。
|
|
43
|
-
- Provider 级历史默认值按模型有效档位保守回落;模型解析、调用准备和实际传输使用同一份能力快照,非法档位在任何 HTTP 请求前拒绝,同时保留 thinking-only 与无 reasoning 两种不同语义。
|
|
44
|
-
- 增加本地开发候选 `0.1.0-dev.20260907.1`:完整 DSH peer 闭包明确允许 `0.1.2-rc.1` 或 `0.1.3-alpha.1`,同时拒绝任何混版依赖树。
|
|
45
|
-
- 对上游 `dsh-v0.1.3-alpha.1`(`d347e703…`)完成源码契约核对和隔离 Runtime 验证;SessionHandle、session v2/锁和异步 `agentLoop.create()` 不在 OIDC 运行依赖面内,无需修改插件运行源码。
|
|
46
|
-
- 契约探针新增 OidcAccountService 构造及 13 个 Typert Remote 标记检查,并继续覆盖 Settings、LLM/Pi、WebServer、credentials、附件和客户端插槽。
|
|
9
|
+
- 适配 DSH 0.1.5-rc.1,企业身份、托管 Key 和模型接入独立于机构专属服务。
|
|
10
|
+
- 新增桌面 OIDC 临时 loopback 回调与宿主浏览器接入。
|
|
11
|
+
- 默认凭据引用统一为 `EDUWORK_API_KEY`,匹配的旧绑定可迁移,不覆盖已有目标槽位。
|
|
12
|
+
- 提供账户扩展运输接口与 UI 插槽,供独立机构插件使用。
|
|
13
|
+
- 认证后刷新登录、账户和模型选择状态,注销期间拒绝迟到状态写入。
|
|
14
|
+
- 请求准备保留所配置的思考能力和模型级默认值。
|
|
47
15
|
|
|
48
16
|
## [0.1.0] - 2026-09-06
|
|
49
17
|
|
|
50
18
|
### 变更
|
|
51
19
|
|
|
52
|
-
- 兼容基线精确更新至 DeepSeek Harness `0.1.2-rc.1`(`a66e4702
|
|
20
|
+
- 兼容基线精确更新至 DeepSeek Harness `0.1.2-rc.1`(`a66e4702…`),不再声明支持 alpha.2 组合。
|
|
53
21
|
- 扩充并锁定 DSH peer 闭包,显式包含声明 `settings.general.item` 的页面包,避免 npm 在未锁定宿主中混装 alpha.2 与 rc.1。
|
|
54
22
|
- 逐项核对 Credential Provider、Settings、LLM/Pi Provider、WebServer、API Remotes、Typert 和 Client 页面插槽;新增 `check:dsh` 自动契约检查。
|
|
55
23
|
- Provider 配置只输出已声明字段,并复制为 rc.1 Settings/PiAi schema 可解析的可变数据;同时将 reasoning/compat 值域收紧到 rc.1 支持集合。
|
package/CODE_OF_CONDUCT.en.md
CHANGED
|
@@ -14,4 +14,4 @@ Participants must:
|
|
|
14
14
|
|
|
15
15
|
Maintainers may edit, hide, reject, or remove contributions and may temporarily or permanently restrict participation when behavior threatens contributors or users. Enforcement should be proportionate, documented privately where appropriate, and avoid disclosing victims or security-sensitive details.
|
|
16
16
|
|
|
17
|
-
General conduct concerns may use an issue that contains no personal or sensitive details. For harassment, threats, doxxing, or another incident requiring confidentiality, use GitHub [Private Vulnerability Reporting](https://github.com/
|
|
17
|
+
General conduct concerns may use an issue that contains no personal or sensitive details. For harassment, threats, doxxing, or another incident requiring confidentiality, use GitHub [Private Vulnerability Reporting](https://github.com/ecnu/EduWork/security/advisories/new) and prefix the title with “Code of Conduct”. Do not disclose an affected person's identity or evidence attachments publicly.
|
package/CODE_OF_CONDUCT.md
CHANGED
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
|
|
15
15
|
当行为威胁贡献者或用户时,维护者可以编辑、隐藏、拒绝或删除贡献,也可以临时或永久限制参与。执行措施应当适度;适合时应私下记录,并避免暴露受害者或安全敏感细节。
|
|
16
16
|
|
|
17
|
-
一般行为问题可以创建不含个人敏感信息的 Issue。需要保密处理的骚扰、威胁、人肉搜索或其他行为事件,请使用 GitHub [Private Vulnerability Reporting](https://github.com/
|
|
17
|
+
一般行为问题可以创建不含个人敏感信息的 Issue。需要保密处理的骚扰、威胁、人肉搜索或其他行为事件,请使用 GitHub [Private Vulnerability Reporting](https://github.com/ecnu/EduWork/security/advisories/new),并在标题中标注“Code of Conduct”。不要在公开渠道披露受影响者身份或证据附件。
|
package/CONTRIBUTING.en.md
CHANGED
|
@@ -7,7 +7,7 @@ Thank you for improving `dsh-oidc`. Authentication and credential code has a hig
|
|
|
7
7
|
## Before starting
|
|
8
8
|
|
|
9
9
|
- Use a public issue for non-sensitive design/bug discussion.
|
|
10
|
-
- Use the [private security-reporting entry point](https://github.com/
|
|
10
|
+
- Use the [private security-reporting entry point](https://github.com/ecnu/EduWork/security/advisories/new) for vulnerabilities or secrets.
|
|
11
11
|
- For a protocol or trust-boundary change, open a design issue and add an ADR under `docs/decisions/` before implementation.
|
|
12
12
|
- Do not include production endpoints, identifiers, logs, tokens, personal data, logos, or screenshots without explicit publication approval.
|
|
13
13
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
## 开始之前
|
|
8
8
|
|
|
9
9
|
- 非敏感设计或缺陷讨论请使用公开 Issue。
|
|
10
|
-
- 漏洞或秘密信息请使用[私有安全报告入口](https://github.com/
|
|
10
|
+
- 漏洞或秘密信息请使用[私有安全报告入口](https://github.com/ecnu/EduWork/security/advisories/new)。
|
|
11
11
|
- 修改协议或信任边界前,请先创建设计 Issue,并在 `docs/decisions/` 下新增 ADR。
|
|
12
12
|
- 未经明确公开授权,不得提交生产 endpoint、标识符、日志、Token、个人数据、Logo 或截图。
|
|
13
13
|
|
package/README.md
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# dsh-oidc
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**一次机构登录,连接用户获授权的模型服务。**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> npm 包:`@eduwork/dsh-oidc@0.2.3` · DSH 开发基线:`0.1.5-rc.1`。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**简体中文** | [English](README_EN.md)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
`dsh-oidc` 为 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 客户端提供机构登录、模型凭据和模型目录接入。启用托管模型模式后,用户在浏览器完成登录及必要确认,客户端即可获取并配置获授权的机构模型,个人 API Key 和其他模型也可以继续使用。
|
|
10
|
+
|
|
11
|
+
我们希望机构服务能被更多 AI 客户端复用。**[开放身份与模型接入倡议](docs/open-integration.md)** 介绍了这个目标、已有实现和社区参与方式;具体接入遵循下方协议,不要求采用 EduWork 的界面或桌面壳。
|
|
12
|
+
|
|
13
|
+
插件提供四项能力:
|
|
10
14
|
|
|
11
15
|
1. 标准 OIDC Authorization Code + PKCE 公共客户端登录;
|
|
12
16
|
2. 固定的企业 **Key Binding** 协议,用 OIDC Access Token 申请、解析或轮换可撤销的模型运行凭据;
|
|
@@ -19,11 +23,7 @@
|
|
|
19
23
|
|
|
20
24
|
准备接入自己的机构?先读 **[服务端接口规范](docs/server-integration-contract.md)**,再按 **[完整中文接入指南](docs/getting-started.md)** 部署。前者以请求、响应、字段和错误码形式定义一个机构服务必须共同实现的 OIDC + PKCE、Key Binding 和模型网关能力;后者覆盖配置、安装、验收和排障。
|
|
21
25
|
|
|
22
|
-
##
|
|
23
|
-
|
|
24
|
-
这个名字足够准确,也没有把 ECNU、Wails、某个模型网关或某种客户端形态绑进公共能力。仓库名仍为 `dsh-oidc`,npm 包使用 `@eduwork/dsh-oidc`;[旧 npm 包](https://www.npmjs.com/package/dsh-oidc)保留供迁移。
|
|
25
|
-
|
|
26
|
-
它的边界不是“登录结束”,而是“一套能闭环的企业模型接入标准”:
|
|
26
|
+
## 接入架构
|
|
27
27
|
|
|
28
28
|
- OIDC 负责确认用户是谁;
|
|
29
29
|
- Key Binding 负责确认该用户能否获得哪个 Provider 的运行凭据;
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
- 本地 Provider 适配器把凭据和模型事实接入 DSH;
|
|
32
32
|
- 配额由独立机构扩展提供;桌面外壳、学校业务页、心跳与更新器由产品实现方扩展。
|
|
33
33
|
|
|
34
|
-
远程配置只能是数据,不能指定 JS 模块、脚本、CSS、工具、Skill 或自定义 Provider adapter,也不能修改 Key Binding
|
|
34
|
+
远程配置只能是数据,不能指定 JS 模块、脚本、CSS、工具、Skill 或自定义 Provider adapter,也不能修改 Key Binding 的路径和字段。
|
|
35
35
|
|
|
36
36
|
## 能力与非目标
|
|
37
37
|
|
|
@@ -65,17 +65,17 @@
|
|
|
65
65
|
1. 按[服务端接口规范](docs/server-integration-contract.md)联合提供 OIDC、Key Binding 和模型网关。
|
|
66
66
|
2. 为无 Client Secret 的 Public Client 精确登记 `http://127.0.0.1:3080/oauth/callback`。
|
|
67
67
|
3. 从 [`examples/enterprise-profile.example.json`](examples/enterprise-profile.example.json) 复制一份可信本地配置。
|
|
68
|
-
4. 在统一的 DSH `0.1.5-rc.1` 宿主中安装精确 npm
|
|
68
|
+
4. 在统一的 DSH `0.1.5-rc.1` 宿主中安装精确 npm 版本:
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
dsh plugin --profile web add @eduwork/dsh-oidc@0.2.
|
|
71
|
+
dsh plugin --profile web add @eduwork/dsh-oidc@0.2.3
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
需要审计、开发或测试尚未发布的改动时,也可以从本地 checkout 安装:
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
git clone https://github.com/
|
|
78
|
-
cd dsh-oidc
|
|
77
|
+
git clone https://github.com/ecnu/EduWork.git
|
|
78
|
+
cd EduWork/packages/dsh-oidc
|
|
79
79
|
npm ci
|
|
80
80
|
npm run check
|
|
81
81
|
dsh plugin --profile web add .
|
|
@@ -125,12 +125,13 @@ npm ci
|
|
|
125
125
|
npm run check
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
开发依赖与锁文件固定 DSH `0.1.5-rc.1`,不依赖开发机已有客户端目录。完整检查包括锁文件、所选 DSH 基线的 Host/Client/API 契约核对、Host/Client 构建、单元测试、OIDC 安全边界测试、JSON Schema 示例校验、OpenAPI 结构检查、敏感信息扫描和 npm tarball 预检。
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
插件与 EduWork 产品分别管理版本。装配使用精确 npm 版本及 integrity;源码路径用于开发。见[开发说明](docs/development.md)。
|
|
131
131
|
|
|
132
132
|
详细材料:
|
|
133
133
|
|
|
134
|
+
- [开放身份与模型接入倡议](docs/open-integration.md):目标、现有契约和社区参与方式
|
|
134
135
|
- [`docs/architecture.md`](docs/architecture.md):组合架构与代码边界
|
|
135
136
|
- [`docs/server-integration-contract.md`](docs/server-integration-contract.md):机构服务端必须共同实现的完整接口规范
|
|
136
137
|
- [`docs/getting-started.md`](docs/getting-started.md):第三方从零接入、部署、验收与排障
|
|
@@ -143,3 +144,5 @@ npm run check
|
|
|
143
144
|
- [`docs/compatibility.md`](docs/compatibility.md):版本与发布策略
|
|
144
145
|
|
|
145
146
|
代码和原创文档使用 MIT 许可证。ECNU/ChatECNU 示例不包含真实地址、Client ID 或密钥,也不授予任何校名、商标和品牌资产使用权。
|
|
147
|
+
|
|
148
|
+
源码、Issue 与 PR 统一在 [EduWork](https://github.com/ecnu/EduWork/tree/main/packages/dsh-oidc)。开发命令在 `EduWork/packages/dsh-oidc` 中执行,npm 安装保持独立;发布流程见[包维护说明](https://github.com/ecnu/EduWork/blob/main/docs/PACKAGES.md)。
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
# dsh-oidc
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Sign in with an institution to access the models it authorizes for you.**
|
|
4
|
+
|
|
5
|
+
> npm package: `@eduwork/dsh-oidc@0.2.3` · DSH development baseline: `0.1.5-rc.1`.
|
|
4
6
|
|
|
5
7
|
[简体中文](README.md) | **English**
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
`dsh-oidc` connects [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) clients to institutional sign-in, model credentials, and model catalogs. With managed-model mode enabled, the client obtains and configures authorized institutional models after browser sign-in and any required confirmation. Personal API keys and other models remain available.
|
|
10
|
+
|
|
11
|
+
We want institutional services to work across more AI clients. The **[Open Identity and Model Integration Initiative](docs/open-integration.en.md)** explains the goal, existing implementation, and ways to participate. Integration follows the contracts below without requiring EduWork's UI or desktop shell.
|
|
8
12
|
|
|
9
13
|
`dsh-oidc` composes four concerns behind one reviewed, declarative Enterprise Profile:
|
|
10
14
|
|
|
@@ -74,7 +78,7 @@ These values affect the document title, sidebar brand, conversation hero mark, l
|
|
|
74
78
|
## Requirements
|
|
75
79
|
|
|
76
80
|
- Node.js 22 or newer;
|
|
77
|
-
- one coherent DeepSeek Harness `0.1.5-rc.1` peer set for this
|
|
81
|
+
- one coherent DeepSeek Harness `0.1.5-rc.1` peer set for this package;
|
|
78
82
|
- an OIDC Public Client without a Client Secret: new desktops use `http://127.0.0.1:<actual-port>/oauth/callback`, while local Web validation registers its actual fixed port;
|
|
79
83
|
- Discovery metadata with PKCE S256, RS256 ID Tokens, and `userinfo_endpoint`;
|
|
80
84
|
- an OIDC service for identity-only mode; managed models additionally require the Key Binding and model gateway in the [server contract](docs/server-integration-contract.en.md);
|
|
@@ -84,17 +88,17 @@ The current Web backend is intentionally limited to a trusted, single-user DSH p
|
|
|
84
88
|
|
|
85
89
|
## Install
|
|
86
90
|
|
|
87
|
-
Install the exact npm version in a coherent DSH `0.1.5-rc.1` host
|
|
91
|
+
Install the exact npm version in a coherent DSH `0.1.5-rc.1` host.:
|
|
88
92
|
|
|
89
93
|
```bash
|
|
90
|
-
dsh plugin --profile web add @eduwork/dsh-oidc@0.2.
|
|
94
|
+
dsh plugin --profile web add @eduwork/dsh-oidc@0.2.3
|
|
91
95
|
```
|
|
92
96
|
|
|
93
97
|
For auditing, development, or testing unpublished changes, install from a local checkout instead:
|
|
94
98
|
|
|
95
99
|
```bash
|
|
96
|
-
git clone https://github.com/
|
|
97
|
-
cd dsh-oidc
|
|
100
|
+
git clone https://github.com/ecnu/EduWork.git
|
|
101
|
+
cd EduWork/packages/dsh-oidc
|
|
98
102
|
npm ci
|
|
99
103
|
npm run check
|
|
100
104
|
dsh plugin --profile web add .
|
|
@@ -162,10 +166,11 @@ Development dependencies and the lockfile pin DSH `0.1.5-rc.1`, without referrin
|
|
|
162
166
|
|
|
163
167
|
The repository intentionally keeps Host code as native ESM under `src/host`; `scripts/build-host.mjs` copies it to `lib`. The DSH browser client is bundled as the loader-compatible `lib/client.js`.
|
|
164
168
|
|
|
165
|
-
|
|
169
|
+
The plugin and EduWork product use independent versions. Distribution builds use exact npm versions and integrity; source paths are for development. See [development](docs/development.en.md).
|
|
166
170
|
|
|
167
171
|
## Documentation
|
|
168
172
|
|
|
173
|
+
- [Open Identity and Model Integration Initiative](docs/open-integration.en.md)
|
|
169
174
|
- [Architecture and boundaries](docs/architecture.en.md)
|
|
170
175
|
- [Complete institutional server integration contract](docs/server-integration-contract.en.md)
|
|
171
176
|
- [Third-party getting-started guide](docs/getting-started.en.md)
|
|
@@ -184,3 +189,5 @@ Plugin `0.2.0` does not track the EduWork product version. Distribution assembly
|
|
|
184
189
|
Code and original documentation are licensed under MIT. Dependency notices are in [THIRD_PARTY_NOTICES.en.md](THIRD_PARTY_NOTICES.en.md).
|
|
185
190
|
|
|
186
191
|
DeepSeek Harness and DeepSeek are names of their respective owners. “华东师范大学”, “ECNU”, “ChatECNU”, and associated marks remain the property of their respective rights holders. The ECNU file in `examples/` is a placeholder reference configuration, contains no production endpoint or client identifier, and does not grant trademark rights.
|
|
192
|
+
|
|
193
|
+
Source, issues and PRs are maintained in [EduWork](https://github.com/ecnu/EduWork/tree/main/packages/dsh-oidc). Run development commands from `EduWork/packages/dsh-oidc`. npm installation remains independent. See [package publication](https://github.com/ecnu/EduWork/blob/main/docs/PACKAGES_EN.md).
|
package/SECURITY.en.md
CHANGED
|
@@ -10,7 +10,7 @@ The supported release line is `0.1.x`; security fixes are applied to its latest
|
|
|
10
10
|
|
|
11
11
|
Do **not** open a public issue for a suspected vulnerability, leaked secret, private endpoint, identity mix-up, credential exposure, or authorization bypass.
|
|
12
12
|
|
|
13
|
-
Submit reports privately through GitHub [Private Vulnerability Reporting](https://github.com/
|
|
13
|
+
Submit reports privately through GitHub [Private Vulnerability Reporting](https://github.com/ecnu/EduWork/security/advisories/new). Do not disclose vulnerability details, real credentials, or personal data in a public issue, discussion, pull request, or log attachment. If the private reporting entry is unavailable, open only a detail-free public issue asking maintainers to check the security-reporting configuration.
|
|
14
14
|
|
|
15
15
|
Include, where safe:
|
|
16
16
|
|
package/SECURITY.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
怀疑存在漏洞、秘密泄露、私有 endpoint、身份混淆、凭据暴露或授权绕过时,**不要创建公开 Issue**。
|
|
12
12
|
|
|
13
|
-
请通过 GitHub 的 [Private Vulnerability Reporting](https://github.com/
|
|
13
|
+
请通过 GitHub 的 [Private Vulnerability Reporting](https://github.com/ecnu/EduWork/security/advisories/new) 私密提交报告。不要在公开 Issue、Discussion、Pull Request 或日志附件中披露漏洞细节、真实凭据或个人信息。如果该入口不可用,请只创建一条不含技术细节的公开 Issue,提醒维护者检查安全报告配置。
|
|
14
14
|
|
|
15
15
|
在安全允许的情况下,请提供:
|
|
16
16
|
|
package/SUPPORT.en.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](SUPPORT.md) | **English**
|
|
4
4
|
|
|
5
|
-
Use [GitHub Issues](https://github.com/
|
|
5
|
+
Use [GitHub Issues](https://github.com/ecnu/EduWork/issues) for public integration questions. Use the private process in [`SECURITY.en.md`](SECURITY.en.md) for vulnerabilities and secrets.
|
|
6
6
|
|
|
7
7
|
When reporting a normal bug, include:
|
|
8
8
|
|
package/SUPPORT.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**简体中文** | [English](SUPPORT.en.md)
|
|
4
4
|
|
|
5
|
-
普通集成问题请使用 [GitHub Issues](https://github.com/
|
|
5
|
+
普通集成问题请使用 [GitHub Issues](https://github.com/ecnu/EduWork/issues)。漏洞和秘密信息请使用[安全政策](SECURITY.md)规定的私有流程。
|
|
6
6
|
|
|
7
7
|
报告普通缺陷时,请提供:
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](EDUWORK-MIGRATION.md) | **English**
|
|
4
4
|
|
|
5
|
-
Starting with `0.1.0-alpha.11`, the npm package identity changed to `@eduwork/dsh-oidc`, replacing `dsh-oidc`; `0.1.0` is the first stable semantic version after that migration.
|
|
5
|
+
Starting with `0.1.0-alpha.11`, the npm package identity changed to `@eduwork/dsh-oidc`, replacing `dsh-oidc`; `0.1.0` is the first stable semantic version after that migration. Source is maintained under `EduWork/packages/dsh-oidc`.
|
|
6
6
|
|
|
7
7
|
## Historical npm scope migration (0.1.0)
|
|
8
8
|
|
|
@@ -18,11 +18,7 @@ Keep `dsh-oidc/v1alpha1`, `oidcAccounts`, credential references, Provider identi
|
|
|
18
18
|
|
|
19
19
|
Storage directories and user configuration content do not change. Product-managed Profiles migrate their owned dependencies through the product upgrader; community plugins remain unchanged.
|
|
20
20
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
`0.1.0` stabilizes the package identity as `@eduwork/dsh-oidc` and targets DSH `0.1.2-rc.1` exactly. Build, tests, documentation, license, and tarball checks cover this change; they do not constitute real institutional sign-in, real email delivery, or production acceptance. Production adoption still requires the complete public-release deployment checks. Keep the old package and scoped alpha versions installable rather than unpublishing them.
|
|
24
|
-
|
|
25
|
-
## Current 0.2.x candidate: common enterprise credential
|
|
21
|
+
## Enterprise credentials in 0.2.x
|
|
26
22
|
|
|
27
23
|
The default local reference is `EDUWORK_API_KEY`, independent of institution and Provider names. Explicit legacy automatic references derived from the same Profile ID or Provider ID (uppercase, non-alphanumerics replaced with `_`, plus `_API_KEY`) normalize to the new default. Unrelated custom references such as `MY_TEST_MODEL_KEY` remain unchanged. This is a local secret-store name, never a new server request field.
|
|
28
24
|
|
|
@@ -31,5 +27,3 @@ An existing Web/desktop session may migrate a legacy key only when issuer, clien
|
|
|
31
27
|
After a different organization binds the common slot, only the session owning its current fingerprint may call that Provider. Other sessions retain identity but need resource reconnection; their logout cannot delete the new owner's key. Manually configured personal model keys remain untouched. If endpoints change, identity may remain valid while model credentials must be rebound; changed issuer/client ID requires sign-in again. Do not manually copy keys to bypass these checks.
|
|
32
28
|
|
|
33
29
|
Both new desktop shells use the common desktop backend. Legacy `native` account bridges still own their credential storage and must return a matching reference; this plugin does not rewrite OS-vault entries. Plugin migration moves no workspaces, history directories or application data; shell-level data migration belongs to the product.
|
|
34
|
-
|
|
35
|
-
The frozen dev.7 package remains unchanged. `0.2.0` provides the same runtime implementation under a stable semantic version. Distribution assembly pins npm `@eduwork/dsh-oidc@0.2.0` and its integrity with coherent DSH `0.1.5-rc.1` dependencies. Publication status and [release checks](release-checklist.en.md) are recorded separately; no old npm version or public tag is rewritten.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**简体中文** | [English](EDUWORK-MIGRATION.en.md)
|
|
4
4
|
|
|
5
|
-
从 `0.1.0-alpha.11` 起,npm 包改用 `@eduwork/dsh-oidc`,替代旧的 `dsh-oidc`;`0.1.0`
|
|
5
|
+
从 `0.1.0-alpha.11` 起,npm 包改用 `@eduwork/dsh-oidc`,替代旧的 `dsh-oidc`;`0.1.0` 是完成该迁移后的首个稳定语义版本。源码位于 EduWork 的 `packages/dsh-oidc`。
|
|
6
6
|
|
|
7
7
|
## 历史 npm 作用域迁移(0.1.0)
|
|
8
8
|
|
|
@@ -18,11 +18,7 @@ dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
|
18
18
|
|
|
19
19
|
本次迁移不修改存储目录或用户配置内容。产品管理的 Profile 由产品升级逻辑迁移其受管依赖;社区插件保持原状。
|
|
20
20
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
`0.1.0` 将包身份稳定在 `@eduwork/dsh-oidc`,并精确适配 DSH `0.1.2-rc.1`。构建、测试、文档、开源和 tarball 检查针对本次变更执行;这不等于真实学校登录、真实邮件发送或生产部署验收。生产采用仍须完成公开发布检查表中的完整部署验收。旧包和 scoped alpha 保持可安装,不撤回旧版本。
|
|
24
|
-
|
|
25
|
-
## 当前 0.2.x 候选:统一企业凭据
|
|
21
|
+
## 0.2.x 企业凭据
|
|
26
22
|
|
|
27
23
|
默认本地引用为 `EDUWORK_API_KEY`,与学校和 Provider 名称无关。同一 Profile ID 或 Provider ID 派生的旧自动引用(转大写,非字母数字换为 `_`,后接 `_API_KEY`)也会规范化为新默认值。其他显式自定义引用如 `MY_TEST_MODEL_KEY` 保持不变。这只是本地秘密存储名称,不是新的服务端请求字段。
|
|
28
24
|
|
|
@@ -31,5 +27,3 @@ dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
|
31
27
|
另一机构完成绑定并写入公共槽后,只有拥有当前指纹的会话才能调用该 Provider。其他会话保留身份但需重新连接资源;它们注销时不能删除新所有者的 Key。用户单独配置的个人模型 Key 不受影响。资源端点改变可保留身份,但必须重新绑定模型凭据;issuer/client ID 改变需重新登录。不要手动复制 Key 绕过归属校验。
|
|
32
28
|
|
|
33
29
|
两种新桌面壳共用 desktop backend。旧 `native` 账号桥仍由宿主管理凭据存储并返回匹配引用;本插件不改写操作系统凭据库。插件迁移不搬动工作区、历史目录或应用数据;更换桌面壳的数据迁移由产品处理。
|
|
34
|
-
|
|
35
|
-
已冻结 dev.7 包保持原样。`0.2.0` 将同一运行实现按稳定语义版本提供,正式装配固定 npm `@eduwork/dsh-oidc@0.2.0` 和 integrity,并统一宿主 DSH `0.1.5-rc.1` 依赖;发布状态和[发布检查](release-checklist.md)分别记录,不重写旧 npm 版本或公开 tag。
|
package/docs/compatibility.en.md
CHANGED
|
@@ -2,33 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](compatibility.md) | **English**
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Runtime requirements
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
| --- | --- | --- | --- | --- |
|
|
9
|
-
| `0.2.0` stable-version freeze | Windows 24 | registry `0.1.5-rc.1` | `0.85.1` | `npm ci`, complete checks, 93 tests and 6 compiled-browser regressions pass; audit reports 0 vulnerabilities. Runtime sources match dev.7. Consult the registry for publication status; Linux/Node 22 and macOS acceptance are recorded separately. |
|
|
10
|
-
| dev.7 source preparation (historical validation) | Windows 24 | registry `0.1.5-rc.1` | `0.85.1` | Clean `npm ci` from the committed 61-package DSH test closure; 93 tests. This is separate from historical full-product closures; Linux/Node 22 matrix pending. |
|
|
11
|
-
| Frozen `0.2.0-dev.20260910.7` (unpublished) | 24 | `0.1.5-rc.1` / `183f08e9…` | `0.85.1` | 265-package product closure, 93 tests including 15 credential ownership/migration regressions and 6 tarball Host tests. Frozen artifact unchanged. |
|
|
12
|
-
| `0.2.0-dev.20260910.6` (unpublished) | 24 | `0.1.5-rc.1` / `183f08e9…` | `0.85.1` | 264 coherent DSH packages; 78 tests and 6 compiled-browser checks. Public identity/key/models with no quota HTTP/schema/UI. Host-only account extension transport, official child slot and logout/read races. |
|
|
13
|
-
| `0.2.0-dev.20260910.5` (unpublished) | 24 | `0.1.5-rc.1` / `183f08e9…` | `0.85.1` | 264 coherent DSH packages; 75 tests and 7 compiled-browser checks. Real HTTP PKCE/key/model streams, future-session default, avatar quota/keyboard/logout races, and branded callbacks. Adapts PiAi `modelErrors`; existing APIs/events/model selection remain compatible. |
|
|
14
|
-
| `0.2.0-dev.20260909.1` (unpublished) | 24 | `0.1.5-alpha.1` / `5dda764e…` | `0.85.1` | 257 coherent packages; 40 tests including real Host + HTTP OIDC callback, managed-key model discovery, quota, LLM SSE, host-only authorized requests and account events. Browser UI acceptance belongs to the integrating product. |
|
|
15
|
-
| `0.1.0-dev.20260908.1` (local candidate only) | 24 | `0.1.2-rc.1` / `0.1.3-alpha.1` / `0.1.3-alpha.2` | `^0.84.2` | All three isolated dependency trees pass the complete check and 33 tests, including 19 real PiAi HTTP requests verifying thinking-only behavior without a wire effort. Unpublished. |
|
|
16
|
-
| `0.1.0-dev.20260907.3` (local candidate only) | 24 | `0.1.3-alpha.2` / `82a5fd61…` | `^0.84.2` | Real module resolution across 250 coherent DSH packages; TypeScript, 32 plugin tests, Host/Provider/Client contracts, all 13 Typert Remote markers, and real pi-ai reasoning HTTP regression pass. Unpublished. |
|
|
17
|
-
| `0.1.0-dev.20260907.1` (local candidate only) | 24 | `0.1.3-alpha.1` / `d347e703…` | `^0.84.2` | Real module resolution across 247 coherent DSH packages; TypeScript, 29 plugin tests, Host/Provider/Client contracts, and 13 Typert Remote markers pass. Unpublished. |
|
|
18
|
-
| `0.1.0` | 22, 24 | `0.1.2-rc.1` / `a66e4702…` | `^0.84.2` (locked at `0.84.4`) | Exact peer closure, Host/Client contract checks, clean npm installation, and isolated Web/RPC acceptance. |
|
|
19
|
-
| `0.1.0-alpha.11` | 22, 24 | Declared baseline remains `0.1.2-alpha.2`; separate mainline `0.1.2-rc.1` configuration RPC probe | `^0.84.2` | npm scope migration with persistent contracts retained; the rc.1 probe is not full compatibility acceptance. |
|
|
20
|
-
| `0.1.0-alpha.10` | 22, 24 | `0.1.2-alpha.2` / `0a53fb55…` | `^0.84.2` (`0.84.4` in npm/source Runtimes) | Migrated to `SettingsProvider.installSection()`; full checks pass through both npm and source release-pack paths. |
|
|
21
|
-
| `0.1.0-alpha.9` | 22, 24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2` (`0.84.4` in the reviewed source Runtime) | Web and native consume only standard Enterprise Profiles; product institution-catalog conversion is completely outside the plugin. |
|
|
22
|
-
| `0.1.0-alpha.8` | 22, 24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2` (`0.84.4` in the reviewed source Runtime) | Shared Web/native Profile credential-reference rule, production/test local-key isolation, and fail-closed native mismatch handling. |
|
|
23
|
-
| `0.1.0-alpha.7` | 22, 24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2` (`0.84.4` in the reviewed source Runtime) | An exact network HTTP origin may be allowed for development; production remains HTTPS-only. |
|
|
24
|
-
| `0.1.0-alpha.6` | 22, 24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2` (`0.84.4` in the reviewed source Runtime) | Uses the upstream Models page and official `settings.models.footer`; validate through a source release-pack until matching npm packages are published. |
|
|
25
|
-
| `0.1.0-alpha.5` | 22, 24 (development) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Local-checkout-first installation documentation; runtime behavior is unchanged from alpha.4. |
|
|
26
|
-
| `0.1.0-alpha.4` | 22, 24 (development) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Direct DSH Web Bundle installation and complete third-party deployment documentation; product/Web acceptance completed in the ECNU reference composition. |
|
|
27
|
-
| `0.1.0-alpha.3` | 22, 24 (development) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Shared Web/native enterprise-model settings and native capability adapter; end-to-end product acceptance pending. |
|
|
28
|
-
| `0.1.0-alpha.2` | 22, 24 (development) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Standard UserInfo name presentation unified across Web and native adapters; real deployment acceptance pending. |
|
|
29
|
-
| `0.1.0-alpha.1` | 22, 24 (development) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Unit/build/package baseline; real deployment acceptance still required. |
|
|
7
|
+
The 0.2.x source targets DSH `0.1.5-rc.1`, Cordis `4.0.2` and pi-ai `0.85.1`. Use Node.js 22 or 24 and the checked-in lockfile for development. Align all DSH packages in the host; a retained peer range does not establish support for every deployment.
|
|
30
8
|
|
|
31
|
-
|
|
9
|
+
The older stable 0.1.0 package targets DSH 0.1.2-rc.1. Check the host before upgrading. See [development](development.en.md) for dependency and integration checks.
|
|
32
10
|
|
|
33
11
|
## Contract versions
|
|
34
12
|
|
package/docs/compatibility.md
CHANGED
|
@@ -2,33 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
**简体中文** | [English](compatibility.en.md)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 运行环境
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
| --- | --- | --- | --- | --- |
|
|
9
|
-
| `0.2.0` 稳定版本冻结 | Windows 24 | registry `0.1.5-rc.1` | `0.85.1` | `npm ci`、完整检查、93 项测试、6 项编译浏览器回归通过,audit 为 0。运行源码与 dev.7 相同;发布状态以 registry 为准,Linux/Node 22 与 macOS 验收单独记录。 |
|
|
10
|
-
| dev.7 源码准备(历史验证) | Windows 24 | registry `0.1.5-rc.1` | `0.85.1` | 已提交锁的 61 包 DSH 测试闭包,干净 `npm ci`、93 项测试;与历史完整产品闭包分别记录,Linux/Node 22 矩阵待执行。 |
|
|
11
|
-
| 已冻结 `0.2.0-dev.20260910.7`(未发布) | 24 | `0.1.5-rc.1` / `183f08e9…` | `0.85.1` | 265 包产品闭包、93 项测试(含 15 项凭据迁移/归属回归)与 6 项 tarball Host 验证;冻结产物未替换。 |
|
|
12
|
-
| `0.2.0-dev.20260910.6`(未发布) | 24 | `0.1.5-rc.1` / `183f08e9…` | `0.85.1` | 264 个一致 DSH 包;78 项测试及 6 项编译浏览器检查。公版身份/Key/模型不含配额请求/类型/UI;Host 专属扩展运输、官方子插槽与注销读取竞态。 |
|
|
13
|
-
| `0.2.0-dev.20260910.5`(未发布) | 24 | `0.1.5-rc.1` / `183f08e9…` | `0.85.1` | 264 个一致 DSH 包;75 项测试及 7 项编译浏览器检查。覆盖真实 HTTP PKCE/Key/模型流、无会话默认值、头像菜单/配额/键盘/注销竞态与品牌回调;本轮适配 PiAi `modelErrors`,原有 API/事件/选模契约保持兼容。 |
|
|
14
|
-
| `0.2.0-dev.20260909.1`(未发布) | 24 | `0.1.5-alpha.1` / `5dda764e…` | `0.85.1` | 257 个一致包;40 项测试含官方 Host+HTTP 登录回调、托管 Key 自动模型目录/配额、LLM SSE、Host 专属授权请求与账号事件。产品浏览器 UI 由主线联合验收。 |
|
|
15
|
-
| `0.1.0-dev.20260908.1`(仅本地候选) | 24 | `0.1.2-rc.1` / `0.1.3-alpha.1` / `0.1.3-alpha.2` | `^0.84.2` | 三套隔离依赖树均通过完整检查及 33 项测试。新增 thinking-only 的 19 次真实 PiAi HTTP 请求回归,保留 thinking 且不发送 effort。未发布。 |
|
|
16
|
-
| `0.1.0-dev.20260907.3`(仅本地候选) | 24 | `0.1.3-alpha.2` / `82a5fd61…` | `^0.84.2` | 250 个一致的 DSH 包通过真实模块解析;TypeScript、32 个插件测试、Host/Provider/Client 契约、13 个 Typert Remote 标记和真实 pi-ai reasoning HTTP 回归通过。未发布。 |
|
|
17
|
-
| `0.1.0-dev.20260907.1`(仅本地候选) | 24 | `0.1.3-alpha.1` / `d347e703…` | `^0.84.2` | 247 个一致的 DSH 包通过真实模块解析;TypeScript、29 个插件测试、Host/Provider/Client 契约和 13 个 Typert Remote 标记通过。未发布。 |
|
|
18
|
-
| `0.1.0` | 22、24 | `0.1.2-rc.1` / `a66e4702…` | `^0.84.2`(锁定为 `0.84.4`) | 精确 peer 闭包、Host/Client 契约检查、干净 npm 安装和隔离 Web/RPC 验收。 |
|
|
19
|
-
| `0.1.0-alpha.11` | 22、24 | 声明基线仍为 `0.1.2-alpha.2`;另有主线 `0.1.2-rc.1` 隔离配置 RPC 探针 | `^0.84.2` | npm 作用域迁移;保留数据协议;不将 rc.1 探针视为完整版本兼容验收。 |
|
|
20
|
-
| `0.1.0-alpha.10` | 22、24 | `0.1.2-alpha.2` / `0a53fb55…` | `^0.84.2`(npm/源码 Runtime 中为 `0.84.4`) | 迁移到 `SettingsProvider.installSection()`;npm 与源码 release-pack 双路径通过完整检查。 |
|
|
21
|
-
| `0.1.0-alpha.9` | 22、24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2`(已审查源码 Runtime 中为 `0.84.4`) | Web/native 只消费标准 Enterprise Profile;产品机构目录转换彻底移出插件。 |
|
|
22
|
-
| `0.1.0-alpha.8` | 22、24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2`(已审查源码 Runtime 中为 `0.84.4`) | Web/native 共用 Profile 凭据引用规则;支持生产/测试本地 Key 隔离,并对 native 引用错配失败关闭。 |
|
|
23
|
-
| `0.1.0-alpha.7` | 22、24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2`(已审查源码 Runtime 中为 `0.84.4`) | 开发环境可显式允许一个精确的网络 HTTP origin;生产仍强制 HTTPS。 |
|
|
24
|
-
| `0.1.0-alpha.6` | 22、24 | `0.1.2-alpha.1` / `cd5ef814…` | `^0.84.2`(已审查源码 Runtime 中为 `0.84.4`) | 使用上游“模型”页面和官方 `settings.models.footer`;匹配的 npm 包发布前,应通过源码 release-pack 验证。 |
|
|
25
|
-
| `0.1.0-alpha.5` | 22、24(开发) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | 文档改为优先从本地 checkout 安装;运行行为与 alpha.4 相同。 |
|
|
26
|
-
| `0.1.0-alpha.4` | 22、24(开发) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | 支持直接安装 DSH Web Bundle,并提供完整第三方部署文档;ECNU 参考组合已完成产品/Web 验收。 |
|
|
27
|
-
| `0.1.0-alpha.3` | 22、24(开发) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Web/native 共用企业模型设置和 native 能力 adapter;尚待端到端产品验收。 |
|
|
28
|
-
| `0.1.0-alpha.2` | 22、24(开发) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | Web 与 native adapter 统一使用标准 UserInfo 姓名显示;尚待真实部署验收。 |
|
|
29
|
-
| `0.1.0-alpha.1` | 22、24(开发) | `0.1.1-rc.2` / `b150a551…` | `0.82.1` | 单元测试、构建和打包基线;仍需真实部署验收。 |
|
|
7
|
+
0.2.x 源码面向 DSH `0.1.5-rc.1`、Cordis `4.0.2` 和 pi-ai `0.85.1`。开发使用 Node.js 22 或 24 及本模块的依赖锁。宿主中的 DSH 包必须保持一致;保留的 peer 范围不代表任意部署组合均受支持。
|
|
30
8
|
|
|
31
|
-
|
|
9
|
+
旧稳定包 0.1.0 对应 DSH 0.1.2-rc.1,升级前先检查宿主。依赖和接入检查见[开发说明](development.md)。
|
|
32
10
|
|
|
33
11
|
## 契约版本
|
|
34
12
|
|