@ebony-vinyl/dsh-our-free-model 2.7.4 → 2.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -8
- package/client.js +894 -6
- package/cordis.patch.yml +1 -1
- package/index.js +248 -11
- package/package.json +6 -2
- package/src/adapter.js +54 -6
- package/src/aggregate.js +53 -13
- package/src/bun-fetch.js +33 -10
- package/src/catalog.js +238 -58
- package/src/core.js +838 -0
- package/src/egress.js +204 -3
- package/src/engine-parts/win32-x64.000.part +0 -0
- package/src/engine-parts/win32-x64.001.part +0 -0
- package/src/engine-parts/win32-x64.002.part +0 -0
- package/src/engine-parts/win32-x64.003.part +0 -0
- package/src/engine-parts/win32-x64.004.part +0 -0
- package/src/engine-parts/win32-x64.005.part +0 -0
- package/src/engine-parts/win32-x64.006.part +0 -0
- package/src/extensions.js +1888 -0
- package/src/feed.js +6 -0
- package/src/http.js +15 -2
- package/src/kilo.js +55 -5
- package/src/magpie-engine.js +61 -2
- package/src/magpie-models.js +31 -3
- package/src/model-test.js +3 -1
- package/src/o2a.js +956 -0
- package/src/open-external.js +43 -5
- package/src/plugins.js +1240 -0
- package/src/providers/registry.json +72 -30
- package/src/semver.js +40 -0
- package/src/store.js +17 -1
- package/src/stream.js +39 -4
- package/src/subscription-completion.js +12 -3
- package/src/updater.js +5 -33
- package/src/upstream.js +283 -363
- package/vendor/channel-pack/NOTICE.md +1 -1
- package/vendor/channel-pack/pack.js +7242 -3952
- package/vendor/magpie/NOTICE.md +159 -6
- package/vendor/magpie/engine.json +58 -27
- package/src/core/completion.js +0 -196
- package/src/core/runtime.js +0 -456
- package/src/core/stats.js +0 -98
- package/src/engine-parts/win32-x64.007.part +0 -0
- package/src/engine-parts/win32-x64.008.part +0 -0
package/README.md
CHANGED
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
## 交流群
|
|
40
40
|
|
|
41
41
|
<div align="center">
|
|
42
|
-
<img src="docs/images/qq-group-
|
|
42
|
+
<img src="docs/images/qq-group-386179533.png" alt="ai技术交流学习群入群二维码(群号:386179533)" width="300">
|
|
43
43
|
<br>
|
|
44
|
-
<b>QQ 群:
|
|
44
|
+
<b>QQ 群:386179533(ai技术交流学习群)</b>
|
|
45
45
|
<br>
|
|
46
46
|
扫码或搜索群号加入群聊,一起交流插件使用心得、反馈问题与分享玩法。
|
|
47
47
|
</div>
|
|
@@ -71,7 +71,9 @@
|
|
|
71
71
|
- **接口具备鉴权围栏**——插件 HTTP 路由优先级高于内核 `/api`,因此内置与内核一致的信任检查(优先复用 composition 的 connection 服务,缺失时退回结构化围栏)。
|
|
72
72
|
- **十个账号渠道,一体接入**——LobsterAI(有道)、Qoder / Qoder 中国版(阿里系)、TRAE(字节)、Cline、Loomy(讯飞)、Raccoon(商汤)、MiniMax Code、ZCode(智谱)、Gemini(Google Code Assist)十个账号渠道开箱即用,外加 Kilo 免费车道与原匿名免费通道;OpenCode 账号渠道在本插件中默认停用。各渠道的登录流程、账号池、每日积分领取、模型黑名单与其本地 OpenAI 网关(Chat Completions + Responses,默认 `127.0.0.1:8326`)原样挂载与运行;凭据只写入宿主凭据库,浏览器永远拿不到明文。
|
|
73
73
|
- **视觉特效按需开启**——设置页顶部“视觉特效”开关默认关闭,鱼缸和业务功能始终保留;开启后恢复背景光晕、毛玻璃与装饰动画,选择仅保存在当前浏览器。
|
|
74
|
-
-
|
|
74
|
+
- **OFM 插件中心:渠道 / 增强 / 页面统一市场**——新仓库 [Ebony-Vinyl/ofm-extensions](https://github.com/Ebony-Vinyl/ofm-extensions) 承载社区插件:Ed25519 签名索引、安装即校验 SHA-256 与静态扫描、运行在 Worker VM 沙箱(唯一 import 是受控的 `ofm:sdk`,网络只放行 manifest 声明的域名,密钥只进不出,每个 hook 带超时熔断)。渠道插件装上即出现在模型选择器(支持 `replaces` 接管内置车道),增强插件以 `onRequest`/`onModels`/`onUsage` 挂进请求链;页面插件在侧边栏贡献一个沙箱 iframe 页面,只能通过受控消息桥读写自己的配置与存储。清单 v1 与 v2 双兼容;内置账号渠道包、聚合渠道目录、客户端启动器、资源库格式与模型工作台也以 built-in 描述符登记在同一插件中心,不可卸载但可查看贡献。发现、安装、更新、启停、配置、密钥、自检、卸载全部在控制台「插件中心」完成;开发者模式可安装本地未签名包(显式风险确认、未验证徽标、同一沙箱)。市场页另带封面横幅、类型色带与骨架屏,详情弹层含签名源码直达链接、发布说明(changelog)与权限清单;索引由宿主后台定时刷新,已装插件的清单可一键导出 / 导入(JSON,不含密钥)用于迁移。模型工作台(magpie)车道的推理请求也接入同一增强钩子链(onRequest),并默认经宿主可替换的 fetch 出站,本机代理类插件(如上下文扩展)重新可见;OFM_ENGINE_PRIVATE_FETCH=1 可回到私有直连。
|
|
75
|
+
- **免费车道额度断路器与出口代理(issue #708/#767 的完整回答)**——上游按出口 IP 计免费配额,一次真实 429 即开窗(`Retry-After` 缺省 6 小时),窗口内本插件本地拒绝新回合、不再向墙上送请求;`FreeTierError` 单独锁道。手动测试全部保留(清单刷新/单模型检测/测速),自动探测依旧禁用——状态从真实回合被动学习。车道可配独立出口代理(http/https/socks5),也认 `HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY` 环境变量;「换出口后重试一次」一键清窗,「测试出口」打第三方回显不花配额。请求形状对齐官方 2.2.3 客户端(`traceparent`/`b3`/通配 `accept`),并移植 opencode2api v1.4.7 的工具名绑定、幽灵调用清理与标题请求免整形。
|
|
76
|
+
- **十三页毛玻璃界面**——设置页顶部导航扩为十一个页面:原有六页(**免费模型**(鱼缸水位 = 可用模型占比)、**EAC 模型**(鱼缸水位 = 协付池压力)、**白嫖模型接入**(十张渠道卡:登录、账号、模型开关、一键领取积分)、**数据看板**(今日/全部 Token 消耗、平均生成速度、缓存命中率、成功率,账号透视与模型性能表、最近请求总览)、**运行日志**(逐请求明细:结果、耗时、首字、速度、Token 细分,失败原因悬停可见)与**网关设置**(网关开关/端点/密钥;局域网转发中继:监听地址、端口与独立中继密钥)),新增**聚合渠道**(提供商注册表、Key、测试、发现模型、Base URL 与模型清单覆盖)、**省 Token**(压缩开关、两族提示词档位、五个本地应答与节省统计)、**路由**(降级链编辑器)、**插件升级**(版本检查、一键升级与热重载)与**推荐项目**(EAC-Desktop / EAC-Pack / EAC-design-world 三张卡片:简介、直达链接与 Star 按钮,Star / Fork / 最近提交数实时取自 GitHub,取不到就整块不显示)五页;网关设置页另增「接入客户端」分区。页面切换与卡片入场为 150–250 ms 短动效,`prefers-reduced-motion` 下整体关闭。每页都有直达 GitHub 仓库的 Star 按钮。
|
|
75
77
|
- **局域网转发中继**——渠道网关本身只监听本机(上游的安全选择);本插件提供自己的转发门:调用方用插件签发与轮换的中继密钥,转发跳由宿主换用网关凭据(凭据不出宿主进程),仅放行 `/v1/*` 模型接口并带环路保护。
|
|
76
78
|
|
|
77
79
|
## 你会看到什么
|
|
@@ -108,23 +110,36 @@ npm run start:standalone
|
|
|
108
110
|
|
|
109
111
|
独立服务默认使用 `~/.our-free-model` 和端口 `18900`,拥有自己的 API Key,
|
|
110
112
|
不读取插件数据。支持匿名/Kilo、EAC 和十个账号渠道,提供
|
|
111
|
-
Chat Completions、Responses API
|
|
113
|
+
Chat Completions、Responses API,以及独立网页管理(概览、模型、用量、聚合渠道、路由、
|
|
114
|
+
EAC、客户端与订阅、资源库、API 接入、设置与**插件中心**)。
|
|
115
|
+
插件中心与桌面端共用一套签名市场:渠道、增强与页面插件在此安装、启停、配置与卸载,
|
|
116
|
+
页面插件会直接出现在侧边栏的「插件」分组里。
|
|
112
117
|
启动后打开终端打印的一次性管理链接即可使用;账号在独立页面登录,也可手动导入插件账号备份。
|
|
113
118
|
启动、参数与验证见 [独立服务说明](packages/standalone/README.md)。
|
|
114
119
|
独立服务的安装制品与 Release 尚未发布。
|
|
115
120
|
|
|
116
121
|
## 安装
|
|
117
122
|
|
|
118
|
-
> **⚠️
|
|
123
|
+
> **⚠️ 不要安装 npm 上那个裸名的 `dsh-our-free-model`。**
|
|
119
124
|
>
|
|
120
125
|
> npm 上的 `dsh-our-free-model` 包**不是本仓库发布的**。它由第三方打包,内容与本仓库
|
|
121
126
|
> 不一致:`index.js`、`client.js` 被改动,并额外包含本仓库从未有过的
|
|
122
127
|
> `src/channel-visibility.js`。装到它得不到本项目审核过的构建,也拿不到本仓库的签名
|
|
123
128
|
> 清单校验与应用内升级。
|
|
124
129
|
>
|
|
125
|
-
>
|
|
130
|
+
> 本仓库自己发布的是带 scope 的 **`@ebony-vinyl/dsh-our-free-model`**,与 Release 的
|
|
131
|
+
> `dsh-our-free-model-<版本>.tgz` 同源、同版本。只想走 npm 时可以装它:
|
|
132
|
+
>
|
|
133
|
+
> ```
|
|
134
|
+
> dsh plugin --profile web add @ebony-vinyl/dsh-our-free-model@2.8.2
|
|
135
|
+
> ```
|
|
136
|
+
>
|
|
137
|
+
> 注意它的包名带 scope,因此挂载条目是 `@ebony-vinyl/dsh-our-free-model`,与下文
|
|
138
|
+
> 裸包名的本地安装方式不能混用(同一个 profile 里只选一种)。
|
|
139
|
+
>
|
|
126
140
|
> 其它渠道出现的同名包一律以本仓库为准。
|
|
127
141
|
|
|
142
|
+
|
|
128
143
|
**命令行(纯 dsh web)**
|
|
129
144
|
|
|
130
145
|
```
|
|
@@ -148,12 +163,12 @@ PROFILE_UPGRADE_REQUIRED: offline dependency migration is not yet available
|
|
|
148
163
|
以真实目录手工安装时,使用可信源码打出的本地 tarball:
|
|
149
164
|
|
|
150
165
|
1. 创建 `<DSH_HOME>/profiles/<profile>/vendor/`,在审核过的本仓库目录运行 `npm pack --ignore-scripts --pack-destination "<DSH_HOME>/profiles/<profile>/vendor"`,或将本仓库正式发布的同版本 tarball 放入该目录。本地打包不执行 npm 发布。
|
|
151
|
-
2. 在 profile 的 `package.json` 的 dependencies 中加入 `"dsh-our-free-model": "file:./vendor/dsh-our-free-model-2.
|
|
166
|
+
2. 在 profile 的 `package.json` 的 dependencies 中加入 `"dsh-our-free-model": "file:./vendor/dsh-our-free-model-2.8.2.tgz"`。文件名版本跟随仓库 `package.json`,不要改成同名 npm 注册表版本;再通过宿主的安装流程解析依赖。
|
|
152
167
|
3. 在 dsh.profile.bundles 末尾追加 `"dsh-our-free-model"`。
|
|
153
168
|
|
|
154
169
|
包管理器拥有这份安装的字节时,同时将 bundle config 或插件 `settings.json` 的 `distribution` 设为 `managed`,由包管理器统一更新;应用内升级、公告 feed 与热重载会停用,模型功能保留。以后更新时替换可信 tarball 并同步依赖路径,避免包管理器按旧锁文件恢复旧版本。
|
|
155
170
|
|
|
156
|
-
若手工复制发布文件,必须复制完整包,包括 `adapter/`、`src/`、`locale
|
|
171
|
+
若手工复制发布文件,必须复制完整包,包括 `adapter/`、`src/`、`locale/`、`vendor/` 下的引擎资源目录(`engine.json`、LICENSE、NOTICE 与对应二进制),以及 `vendor/channel-pack/` 下的 `pack.js`、WASM、LICENSE、NOTICE;只复制入口脚本会导致渠道加载失败。
|
|
157
172
|
|
|
158
173
|
不要再向 cordis.patch.yml 添加条目。被 dsh.profile.bundles 引用的包,其自带的
|
|
159
174
|
patch 层会自动生效;两处同时注册将报错 duplicate loader entry id: our-free-model。
|