@ponydev/dsh-model-usage 1.0.1 → 1.0.3
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/AGENTS.md +87 -0
- package/CHANGELOG.md +19 -0
- package/CONTRIBUTING.md +57 -0
- package/README.md +10 -4
- package/RELEASE.md +138 -0
- package/cordis.patch.yml +1 -1
- package/docs/screenshots/01-sidebar.png +0 -0
- package/docs/screenshots/02-modal.png +0 -0
- package/docs/screenshots/03-settings.png +0 -0
- package/docs/screenshots/04-request-log.png +0 -0
- package/lib/client.js +1 -1
- package/package.json +5 -2
package/AGENTS.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# AGENTS.md — dsh-model-usage 项目规范(AI / 自动化代理)
|
|
2
|
+
|
|
3
|
+
本文件是**在这个仓库里工作时必须遵守的项目级规范**。全局规范见 `~/.dsh/AGENTS.md`;本文件只写项目特有约束。
|
|
4
|
+
|
|
5
|
+
## 0. 一句话
|
|
6
|
+
|
|
7
|
+
DSH Web 插件:显示模型供应商额度与用量。**只展示真实数据,绝不做金额估算**;UI 必须符合 DSH Web 原生规范。
|
|
8
|
+
|
|
9
|
+
## 1. 目录与职责
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
lib/index.js Host 入口(Cordis 插件、RPC 路由、会话事件、额度缓存)
|
|
13
|
+
lib/adapters.js 供应商额度适配器(只允许写死的白名单域名)
|
|
14
|
+
lib/ledger.js 请求账本(会话日志聚合、观测、历史回填、持久化)
|
|
15
|
+
lib/client.js 浏览器端 bundle(slots、组件、样式、i18n)
|
|
16
|
+
cordis.patch.yml bundle 补丁(插入 model-usage 行、默认配置)
|
|
17
|
+
assets/logos/ 供应商 logo(SVG)
|
|
18
|
+
scripts/smoke.mjs 冒烟测试(不触网)
|
|
19
|
+
docs/ 架构文档、截图
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**约束**:Host 与 Client 不能互相 import;Client 不得直接读文件/环境变量;所有跨端数据走 RPC(`POST /model-usage/<endpoint>`)。
|
|
23
|
+
|
|
24
|
+
## 2. 修改前必须做
|
|
25
|
+
|
|
26
|
+
1. `git status`、`git log --oneline -3` 确认工作区状态
|
|
27
|
+
2. 涉及 UI:先读 `docs/architecture.md` 的 UI 规范章节
|
|
28
|
+
3. 涉及适配器:确认接口域名/字段有可信来源,**不要编造 URL**
|
|
29
|
+
|
|
30
|
+
## 3. 提交前必须通过
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
for f in lib/*.js; do node --check "$f"; done # 语法
|
|
34
|
+
node scripts/smoke.mjs # 冒烟(16 项断言)
|
|
35
|
+
npm pack --dry-run # 发布内容检查
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
CI 会重复执行以上检查;失败不合并。
|
|
39
|
+
|
|
40
|
+
## 4. 代码规范
|
|
41
|
+
|
|
42
|
+
- **ESM only**,无构建步骤,无运行时依赖
|
|
43
|
+
- 命名:camelCase;私有状态放闭包;不引入全局变量
|
|
44
|
+
- 错误:`err(code, msg)`;错误信息必须脱敏(`safeMsg` 打码 `sk-*`/`Bearer *`)
|
|
45
|
+
- 日志:Host 侧可用 `console`,但**禁止打印凭据、请求头、完整响应**
|
|
46
|
+
- 金额:**禁止出现成本/价格估算逻辑**(订阅按额度计费,估算是错的)
|
|
47
|
+
- 数据口径:Tokens = input + cacheRead + cacheWrite + output;缓存命中率 = cacheRead/(cacheRead+input)
|
|
48
|
+
|
|
49
|
+
## 5. 安全不变量(不可破坏)
|
|
50
|
+
|
|
51
|
+
1. API Key 只在 Host 内存中使用,**绝不进入浏览器**,任何 RPC 响应不含密钥
|
|
52
|
+
2. 只请求写死的白名单域名;**客户端不能传 URL**
|
|
53
|
+
3. 账本只存聚合数字,不含对话内容
|
|
54
|
+
4. 新增适配器必须:固定 base URL、超时(`fetchT`)、错误脱敏、`needs-credential` 状态
|
|
55
|
+
5. 不新增第三方运行时依赖(保持零依赖)
|
|
56
|
+
|
|
57
|
+
## 6. UI 规范(DSH 原生)
|
|
58
|
+
|
|
59
|
+
- 只用官方组件:`Modal` / `Button` / `Pill` / `StateDot` / `Tooltip` / `Menu` / `SegmentedTabs`
|
|
60
|
+
- 颜色/圆角/字号只用 `--dsw-*` token,禁止硬编码色值(fallback 除外)
|
|
61
|
+
- 设置页只放**短标签 + 控件**,不写说明性长文(口径说明放 README/docs)
|
|
62
|
+
- 文案全走 i18n(zh/en 两个字典),不出现硬编码中文/英文
|
|
63
|
+
- 间距节奏:组件内 12px;卡片内边距 13px 15px;弹窗内容 `mbody` 12px
|
|
64
|
+
- 修改 client 后:`open test-render.html` 离线验证 + 0 控制台错误
|
|
65
|
+
|
|
66
|
+
## 7. 版本与发布
|
|
67
|
+
|
|
68
|
+
- 语义化版本:`patch` 修 bug / `minor` 新功能 / `major` 破坏性变更
|
|
69
|
+
- **发布只由 tag 触发**,禁止手动 `npm publish`
|
|
70
|
+
- 流程见 `RELEASE.md`;tag 必须与 `package.json` 版本一致
|
|
71
|
+
- **每个版本必须更新 `CHANGELOG.md`**,条目格式 `## <semver> — <YYYY-MM-DD>`;Release workflow 会抽取当前版本条目作为 GitHub Release 正文,缺失则发布失败
|
|
72
|
+
- 发布使用 npm Trusted Publishing(OIDC),**不增加 NPM_TOKEN**
|
|
73
|
+
|
|
74
|
+
## 8. 提交规范
|
|
75
|
+
|
|
76
|
+
- Conventional Commits:`feat:` / `fix:` / `docs:` / `ci:` / `chore:` / `refactor:`
|
|
77
|
+
- 一个提交只做一件事;提交信息中文或英文均可,但需说明"为什么"
|
|
78
|
+
- 不要提交:`node_modules/`、`*.tgz`、临时脚本、密钥、截图调试残留
|
|
79
|
+
- 作者身份使用全局 git config(`Pony <205503242+jmaubay7@users.noreply.github.com>`),不要用 `-c user.email=` 覆盖,不要写 AI 署名
|
|
80
|
+
|
|
81
|
+
## 9. 不要做的事
|
|
82
|
+
|
|
83
|
+
- 不要引入构建工具/打包器(手写 ModuleLoader bundle 是刻意设计)
|
|
84
|
+
- 不要改 `lib/client.js` 的 bundle 壳(`window.__ModuleLoader__.load`)结构
|
|
85
|
+
- 不要用 `ctx.connection.rpc.handle()`(web composition 下会失败,必须用 `webServer.register` + `connection.admit`)
|
|
86
|
+
- 不要在 `inject` 里放可选服务(`deepseekAccount` 用 `ctx.get` 宽松读取)
|
|
87
|
+
- 不要删除/改写历史 tag
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.3 — 2026-10-19
|
|
4
|
+
|
|
5
|
+
### 修复
|
|
6
|
+
- 前端模块注册名与安装包名不一致导致 DSH Web 启动失败(`__ModuleLoader__` id 改为 `@ponydev/dsh-model-usage`)
|
|
7
|
+
- 账本实时记录的输入/输出/缓存字段修复后重算历史(此前实时记录 token 明细为 0,聚合少算)
|
|
8
|
+
|
|
9
|
+
### 变更
|
|
10
|
+
- 更新 README 截图(总览 / 弹窗 / 请求日志),与当前 UI 一致
|
|
11
|
+
- 新增请求日志截图 `docs/screenshots/04-request-log.png`
|
|
12
|
+
|
|
13
|
+
## 1.0.2 — 2026-10-19
|
|
14
|
+
|
|
15
|
+
### 新增
|
|
16
|
+
- 项目规范文档:`AGENTS.md`(项目级规范)、`CONTRIBUTING.md`(开发指南)、`RELEASE.md`(自动发布规范)
|
|
17
|
+
- Release 正文自动从 CHANGELOG 抽取当前版本条目(`scripts/release-notes.mjs`),缺失版本条目时发布失败
|
|
18
|
+
|
|
19
|
+
### 变更
|
|
20
|
+
- 文档三件套随 npm 包发布(`files` 白名单)
|
|
21
|
+
|
|
3
22
|
## 1.0.1 — 2026-10-19
|
|
4
23
|
|
|
5
24
|
- 发布链路切换到 npm Trusted Publishing(OIDC),CI 不再依赖 NPM_TOKEN
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# 贡献指南
|
|
2
|
+
|
|
3
|
+
## 环境要求
|
|
4
|
+
|
|
5
|
+
- Node.js 24+
|
|
6
|
+
- 已安装 DSH(`@deepseek-ai/dsh` ≥ 0.2.0-rc.2)
|
|
7
|
+
- 本地开发无需构建(ESM 手写 bundle,无打包步骤)
|
|
8
|
+
|
|
9
|
+
## 本地开发
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# 1. 链接安装到 DSH profile
|
|
13
|
+
dsh plugin --profile web add link:$PWD
|
|
14
|
+
|
|
15
|
+
# 2. Host 侧(lib/index.js、lib/adapters.js、lib/ledger.js)改完必须重启宿主
|
|
16
|
+
launchctl kickstart -k gui/$(id -u)/local.deepseek-harness.web
|
|
17
|
+
|
|
18
|
+
# 3. Client 侧(lib/client.js)改完刷新页面即可(⌘⇧R)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
离线 UI 验证(不依赖宿主):
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
open test-render.html
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 提交前检查
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
for f in lib/*.js; do node --check "$f"; done
|
|
31
|
+
node scripts/smoke.mjs
|
|
32
|
+
npm pack --dry-run
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 代码约定(摘要,完整见 AGENTS.md)
|
|
36
|
+
|
|
37
|
+
- ESM、零运行时依赖、无构建工具
|
|
38
|
+
- 只展示真实数据;**禁止金额估算**
|
|
39
|
+
- 凭据只在 Host 内存;RPC 不返回密钥;只请求白名单域名
|
|
40
|
+
- UI 只用 DSH 官方组件与 `--dsw-*` token;文案走 zh/en i18n
|
|
41
|
+
- 设置页面不写说明性长文(口径放 README/docs)
|
|
42
|
+
|
|
43
|
+
## 提交规范
|
|
44
|
+
|
|
45
|
+
- Conventional Commits:`feat:` `fix:` `docs:` `ci:` `chore:` `refactor:`
|
|
46
|
+
- 一个提交一件事
|
|
47
|
+
- 不要提交 `node_modules/`、`*.tgz`、密钥、临时脚本
|
|
48
|
+
|
|
49
|
+
## 发布
|
|
50
|
+
|
|
51
|
+
不手动发布。`npm version patch|minor|major` 后 `git push --follow-tags`,详见 [RELEASE.md](RELEASE.md)。
|
|
52
|
+
|
|
53
|
+
## Issue / PR
|
|
54
|
+
|
|
55
|
+
- Bug 请附:DSH 版本、复现步骤、`~/Library/Logs/deepseek-harness/stderr.log` 相关片段
|
|
56
|
+
- 新增供应商适配器请附:接口文档链接、响应示例(脱敏)、凭据引用名
|
|
57
|
+
- PR 描述写清楚:改了什么、为什么、如何验证
|
package/README.md
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|

|
|
18
18
|
|
|
19
|
+

|
|
20
|
+
|
|
19
21
|
## 安装
|
|
20
22
|
|
|
21
23
|
要求 DSH `>= 0.2.0-rc.2 < 0.3.0`。
|
|
@@ -104,17 +106,21 @@ config:
|
|
|
104
106
|
- 账本只存用量聚合(token 数、窗口百分比),不含对话内容
|
|
105
107
|
- 错误信息脱敏(`sk-*` / `Bearer *` 会被打码)
|
|
106
108
|
|
|
107
|
-
##
|
|
109
|
+
## 开发与发布
|
|
110
|
+
|
|
111
|
+
- 开发环境、联调方式、提交前检查:[CONTRIBUTING.md](CONTRIBUTING.md)
|
|
112
|
+
- 项目级规范(AI/自动化代理必读):[AGENTS.md](AGENTS.md)
|
|
113
|
+
- **发布流程(tag 触发自动发布,OIDC 无 token)**:[RELEASE.md](RELEASE.md)
|
|
114
|
+
- 架构设计:[docs/architecture.md](docs/architecture.md)
|
|
108
115
|
|
|
109
116
|
```bash
|
|
110
117
|
# 本地渲染台(离线验证 UI,不依赖宿主)
|
|
111
118
|
open test-render.html
|
|
112
119
|
|
|
113
|
-
#
|
|
120
|
+
# 发版(自动发布到 npm + GitHub Release)
|
|
121
|
+
npm version patch && git push --follow-tags
|
|
114
122
|
```
|
|
115
123
|
|
|
116
|
-
架构说明见 [docs/architecture.md](docs/architecture.md)。
|
|
117
|
-
|
|
118
124
|
## License
|
|
119
125
|
|
|
120
126
|
[MIT](LICENSE)
|
package/RELEASE.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# 发布规范(自动发布 · Tag 触发)
|
|
2
|
+
|
|
3
|
+
本项目**不手动 `npm publish`**。发布唯一入口是**推送 `v*` tag**,由 GitHub Actions 自动完成。
|
|
4
|
+
|
|
5
|
+
## 一、链路总览
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
git push --follow-tags
|
|
9
|
+
│
|
|
10
|
+
▼
|
|
11
|
+
GitHub Actions: .github/workflows/release.yml (触发: push tags: v*)
|
|
12
|
+
1. 校验 tag 与 package.json 版本一致(不一致 → 失败,防误发)
|
|
13
|
+
2. 语法检查 + 冒烟测试(scripts/smoke.mjs)
|
|
14
|
+
3. npm Trusted Publishing(OIDC)发布,附 SLSA provenance 签名
|
|
15
|
+
- 版本已存在则跳过(幂等,可安全重跑)
|
|
16
|
+
4. 创建 GitHub Release(body 取 CHANGELOG.md)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
CI(`.github/workflows/ci.yml`)在 push `main` / PR 时只跑检查(语法 + 冒烟 + `npm pack` 内容校验),**不会发布**。
|
|
20
|
+
|
|
21
|
+
## 一·五、CHANGELOG 与 Release 正文(强制)
|
|
22
|
+
|
|
23
|
+
- **每个版本必须在 `CHANGELOG.md` 有对应 `## <版本>` 条目**,缺失时 release workflow 直接失败(`scripts/release-notes.mjs`)
|
|
24
|
+
- GitHub Release 正文 = **自动从 CHANGELOG 抽取当前版本条目**(不是全文、不是手写)
|
|
25
|
+
- CHANGELOG 采用 [Keep a Changelog](https://keepachangelog.com/) 风格:
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
## 1.0.2 — 2026-10-19
|
|
29
|
+
|
|
30
|
+
### 新增
|
|
31
|
+
- ...
|
|
32
|
+
|
|
33
|
+
### 修复
|
|
34
|
+
- ...
|
|
35
|
+
|
|
36
|
+
### 变更 / 移除
|
|
37
|
+
- ...
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
- 分类固定用:`新增` / `变更` / `修复` / `移除` / `安全`(无内容的分类省略)
|
|
41
|
+
- 语言:与仓库一致用中文;写"用户可感知的变化",不写实现细节流水账
|
|
42
|
+
- 版本标题格式:`## <semver> — <YYYY-MM-DD>`(工具按 `## <version>` 前缀匹配)
|
|
43
|
+
|
|
44
|
+
## 二、认证方式(永不过期)
|
|
45
|
+
|
|
46
|
+
使用 **npm Trusted Publishing(OIDC)**:
|
|
47
|
+
|
|
48
|
+
- npm 包设置 → Trusted Publisher → GitHub Actions
|
|
49
|
+
- Organization or user: `PonyDevAI`
|
|
50
|
+
- Repository: `dsh-model-usage`
|
|
51
|
+
- Workflow filename: `release.yml`
|
|
52
|
+
- workflow 权限:`id-token: write` + `contents: write`
|
|
53
|
+
- **不需要** `NPM_TOKEN` secret、不需要 OTP、不会过期
|
|
54
|
+
- 发布包自动获得 `dist.attestations.provenance`(SLSA v1)
|
|
55
|
+
|
|
56
|
+
> 不要退回 granular token:bypass-2FA token 最长 7 天,且 2027 年起禁止直接发布。
|
|
57
|
+
|
|
58
|
+
## 三、标准发版步骤
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# 0. 确认工作区干净、检查通过
|
|
62
|
+
git status
|
|
63
|
+
node scripts/smoke.mjs
|
|
64
|
+
|
|
65
|
+
# 1. 更新 CHANGELOG.md(新增当前版本条目)
|
|
66
|
+
|
|
67
|
+
# 2. 升版本(自动改 package.json + commit + 本地 tag)
|
|
68
|
+
npm version patch # 修复:1.0.1 → 1.0.2
|
|
69
|
+
npm version minor # 新功能:1.0.x → 1.1.0
|
|
70
|
+
npm version major # 破坏性:1.x → 2.0.0
|
|
71
|
+
|
|
72
|
+
# 3. 推送(--follow-tags 会带上 tag,触发发布)
|
|
73
|
+
git push --follow-tags
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
发布完成后验证:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm view @ponydev/dsh-model-usage version # 应为新版本
|
|
80
|
+
npm view @ponydev/dsh-model-usage@<ver> dist.attestations # 应有 provenance
|
|
81
|
+
gh run list --limit 3 # Release workflow success
|
|
82
|
+
gh release view v<ver> # Release 已创建
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## 四、版本规则
|
|
86
|
+
|
|
87
|
+
| 变更类型 | 版本 | 示例 |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| 修 bug / 文案 / 样式 | patch | 1.0.1 → 1.0.2 |
|
|
90
|
+
| 新功能(兼容) | minor | 1.0.2 → 1.1.0 |
|
|
91
|
+
| 破坏性(改配置结构、RPC、插槽、去除功能) | major | 1.1.0 → 2.0.0 |
|
|
92
|
+
|
|
93
|
+
- `engines.dsh` 兼容范围变化视为 major
|
|
94
|
+
- 每个版本必须在 `CHANGELOG.md` 增加条目(Keep a Changelog 风格)
|
|
95
|
+
|
|
96
|
+
## 五、手动打 tag(等价方式)
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# 先把 package.json version 改成目标版本并提交到 main
|
|
100
|
+
git tag -a v1.0.2 -m "dsh-model-usage 1.0.2"
|
|
101
|
+
git push origin v1.0.2
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
tag 与 `package.json` 不一致会导致 workflow 第一步失败。
|
|
105
|
+
|
|
106
|
+
## 六、故障处理
|
|
107
|
+
|
|
108
|
+
| 现象 | 原因 | 处理 |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| `tag x != package.json y` | 版本没改或 tag 打错 | 删本地 tag `git tag -d vX`,改版本后重打 |
|
|
111
|
+
| 发布步骤 "already published, skipping" | 该版本已存在 | 正常;要重发请升版本 |
|
|
112
|
+
| `E403 ... trusted publisher` | npm 未配置 OIDC 或 repo/workflow 名不匹配 | 检查 npm Trusted Publisher 三项字段 |
|
|
113
|
+
| npm 页面差几分钟才出现新版本 | registry 同步延迟 | 等待 2–5 分钟,直接查版本接口 |
|
|
114
|
+
| 需要撤回刚发布的版本 | 72 小时内可 unpublish | 见下节(需 2FA/OTP) |
|
|
115
|
+
|
|
116
|
+
### 撤回/废弃
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# 72 小时内:删除版本
|
|
120
|
+
npm unpublish @ponydev/dsh-model-usage@<ver> --force --otp=<OTP>
|
|
121
|
+
|
|
122
|
+
# 超过 72 小时:标记废弃(推荐)
|
|
123
|
+
npm deprecate @ponydev/dsh-model-usage@<ver> "原因,建议升级到 x.y.z"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 七、GitHub Release
|
|
127
|
+
|
|
128
|
+
- 自动创建,标题 `v<版本>`,正文取 `CHANGELOG.md` 全文
|
|
129
|
+
- 不手工编辑历史 Release;如需补充说明,在下一个版本体现
|
|
130
|
+
|
|
131
|
+
## 八、发布前检查清单
|
|
132
|
+
|
|
133
|
+
- [ ] `node scripts/smoke.mjs` 通过
|
|
134
|
+
- [ ] `npm pack --dry-run` 内容正确(无临时文件/密钥)
|
|
135
|
+
- [ ] `CHANGELOG.md` 已更新
|
|
136
|
+
- [ ] `README.md` 的安装命令/包名正确
|
|
137
|
+
- [ ] 工作量:`docs/screenshots/` 截图与实际 UI 一致(UI 变更时)
|
|
138
|
+
- [ ] `package.json` 的 `version` 与将要打的 tag 一致
|
package/cordis.patch.yml
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/client.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// 入口:侧边栏底部(原生 42px 行,Codex 式当前供应商)/ 设置 → 模型用量。
|
|
3
3
|
// 组件:官方 dsh-client-ui-primitives(Modal/Button/Pill/StateDot/Tooltip/锚定弹层)。
|
|
4
4
|
window.__ModuleLoader__.load({
|
|
5
|
-
id: 'dsh-model-usage',
|
|
5
|
+
id: '@ponydev/dsh-model-usage',
|
|
6
6
|
factory(require) {
|
|
7
7
|
const React = require('react')
|
|
8
8
|
const ReactDOM = require('react-dom')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ponydev/dsh-model-usage",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "DSH Web 插件:实时显示模型供应商额度与用量(DeepSeek / GLM Coding Plan / OpenRouter / Kimi Coding Plan + 自定义适配器)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|
|
@@ -32,7 +32,10 @@
|
|
|
32
32
|
"docs",
|
|
33
33
|
"README.md",
|
|
34
34
|
"CHANGELOG.md",
|
|
35
|
-
"LICENSE"
|
|
35
|
+
"LICENSE",
|
|
36
|
+
"AGENTS.md",
|
|
37
|
+
"CONTRIBUTING.md",
|
|
38
|
+
"RELEASE.md"
|
|
36
39
|
],
|
|
37
40
|
"exports": {
|
|
38
41
|
".": "./lib/index.js",
|