@goodandready/dsh-model-sync 0.3.13 → 0.4.0
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 +27 -0
- package/README.ru.md +27 -0
- package/README.zh.md +27 -0
- package/lib/client.js +1104 -92
- package/lib/http.js +82 -5
- package/lib/index.js +180 -163
- package/lib/policy.js +24 -1
- package/lib/synchronizer-helpers.js +113 -0
- package/lib/synchronizer-prober.js +50 -0
- package/lib/synchronizer-transfer.js +118 -0
- package/lib/synchronizer.js +38 -128
- package/lib/updater.js +362 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -21,6 +21,16 @@
|
|
|
21
21
|
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
|
|
22
22
|
</p>
|
|
23
23
|
|
|
24
|
+
<table align="center">
|
|
25
|
+
<tr>
|
|
26
|
+
<td align="center">
|
|
27
|
+
⭐ <strong>If you like this plugin, please star it on GitHub</strong> — it shows me that the plugin is useful to you and motivates me to keep developing it.
|
|
28
|
+
<br><br>
|
|
29
|
+
🐛 <strong>If you find a bug or would like to request a feature</strong>, open a GitHub issue in any language — I will review your proposal and implement useful suggestions in a future plugin version.
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
</table>
|
|
33
|
+
|
|
24
34
|
</div>
|
|
25
35
|
|
|
26
36
|
---
|
|
@@ -107,6 +117,23 @@ dsh plugin --profile web add @goodandready/dsh-model-sync
|
|
|
107
117
|
|
|
108
118
|
---
|
|
109
119
|
|
|
120
|
+
## 🚀 Enhancements in v0.4.0
|
|
121
|
+
|
|
122
|
+
- **One-Click In-App Updater**: Check npm registry for updates and trigger one-click upgrades directly within the DSH Settings Card, complete with version diff badges and server restart alerts.
|
|
123
|
+
- **Strict Loopback Security**: All mutating HTTP endpoints (`/apply`, `/policy`, `/clear-cache`, `/updater/update`) now require verified loopback origin and remote socket IP to prevent CSRF / unauthorized network access.
|
|
124
|
+
- **100% Theme Token Compliance**: Eliminated all hardcoded colors and `rgba()` values in client UI in favor of official DSH theme tokens (`--dsw-alias-*`), ensuring perfect dark/light mode rendering.
|
|
125
|
+
- **Modular Architecture**: Decomposed core synchronization logic into specialized modules (`synchronizer-helpers.js`, `synchronizer-transfer.js`, `synchronizer-prober.js`), significantly enhancing code readability and maintainability.
|
|
126
|
+
- **Clean Packaging**: Excluded development and internal planning artifacts from git and npm distribution, maintaining an ultra-lightweight release bundle (< 70 KiB).
|
|
127
|
+
|
|
128
|
+
## 🚀 Enhancements in v0.3.14
|
|
129
|
+
|
|
130
|
+
- **Language Standard**: Canonical plugin in `en` and `zh`. Runtime Russian translations decoupled into `goodandready/dsh-russian-lang` (#191).
|
|
131
|
+
- **Packaging Isolation**: Dedicated `.npmignore` excludes tests, plans, and documentation to maintain a minimal < 256 KiB npm release bundle.
|
|
132
|
+
- **Batch Health Check**: Probe multiple selected models in parallel via `POST /dsh-model-sync/batch-try` with latency badges and one-click removal of unreachable models.
|
|
133
|
+
- **Cost & Context Policies**: Set maximum price per million tokens and minimum context window thresholds in provider policies.
|
|
134
|
+
- **Catalog Export & Import**: Backup and restore full plugin configuration (policies, selections, aliases, scheduler) via `GET /export` and `POST /import`.
|
|
135
|
+
- **Model Alias Mapping**: Assign friendly aliases to provider/model pairs with `GET /aliases` and `POST /aliases` with interactive UI card.
|
|
136
|
+
|
|
110
137
|
## 🚀 Enhancements in v0.3.13
|
|
111
138
|
|
|
112
139
|
* ⚡ **Zero-Overhead Polling via HTTP ETag / 304 Not Modified**:
|
package/README.ru.md
CHANGED
|
@@ -21,6 +21,16 @@
|
|
|
21
21
|
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
|
|
22
22
|
</p>
|
|
23
23
|
|
|
24
|
+
<table align="center">
|
|
25
|
+
<tr>
|
|
26
|
+
<td align="center">
|
|
27
|
+
⭐ <strong>Если вам нравится этот плагин, поставьте ему звезду на GitHub</strong> — это покажет мне, что плагин вам полезен, и будет мотивировать меня развивать его дальше.
|
|
28
|
+
<br><br>
|
|
29
|
+
🐛 <strong>Если вы нашли баг или хотите предложить новый функционал</strong>, создайте issue на GitHub на любом языке — я рассмотрю ваше предложение и реализую полезные идеи в одной из следующих версий плагина.
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
</table>
|
|
33
|
+
|
|
24
34
|
</div>
|
|
25
35
|
|
|
26
36
|
---
|
|
@@ -84,6 +94,14 @@ dsh plugin --profile web add @goodandready/dsh-model-sync
|
|
|
84
94
|
|
|
85
95
|
---
|
|
86
96
|
|
|
97
|
+
## 🚀 Улучшения в версии 0.4.0
|
|
98
|
+
|
|
99
|
+
- **One-Click обновление плагина из настроек**: В карточку настроек плагина добавлен блок обновления с проверкой актуальной версии в npm, цветовым бейджем статуса и кнопкой обновления в один клик.
|
|
100
|
+
- **Защита write-эндпоинтов по Loopback**: Все мутирующие HTTP-маршруты (`/apply`, `/policy`, `/clear-cache`, `/updater/update`) строго проверяют адрес источника (`127.0.0.1`, `::1`, `::ffff:127.0.0.1`) и заголовок Origin/Host для предотвращения несанкционированного доступа.
|
|
101
|
+
- **Полная поддержка темы DSH (0 rgba / 0 hex)**: Все стили интерфейса переведены на официальные токены дизайн-системы DSH (`--dsw-alias-*`), обеспечивая нативную интеграцию со светлой и тёмной темами оформления.
|
|
102
|
+
- **Модульная архитектура синхронизатора**: Монолитная логика синхронизации разделена на специализированные модули (`synchronizer-helpers.js`, `synchronizer-transfer.js`, `synchronizer-prober.js`), что упрощает поддержку и снижает размер основного файла ниже 600 строк.
|
|
103
|
+
- **Чистый дистрибутив пакета**: Исключены внутренние файлы планирования и отладки; размер сжатого npm-пакета составляет менее 70 KiB, все файлы укладываются в лимит 256 KiB.
|
|
104
|
+
|
|
87
105
|
## 🚀 Улучшения в v0.3.13
|
|
88
106
|
|
|
89
107
|
* ⚡ **ETag / 304 Not Modified для фонового опроса UI**:
|
|
@@ -211,6 +229,15 @@ dsh-model-sync:
|
|
|
211
229
|
|
|
212
230
|
---
|
|
213
231
|
|
|
232
|
+
## 🚀 Улучшения в версии 0.3.14
|
|
233
|
+
|
|
234
|
+
- **Языковой стандарт**: Каноническая поддержка `en` и `zh` в кодовой базе плагина; русскоязычная локализация вынесена в пакет `goodandready/dsh-russian-lang` (#191).
|
|
235
|
+
- **Изоляция релиза**: Настроен `.npmignore` для исключения тестов, планов и документации из npm-пакета.
|
|
236
|
+
- **Пакетная проверка моделей (Batch Try)**: Эндпоинт `POST /dsh-model-sync/batch-try`, бейджи задержки и мгновенная деселекция недоступных моделей.
|
|
237
|
+
- **Политики по цене и контексту**: Опциональные фильтры `maxPricePerMillion` и `minContextTokens` в настройках провайдера.
|
|
238
|
+
- **Экспорт и импорт конфигурации**: JSON-бэкап и перенос настроек через `GET /export` и `POST /import`.
|
|
239
|
+
- **Пользовательские алиасы моделей**: Управление алиасами моделей через `GET/POST /aliases` и UI-карточку.
|
|
240
|
+
|
|
214
241
|
## 📄 Лицензия
|
|
215
242
|
|
|
216
243
|
MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
|
package/README.zh.md
CHANGED
|
@@ -21,6 +21,16 @@
|
|
|
21
21
|
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
|
|
22
22
|
</p>
|
|
23
23
|
|
|
24
|
+
<table align="center">
|
|
25
|
+
<tr>
|
|
26
|
+
<td align="center">
|
|
27
|
+
⭐ <strong>如果您喜欢这个插件,请在 GitHub 上为它点亮 Star</strong> — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。
|
|
28
|
+
<br><br>
|
|
29
|
+
🐛 <strong>如果您发现 Bug 或希望增加功能</strong>,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
</table>
|
|
33
|
+
|
|
24
34
|
</div>
|
|
25
35
|
|
|
26
36
|
---
|
|
@@ -85,6 +95,23 @@ dsh plugin --profile web add @goodandready/dsh-model-sync
|
|
|
85
95
|
|
|
86
96
|
---
|
|
87
97
|
|
|
98
|
+
## 🚀 v0.4.0 新特性与增强
|
|
99
|
+
|
|
100
|
+
- **设置卡片一键更新**: 在 DSH 设置卡片中集成自动版本检查,展示当前与最新版本对比徽标,支持一键安全升级并在更新后提示重启。
|
|
101
|
+
- **严格本地环回 (Loopback) 安全保护**: 所有修改状态的 HTTP 路由 (`/apply`, `/policy`, `/clear-cache`, `/updater/update`) 均强制校验本地环回 IP (`127.0.0.1`, `::1`, `::ffff:127.0.0.1`) 及请求来源,杜绝外部恶意调用。
|
|
102
|
+
- **100% 原生主题变量适配**: 客户端 UI 全面移除硬编码颜色与 `rgba()` 样式,完全切换至 DSH 官方 CSS 设计令牌 (`--dsw-alias-*`),无缝适配深色与浅色主题。
|
|
103
|
+
- **同步引擎模块化拆分**: 核心同步逻辑已解耦拆分为专项子模块 (`synchronizer-helpers.js`, `synchronizer-transfer.js`, `synchronizer-prober.js`),大幅提升代码可读性与维护性。
|
|
104
|
+
- **轻量分发包清理**: 彻底排除内部计划与调试文件,精简 npm 发布体积至 70 KiB 以下,所有文件均完全符合 256 KiB 上限规范。
|
|
105
|
+
|
|
106
|
+
## 🚀 v0.3.14 新特性与增强
|
|
107
|
+
|
|
108
|
+
- **语言标准**: 插件原生支持 `en` 与 `zh` 双语,俄语本地化已独立解耦至 `goodandready/dsh-russian-lang` 翻译包 (#191)。
|
|
109
|
+
- **发布隔离**: 通过 `.npmignore` 严格过滤测试、规划和文档文件,保证 npm 发布包体积小于 256 KiB。
|
|
110
|
+
- **模型批量可用性测试**: 支持通过 `POST /dsh-model-sync/batch-try` 并发批量测试所选模型,展示延迟徽标并一键取消选中不可用模型。
|
|
111
|
+
- **价格与上下文窗口过滤**: 支持按每百万 Token 最高价格及最小上下文长度过滤候选模型。
|
|
112
|
+
- **配置导入与导出**: 支持通过 `GET /export` 与 `POST /import` 导出及恢复全部策略、模型选择、别名和定时计划。
|
|
113
|
+
- **自定义模型别名映射**: 支持通过 `GET/POST /aliases` 为特定服务商与模型组合设置便于调用的简短别名。
|
|
114
|
+
|
|
88
115
|
## 📄 开源协议
|
|
89
116
|
|
|
90
117
|
MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
|