@jxgame2020/dsh-token-quota 0.1.0 → 0.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/lib/client.js
CHANGED
|
@@ -119,7 +119,7 @@ window.__ModuleLoader__.load({
|
|
|
119
119
|
}
|
|
120
120
|
//#endregion
|
|
121
121
|
//#region \0dsh-css:/Users/jxgame/Desktop/works/deepseek-harness-package/dsh-token-quota/packages/token-quota/src/client/TokenQuotaPanel.module.css.mjs
|
|
122
|
-
const css = ".NPLLIq_panel{box-sizing:border-box;background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l1);pointer-events:auto;z-index:40;border-radius:12px;flex-direction:column;width:320px;max-height:min(72vh,560px);display:flex;position:fixed;top:56px;right:12px;overflow:hidden;box-shadow:0 8px 28px #0000002e}.NPLLIq_header{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.NPLLIq_headerText{flex-direction:column;gap:2px;min-width:0;display:flex}.NPLLIq_title{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600}.NPLLIq_subtitle{color:var(--dsw-alias-label-secondary);font-size:11px}.NPLLIq_collapse{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 6px;font-size:11px}.NPLLIq_collapse:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1)}.NPLLIq_body{padding:4px 0;overflow-y:auto}.NPLLIq_row{border-bottom:1px solid var(--dsw-alias-border-l1);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.NPLLIq_rowHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.NPLLIq_rowName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.NPLLIq_currentBadge{color:var(--dsw-alias-state-success-primary);border:1px solid var(--dsw-alias-state-success-primary);border-radius:8px;flex:none;padding:1px 6px;font-size:10px}.NPLLIq_rowMeta{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.NPLLIq_bar{background:var(--dsw-alias-bg-layer-1);border-radius:3px;height:6px;overflow:hidden}.NPLLIq_fillIdle{background:var(--dsw-alias-brand-primary);height:100%;transition:width .2s}.NPLLIq_fillWarn{background:var(--dsw-alias-state-warn-primary);height:100%;transition:width .2s}.NPLLIq_fillOver{background:var(--dsw-alias-state-error-primary);height:100%;transition:width .2s}.NPLLIq_controls{align-items:center;gap:6px;display:flex}.NPLLIq_input{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;color:var(--dsw-alias-label-primary);border-radius:6px;flex:1;padding:4px 8px;font-size:11px}.NPLLIq_input::placeholder{color:var(--dsw-alias-label-secondary)}.NPLLIq_save,.NPLLIq_switch{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px;font-size:11px}.NPLLIq_save:hover,.NPLLIq_switch:hover:not(:disabled){background:var(--dsw-alias-bg-layer-2)}.NPLLIq_switch:disabled{opacity:.5;cursor:default}.NPLLIq_notice,.NPLLIq_noticeError{color:var(--dsw-alias-label-secondary);padding:10px 12px;font-size:12px}.NPLLIq_noticeError{color:var(--dsw-alias-state-error-primary)}.NPLLIq_tab{background:var(--dsw-alias-
|
|
122
|
+
const css = ".NPLLIq_panel{box-sizing:border-box;background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l1);pointer-events:auto;z-index:40;border-radius:12px;flex-direction:column;width:320px;max-height:min(72vh,560px);display:flex;position:fixed;top:56px;right:12px;overflow:hidden;box-shadow:0 8px 28px #0000002e}.NPLLIq_header{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.NPLLIq_headerText{flex-direction:column;gap:2px;min-width:0;display:flex}.NPLLIq_title{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600}.NPLLIq_subtitle{color:var(--dsw-alias-label-secondary);font-size:11px}.NPLLIq_collapse{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 6px;font-size:11px}.NPLLIq_collapse:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1)}.NPLLIq_body{padding:4px 0;overflow-y:auto}.NPLLIq_row{border-bottom:1px solid var(--dsw-alias-border-l1);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.NPLLIq_rowHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.NPLLIq_rowName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.NPLLIq_currentBadge{color:var(--dsw-alias-state-success-primary);border:1px solid var(--dsw-alias-state-success-primary);border-radius:8px;flex:none;padding:1px 6px;font-size:10px}.NPLLIq_rowMeta{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.NPLLIq_bar{background:var(--dsw-alias-bg-layer-1);border-radius:3px;height:6px;overflow:hidden}.NPLLIq_fillIdle{background:var(--dsw-alias-brand-primary);height:100%;transition:width .2s}.NPLLIq_fillWarn{background:var(--dsw-alias-state-warn-primary);height:100%;transition:width .2s}.NPLLIq_fillOver{background:var(--dsw-alias-state-error-primary);height:100%;transition:width .2s}.NPLLIq_controls{align-items:center;gap:6px;display:flex}.NPLLIq_input{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;color:var(--dsw-alias-label-primary);border-radius:6px;flex:1;padding:4px 8px;font-size:11px}.NPLLIq_input::placeholder{color:var(--dsw-alias-label-secondary)}.NPLLIq_save,.NPLLIq_switch{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px;font-size:11px}.NPLLIq_save:hover,.NPLLIq_switch:hover:not(:disabled){background:var(--dsw-alias-bg-layer-2)}.NPLLIq_switch:disabled{opacity:.5;cursor:default}.NPLLIq_notice,.NPLLIq_noticeError{color:var(--dsw-alias-label-secondary);padding:10px 12px;font-size:12px}.NPLLIq_noticeError{color:var(--dsw-alias-state-error-primary)}.NPLLIq_tab{background:var(--dsw-alias-brand-primary);border:1px solid var(--dsw-alias-brand-primary);color:var(--dsw-alias-bg-overlay);pointer-events:auto;cursor:pointer;z-index:90;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:600;display:inline-flex;position:fixed;top:56px;right:12px;box-shadow:0 6px 20px #00000040}.NPLLIq_tab:hover{filter:brightness(1.08)}.NPLLIq_tabIcon{font-size:12px;line-height:1}.NPLLIq_tabLabel{white-space:nowrap}.NPLLIq_headerActions{flex:none;align-items:center;gap:4px;display:flex}.NPLLIq_settingsBtn{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 6px;font-size:11px}.NPLLIq_settingsBtn:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1)}.NPLLIq_selectBtn{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:1px 6px;font-size:10px}.NPLLIq_selectBtn:hover{background:var(--dsw-alias-bg-layer-1)}.NPLLIq_gearBtn{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;flex:none;margin-left:6px;padding:0 2px;font-size:12px;line-height:1}.NPLLIq_gearBtn:hover{color:var(--dsw-alias-label-primary)}.NPLLIq_fullNotice{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-state-error-primary);border-radius:8px;margin:6px 12px;padding:8px 10px;font-size:12px}.NPLLIq_dialogBackdrop{z-index:50;background:#00000059;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.NPLLIq_dialog{box-sizing:border-box;background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;gap:12px;width:280px;max-height:80%;padding:14px;display:flex;overflow-y:auto;box-shadow:0 8px 28px #00000040}.NPLLIq_dialogTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600}.NPLLIq_dialogSection{flex-direction:column;gap:6px;display:flex}.NPLLIq_dialogLabel{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:500}.NPLLIq_monitorHint{color:var(--dsw-alias-label-secondary);font-size:11px}.NPLLIq_monitorList{flex-direction:column;gap:2px;max-height:180px;display:flex;overflow-y:auto}.NPLLIq_monitorRow{color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:2px 4px;font-size:12px;display:flex}.NPLLIq_monitorRow:hover{background:var(--dsw-alias-bg-layer-1)}.NPLLIq_monitorName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.NPLLIq_radioRow{color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:3px 4px;font-size:12px;display:flex}.NPLLIq_radioRow:hover{background:var(--dsw-alias-bg-layer-1)}.NPLLIq_dialogActions{justify-content:flex-end;gap:6px;display:flex}.NPLLIq_dialogBtn,.NPLLIq_dialogBtnPrimary{border:1px solid var(--dsw-alias-border-l1);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:11px}.NPLLIq_dialogBtn{background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary)}.NPLLIq_dialogBtnPrimary{background:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-bg-overlay)}.NPLLIq_dialogHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.NPLLIq_dialogClose{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.NPLLIq_dialogClose:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1)}.NPLLIq_resetRow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.NPLLIq_resetSelect{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:6px;padding:3px 6px;font-size:12px}.NPLLIq_logTable{border-collapse:collapse;width:100%;font-size:11px}.NPLLIq_logTable th{text-align:left;color:var(--dsw-alias-label-secondary);border-bottom:1px solid var(--dsw-alias-border-l1);padding:4px 6px;font-weight:500}.NPLLIq_logTable td{color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsw-alias-border-l1);font-variant-numeric:tabular-nums;padding:4px 6px}.NPLLIq_logDayCol{white-space:nowrap;color:var(--dsw-alias-label-secondary)}.NPLLIq_logModelCol{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.NPLLIq_logUsedCol{text-align:right}";
|
|
123
123
|
const tagId = "@jxgame2020/dsh-token-quota/TokenQuotaPanel.module.css";
|
|
124
124
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
125
125
|
const tag = document.createElement("style");
|
|
@@ -129,56 +129,57 @@ window.__ModuleLoader__.load({
|
|
|
129
129
|
document.head.appendChild(tag);
|
|
130
130
|
}
|
|
131
131
|
var TokenQuotaPanel_module_css_default = {
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"controls": "NPLLIq_controls",
|
|
132
|
+
"headerText": "NPLLIq_headerText",
|
|
133
|
+
"selectBtn": "NPLLIq_selectBtn",
|
|
134
|
+
"tabLabel": "NPLLIq_tabLabel",
|
|
135
|
+
"dialogLabel": "NPLLIq_dialogLabel",
|
|
137
136
|
"monitorRow": "NPLLIq_monitorRow",
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
137
|
+
"collapse": "NPLLIq_collapse",
|
|
138
|
+
"title": "NPLLIq_title",
|
|
139
|
+
"settingsBtn": "NPLLIq_settingsBtn",
|
|
140
|
+
"resetRow": "NPLLIq_resetRow",
|
|
141
|
+
"rowName": "NPLLIq_rowName",
|
|
142
|
+
"logTable": "NPLLIq_logTable",
|
|
143
|
+
"fillOver": "NPLLIq_fillOver",
|
|
145
144
|
"logModelCol": "NPLLIq_logModelCol",
|
|
146
|
-
"
|
|
145
|
+
"tabIcon": "NPLLIq_tabIcon",
|
|
146
|
+
"logUsedCol": "NPLLIq_logUsedCol",
|
|
147
147
|
"fillWarn": "NPLLIq_fillWarn",
|
|
148
|
-
"headerActions": "NPLLIq_headerActions",
|
|
149
148
|
"resetSelect": "NPLLIq_resetSelect",
|
|
150
|
-
"
|
|
151
|
-
"
|
|
149
|
+
"rowMeta": "NPLLIq_rowMeta",
|
|
150
|
+
"dialogTitle": "NPLLIq_dialogTitle",
|
|
152
151
|
"monitorName": "NPLLIq_monitorName",
|
|
153
|
-
"tab": "NPLLIq_tab",
|
|
154
152
|
"dialogBtnPrimary": "NPLLIq_dialogBtnPrimary",
|
|
155
|
-
"
|
|
156
|
-
"
|
|
157
|
-
"
|
|
153
|
+
"row": "NPLLIq_row",
|
|
154
|
+
"gearBtn": "NPLLIq_gearBtn",
|
|
155
|
+
"dialogBtn": "NPLLIq_dialogBtn",
|
|
156
|
+
"dialogSection": "NPLLIq_dialogSection",
|
|
157
|
+
"noticeError": "NPLLIq_noticeError",
|
|
158
|
+
"dialog": "NPLLIq_dialog",
|
|
159
|
+
"fillIdle": "NPLLIq_fillIdle",
|
|
160
|
+
"controls": "NPLLIq_controls",
|
|
161
|
+
"save": "NPLLIq_save",
|
|
162
|
+
"fullNotice": "NPLLIq_fullNotice",
|
|
158
163
|
"dialogActions": "NPLLIq_dialogActions",
|
|
159
|
-
"monitorHint": "NPLLIq_monitorHint",
|
|
160
164
|
"subtitle": "NPLLIq_subtitle",
|
|
161
|
-
"rowHeader": "NPLLIq_rowHeader",
|
|
162
165
|
"input": "NPLLIq_input",
|
|
163
|
-
"
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
"dialogBtn": "NPLLIq_dialogBtn",
|
|
166
|
+
"notice": "NPLLIq_notice",
|
|
167
|
+
"tab": "NPLLIq_tab",
|
|
168
|
+
"monitorHint": "NPLLIq_monitorHint",
|
|
167
169
|
"dialogHeader": "NPLLIq_dialogHeader",
|
|
168
|
-
"
|
|
169
|
-
"
|
|
170
|
-
"
|
|
171
|
-
"
|
|
172
|
-
"rowMeta": "NPLLIq_rowMeta",
|
|
170
|
+
"logDayCol": "NPLLIq_logDayCol",
|
|
171
|
+
"rowHeader": "NPLLIq_rowHeader",
|
|
172
|
+
"monitorList": "NPLLIq_monitorList",
|
|
173
|
+
"panel": "NPLLIq_panel",
|
|
173
174
|
"radioRow": "NPLLIq_radioRow",
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"
|
|
175
|
+
"header": "NPLLIq_header",
|
|
176
|
+
"bar": "NPLLIq_bar",
|
|
177
|
+
"headerActions": "NPLLIq_headerActions",
|
|
178
|
+
"body": "NPLLIq_body",
|
|
179
|
+
"currentBadge": "NPLLIq_currentBadge",
|
|
180
|
+
"switch": "NPLLIq_switch",
|
|
181
|
+
"dialogBackdrop": "NPLLIq_dialogBackdrop",
|
|
182
|
+
"dialogClose": "NPLLIq_dialogClose"
|
|
182
183
|
};
|
|
183
184
|
//#endregion
|
|
184
185
|
//#region lib/types/client/TokenQuotaPanel.js
|
|
@@ -258,18 +259,29 @@ window.__ModuleLoader__.load({
|
|
|
258
259
|
name: model.name
|
|
259
260
|
}))).sort((a, b) => a.key.localeCompare(b.key)), [groups]);
|
|
260
261
|
const isMonitoredKey = (key) => monitored === null || monitored.includes(key);
|
|
261
|
-
if (collapsed) return (0, react_jsx_runtime.
|
|
262
|
+
if (collapsed) return (0, react_jsx_runtime.jsxs)("div", {
|
|
262
263
|
className: TokenQuotaPanel_module_css_default.tab,
|
|
263
264
|
role: "button",
|
|
264
265
|
tabIndex: 0,
|
|
265
|
-
title: t("
|
|
266
|
+
title: t("expandHint"),
|
|
267
|
+
"aria-label": t("expandHint"),
|
|
266
268
|
onClick: () => {
|
|
267
269
|
setCollapsed(false);
|
|
268
270
|
},
|
|
269
|
-
|
|
271
|
+
onKeyDown: (event) => {
|
|
272
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
273
|
+
event.preventDefault();
|
|
274
|
+
setCollapsed(false);
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
278
|
+
className: TokenQuotaPanel_module_css_default.tabIcon,
|
|
279
|
+
"aria-hidden": "true",
|
|
280
|
+
children: "▸"
|
|
281
|
+
}), (0, react_jsx_runtime.jsx)("span", {
|
|
270
282
|
className: TokenQuotaPanel_module_css_default.tabLabel,
|
|
271
283
|
children: t("expand")
|
|
272
|
-
})
|
|
284
|
+
})]
|
|
273
285
|
});
|
|
274
286
|
const openSettings = () => {
|
|
275
287
|
actions.setDialogOpen(true);
|
|
@@ -669,6 +681,7 @@ window.__ModuleLoader__.load({
|
|
|
669
681
|
empty: "暂无模型数据",
|
|
670
682
|
collapse: "收起",
|
|
671
683
|
expand: "展开",
|
|
684
|
+
expandHint: "展开每日 Token 限额面板",
|
|
672
685
|
settings: "设置",
|
|
673
686
|
settingsTitle: "限额设置",
|
|
674
687
|
monitorLabel: "监控模型",
|
|
@@ -713,6 +726,7 @@ window.__ModuleLoader__.load({
|
|
|
713
726
|
empty: "No model data",
|
|
714
727
|
collapse: "Collapse",
|
|
715
728
|
expand: "Expand",
|
|
729
|
+
expandHint: "Expand the daily token quota panel",
|
|
716
730
|
settings: "Settings",
|
|
717
731
|
settingsTitle: "Quota Settings",
|
|
718
732
|
monitorLabel: "Monitored models",
|
|
@@ -71,7 +71,12 @@ export function TokenQuotaPanel({ t, load, setLimit, selectModel, setMonitored,
|
|
|
71
71
|
}))).sort((a, b) => a.key.localeCompare(b.key)), [groups]);
|
|
72
72
|
const isMonitoredKey = (key) => monitored === null || monitored.includes(key);
|
|
73
73
|
if (collapsed) {
|
|
74
|
-
return (
|
|
74
|
+
return (_jsxs("div", { className: css.tab, role: "button", tabIndex: 0, title: t('expandHint'), "aria-label": t('expandHint'), onClick: () => { setCollapsed(false); }, onKeyDown: (event) => {
|
|
75
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
setCollapsed(false);
|
|
78
|
+
}
|
|
79
|
+
}, children: [_jsx("span", { className: css.tabIcon, "aria-hidden": "true", children: "\u25B8" }), _jsx("span", { className: css.tabLabel, children: t('expand') })] }));
|
|
75
80
|
}
|
|
76
81
|
const openSettings = () => {
|
|
77
82
|
actions.setDialogOpen(true);
|
|
@@ -22,6 +22,7 @@ export declare const zh: {
|
|
|
22
22
|
empty: string;
|
|
23
23
|
collapse: string;
|
|
24
24
|
expand: string;
|
|
25
|
+
expandHint: string;
|
|
25
26
|
settings: string;
|
|
26
27
|
settingsTitle: string;
|
|
27
28
|
monitorLabel: string;
|
|
@@ -68,6 +69,7 @@ export declare const en: {
|
|
|
68
69
|
empty: string;
|
|
69
70
|
collapse: string;
|
|
70
71
|
expand: string;
|
|
72
|
+
expandHint: string;
|
|
71
73
|
settings: string;
|
|
72
74
|
settingsTitle: string;
|
|
73
75
|
monitorLabel: string;
|
|
@@ -22,6 +22,7 @@ export const zh = {
|
|
|
22
22
|
empty: '暂无模型数据',
|
|
23
23
|
collapse: '收起',
|
|
24
24
|
expand: '展开',
|
|
25
|
+
expandHint: '展开每日 Token 限额面板',
|
|
25
26
|
settings: '设置',
|
|
26
27
|
settingsTitle: '限额设置',
|
|
27
28
|
monitorLabel: '监控模型',
|
|
@@ -66,6 +67,7 @@ export const en = {
|
|
|
66
67
|
empty: 'No model data',
|
|
67
68
|
collapse: 'Collapse',
|
|
68
69
|
expand: 'Expand',
|
|
70
|
+
expandHint: 'Expand the daily token quota panel',
|
|
69
71
|
settings: 'Settings',
|
|
70
72
|
settingsTitle: 'Quota Settings',
|
|
71
73
|
monitorLabel: 'Monitored models',
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jxgame2020/dsh-token-quota",
|
|
3
3
|
"description": "Daily per-model token quota accounting, enforcement, and a floating quota panel for the DeepSeek Harness — a fully self-contained plugin (no core-Harness wiring, no generated RPC contract)",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|