dsh-xdpool 0.0.0-stage → 2.1.1

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/package.json CHANGED
@@ -1,6 +1,137 @@
1
1
  {
2
2
  "name": "dsh-xdpool",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "displayName": "DSH XD Pool",
4
+ "description": "One DSH model pool for every free quota you have: merge all locally signed-in WorkBuddy accounts with auto-failover, sign in to 13 vendors by QR/web, aggregate 76 vendors' free tiers, plus a usage dashboard, model routing, a local OpenAI-compatible gateway and a points-automation suite.",
5
+ "version": "2.1.1",
6
+ "license": "MIT",
7
+ "author": "XDTrees",
8
+ "homepage": "https://github.com/XDTrees/dsh-xdpool#readme",
9
+ "bugs": {
10
+ "url": "https://github.com/XDTrees/dsh-xdpool/issues"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/XDTrees/dsh-xdpool.git"
15
+ },
16
+ "keywords": [
17
+ "dsh-plugin",
18
+ "deepseek-harness",
19
+ "workbuddy",
20
+ "codebuddy",
21
+ "model-provider",
22
+ "multi-account",
23
+ "failover"
24
+ ],
25
+ "type": "module",
26
+ "engines": {
27
+ "node": "^22.19.0 || >=24.0.0",
28
+ "dsh": ">=0.1.5-rc.1 <0.3.0"
29
+ },
30
+ "main": "lib/index.js",
31
+ "types": "lib/index.d.ts",
32
+ "bin": {
33
+ "dsh-xdpool": "lib/bin.js"
34
+ },
35
+ "exports": {
36
+ ".": {
37
+ "types": "./lib/index.d.ts",
38
+ "default": "./lib/index.js"
39
+ },
40
+ "./client": "./lib/client.js",
41
+ "./vendor/channel-pack/pack.js": "./vendor/channel-pack/pack.js",
42
+ "./cordis.patch.yml": "./cordis.patch.yml",
43
+ "./package.json": "./package.json"
44
+ },
45
+ "files": [
46
+ "lib",
47
+ "vendor",
48
+ "cordis.patch.yml",
49
+ "screenshots.json",
50
+ "assets",
51
+ "README.md",
52
+ "README.en.md",
53
+ "CHANGELOG.md",
54
+ "LICENSE"
55
+ ],
56
+ "scripts": {
57
+ "build": "tsdown",
58
+ "prepublishOnly": "tsdown",
59
+ "test": "vitest run",
60
+ "typecheck": "tsc -p tsconfig.json --noEmit",
61
+ "typecheck:client": "tsc -p tsconfig.client.json --noEmit"
62
+ },
63
+ "dsh": {
64
+ "bundle": {
65
+ "patch": "./cordis.patch.yml"
66
+ },
67
+ "client": {
68
+ "inject": [
69
+ "@deepseek-ai/dsh-client-ui-settings",
70
+ "@deepseek-ai/dsh-client-ui-slots",
71
+ "@deepseek-ai/dsh-client-ui-settings-plugins",
72
+ "@deepseek-ai/dsh-client-ui-primitives",
73
+ "@deepseek-ai/dsh-client-locale"
74
+ ],
75
+ "platform": "web"
76
+ }
77
+ },
78
+ "optionalDependencies": {
79
+ "billion-context": "^0.1.197"
80
+ },
81
+ "devDependencies": {
82
+ "@deepseek-ai/cordis": "4.0.2",
83
+ "@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
84
+ "@deepseek-ai/dsh-client-runtime": "0.1.1-rc.2",
85
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.2",
86
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.5-rc.2",
87
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.2",
88
+ "@deepseek-ai/dsh-credentials": "0.1.5-rc.2",
89
+ "@deepseek-ai/dsh-host-webserver": "0.1.5-rc.2",
90
+ "@deepseek-ai/dsh-launch-environment": "0.1.5-rc.2",
91
+ "@deepseek-ai/dsh-llm": "0.1.5-rc.2",
92
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.5-rc.2",
93
+ "@deepseek-ai/dsh-settings": "0.1.5-rc.2",
94
+ "@deepseek-ai/schemastery": "3.18.2",
95
+ "@earendil-works/pi-ai": "0.85.1",
96
+ "@types/node": "^26.4.1",
97
+ "@types/react": "~18.3.31",
98
+ "@types/react-dom": "~18.3.0",
99
+ "react": "^18.2.0",
100
+ "tsdown": "^0.23.0",
101
+ "typescript": "^7.0.2",
102
+ "vite": "8.3.0",
103
+ "vitest": "^5.0.0"
104
+ },
105
+ "peerDependencies": {
106
+ "@deepseek-ai/cordis": "^4.0.1-rc.1",
107
+ "@deepseek-ai/dsh-llm": ">=0.1.1-rc.1 <0.3.0",
108
+ "@deepseek-ai/dsh-llm-pi-ai": ">=0.1.1-rc.1 <0.3.0",
109
+ "@deepseek-ai/dsh-credentials": ">=0.1.1-rc.1 <0.3.0",
110
+ "@deepseek-ai/dsh-settings": ">=0.1.1-rc.1 <0.3.0",
111
+ "@deepseek-ai/schemastery": "^3.18.1",
112
+ "@earendil-works/pi-ai": ">=0.82.1"
113
+ },
114
+ "peerDependenciesMeta": {
115
+ "@deepseek-ai/dsh-llm": {
116
+ "optional": true
117
+ },
118
+ "@deepseek-ai/dsh-llm-pi-ai": {
119
+ "optional": true
120
+ },
121
+ "@deepseek-ai/schemastery": {
122
+ "optional": true
123
+ },
124
+ "@earendil-works/pi-ai": {
125
+ "optional": true
126
+ },
127
+ "@deepseek-ai/cordis": {
128
+ "optional": true
129
+ },
130
+ "@deepseek-ai/dsh-settings": {
131
+ "optional": true
132
+ },
133
+ "@deepseek-ai/dsh-credentials": {
134
+ "optional": true
135
+ }
136
+ }
137
+ }
@@ -0,0 +1,8 @@
1
+ [
2
+ "assets/account-pool.png",
3
+ "assets/login-channels.png",
4
+ "assets/aggregate-channels.png",
5
+ "assets/account-credits.png",
6
+ "assets/region-tabs.png",
7
+ "assets/model-picker.png"
8
+ ]
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jet
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,53 @@
1
+ # vendor/channel-pack — 上游免费渠道包的来源与再构建
2
+
3
+ 本目录是 **[dsh-codearts-auth](https://gitee.com/iJetLi/deepseek-harness-codearts)**
4
+ 的完整拷贝,由 `dsh-our-free-model` 的 Host 半身在独立 fiber 上挂载,
5
+ 使 CodeArts、CodeBuddy、WorkBuddy、LobsterAI、Qoder、Qoder 中国版、TRAE、
6
+ Cline、Loomy、Raccoon、MiniMax Code、ZCode、Gemini 这十三个账号渠道的
7
+ 登录流程、账号池、积分领取、模型黑名单与本地 OpenAI 网关可用。OFM 挂载时关闭上游 OpenCode 账号接入,原有匿名免费车道保持独立。
8
+ 目录名与内部标识符在本插件的再构建中统一改为 channel-pack;出处与许可证不变。
9
+
10
+ - 上游仓库:`https://gitee.com/iJetLi/deepseek-harness-codearts`
11
+ - 吸收的提交:`345f0a07b22713c0ae189ca7d8b97ec4f64626c6`(2026-10-06)
12
+ - 许可证:MIT(见 `LICENSE`,与上游一致)
13
+
14
+ ## 目录内容
15
+
16
+ | 路径 | 说明 |
17
+ | --- | --- |
18
+ | `src/` | 上游 TypeScript 源码,包含下述 OFM 本地适配(便于审计与再构建) |
19
+ | `pack.js` | **插件运行时实际加载的代码**:直接由 `src/` 经 `scripts/build-channel-pack.mjs` 打包成单文件(jose/undici 内联,`@deepseek-ai/*` 保持外部),使发布清单不超文件上限 |
20
+ | `qoder-auth-wasm.wasm` | Qoder 加密推理所需的 WASM,必须与 `pack.js` 同目录(`pack.js` 按 `import.meta.url` 定位它) |
21
+ | `locale/` | 上游文案 |
22
+ | `scripts/`、`tsconfig.json`、`package.json` | 再构建所需的元数据(`lib/` 与 `node_modules/` 不入库,按下面步骤重建) |
23
+
24
+ 宿主提供的依赖(`@deepseek-ai/dsh-llm`、`@deepseek-ai/dsh-credentials`、
25
+ `@deepseek-ai/cordis`、`@deepseek-ai/schemastery`)不在此目录,按 Node 解析规则
26
+ 从安装它的 profile 的 `node_modules` 取;缺少时渠道包整体降级(`/summary.channels`
27
+ 报告 `state: "failed"` 与原因),免费车道不受影响。
28
+
29
+ ## 再构建
30
+
31
+ 直接从受版本管理的 `src/` 打包,不使用未入库的 `lib/`:
32
+
33
+ ```bash
34
+ # 在仓库外准备构建依赖,保持插件零运行依赖
35
+ npm install --prefix /tmp/ofm-channel-build --no-package-lock --ignore-scripts esbuild@0.24.2 jose@6.2.9 undici@8.11.2
36
+ mkdir -p vendor/channel-pack/node_modules
37
+ cp -R /tmp/ofm-channel-build/node_modules/jose /tmp/ofm-channel-build/node_modules/undici vendor/channel-pack/node_modules/
38
+ OFM_ESBUILD_DIR=/tmp/ofm-channel-build npm run channel-pack
39
+ # qoder-auth-wasm.wasm 沿用上游已有文件,须与 pack.js 同目录
40
+ # 清理本次创建的构建依赖;这些目录不入库、不随插件发布
41
+ rm -rf vendor/channel-pack/node_modules
42
+ ```
43
+
44
+ ## OFM 本地适配
45
+
46
+ - `src/index.ts`:增加可选 `disableOpencode` 挂载配置;OFM 开启它时跳过重复 OpenCode adapter、默认匿名账号和能力表预热,保留历史账号及凭据。省略时维持上游行为。
47
+ - `src/channel-pack-rpc.ts`:追加同一配置,关闭时拒绝 `opencode.*` 与通用 `account.create(provider=opencode)`。
48
+ - 打包入口改为 `src/index.ts`;宿主模块仍保持外部,jose/undici 内联。
49
+ - 构建依赖固定为 esbuild 0.24.2、jose 6.2.9、undici 8.11.2;本次重构建核对了原包的依赖代码,未借此升级运行依赖。
50
+
51
+ 本目录**不含**上游的浏览器半身(`plugin-src/client`)与其设置页——
52
+ 界面由 `dsh-our-free-model` 自己的三页界面取代,渠道操作经上游的
53
+ `/api/channel-pack` RPC 完成(`connection.rpc.call('/api', 'channel-pack', { method, payload })`)。