dsh-codearts 0.5.2 → 1.0.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/lib/bin.mjs +9 -21
- package/lib/client/index.d.cts +25 -6
- package/lib/client/index.js +817 -387
- package/lib/index.d.mts +32 -23
- package/lib/index.mjs +305 -122
- package/lib/{usage-B4vQb1sP.mjs → usage-BEoMNRwo.mjs} +227 -45
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -7,18 +7,18 @@ import { AttachmentStore } from "@deepseek-ai/dsh-attachment";
|
|
|
7
7
|
/**
|
|
8
8
|
* CodeArts model catalog.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* **目录只放上游给的东西。** 唯一来源是动态发现(`src/discovery.ts` +
|
|
11
|
+
* `upstream.fetchModels`):启动、每小时、以及卡片上「刷新模型列表」各拉一次,
|
|
12
|
+
* 取内置 / 限时福利 / agent-center 三路的并集。上游没返回的模型就是没有,
|
|
13
|
+
* 未登录或三路全失败时目录是空的 —— 不拿一份历史名单冒充「可用模型」。
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
15
|
+
* `FALLBACK_CODEARTS_MODELS` 因此**不再往目录里塞模型**,只剩一个按 id 的参数表:
|
|
16
|
+
* 上游有时不给 `contextWindow` / `maxTokens`,而写错的 `maxTokens` 会让每个请求
|
|
17
|
+
* 直接失败(见 `MEASURED_MAX_TOKENS`)。它只给发现到的模型补参数,别的什么都不管。
|
|
18
|
+
*
|
|
19
|
+
* 福利路由同理:只有 `gateway/config` 亲口给出的模型才算福利(见 `isBenefitModel`)。
|
|
20
|
+
* 这条渠道 2026-10-21 起整体不可用,于是福利模型当天就从目录里消失 —— 那是事实,
|
|
21
|
+
* 不是故障,硬撑只会把能正常用的积分模型推到一条不存在的渠道上。
|
|
22
22
|
*
|
|
23
23
|
* @module dsh-codearts/catalog
|
|
24
24
|
*/
|
|
@@ -29,6 +29,12 @@ interface CodeArtsModelInfo {
|
|
|
29
29
|
contextWindow: number;
|
|
30
30
|
maxTokens: number;
|
|
31
31
|
supportsImages: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* 积分消耗倍率(上游 `credit[].ratio_display` 的原值,如 `0.18x`)。
|
|
34
|
+
*
|
|
35
|
+
* 来自模型发现;福利模型由展示层强制成 `x0.00`,不依赖上游是否给 credit。
|
|
36
|
+
*/
|
|
37
|
+
ratio?: string;
|
|
32
38
|
/**
|
|
33
39
|
* 该模型走限时福利(免费套餐)路由。
|
|
34
40
|
*
|
|
@@ -38,12 +44,11 @@ interface CodeArtsModelInfo {
|
|
|
38
44
|
benefit?: boolean;
|
|
39
45
|
}
|
|
40
46
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* Updated 2026-09 from codearts2api's known model set.
|
|
47
|
+
* 参数表(不是模型名单):只给**发现到的**模型补 `contextWindow` / `maxTokens` /
|
|
48
|
+
* `supportsImages`,绝不会因为这里有条目就把模型塞进目录。
|
|
44
49
|
*
|
|
45
50
|
* maxTokens 注记(2026-09-30 实测,scripts/param-probe.mjs 直连上游二分验证):
|
|
46
|
-
*
|
|
51
|
+
* 福利 DeepSeek 模型的 max_tokens 服务端硬上限是 **65536**,更大的值
|
|
47
52
|
* (73728 / 98304 / 131072 / 384000 / 393216)一律流内报
|
|
48
53
|
* InferHub.001001005.400 "The request param is invalid, Please check it"。
|
|
49
54
|
* 此前的 384000/393216 是占位值:DSH 会把 catalog 的 maxTokens 作为
|
|
@@ -52,6 +57,7 @@ interface CodeArtsModelInfo {
|
|
|
52
57
|
declare const FALLBACK_CODEARTS_MODELS: readonly CodeArtsModelInfo[];
|
|
53
58
|
/** Mutable catalog shared by the shim's `/v1/models` and the adapter. */
|
|
54
59
|
declare class CodeArtsCatalog {
|
|
60
|
+
/** 空目录起步:没发现过就是没有模型,不拿历史名单冒充。 */
|
|
55
61
|
private models;
|
|
56
62
|
current(): readonly CodeArtsModelInfo[];
|
|
57
63
|
set(models: readonly CodeArtsModelInfo[]): void;
|
|
@@ -437,6 +443,8 @@ interface UsageSnapshot {
|
|
|
437
443
|
today: UsageTotals;
|
|
438
444
|
/** 账本里所有保留天数的合计。 */
|
|
439
445
|
allTime: UsageTotals;
|
|
446
|
+
/** 最近 30 天(含今天)的合计。 */
|
|
447
|
+
last30: UsageTotals;
|
|
440
448
|
/** 今天按模型的合计,按 totalTokens 降序。 */
|
|
441
449
|
byModelToday: {
|
|
442
450
|
id: string;
|
|
@@ -640,22 +648,23 @@ interface CreditCacheOptions {
|
|
|
640
648
|
* 而上游对同一账号的并发是有成本/风险的。
|
|
641
649
|
*/
|
|
642
650
|
declare class CodeArtsCreditCache {
|
|
643
|
-
|
|
644
|
-
private
|
|
651
|
+
/** 按账号分槽:多账号下每个号有自己的余额,不能共用一个快照。 */
|
|
652
|
+
private readonly states;
|
|
653
|
+
private readonly inflights;
|
|
645
654
|
private readonly ttlMs;
|
|
646
655
|
private readonly failureTtlMs;
|
|
647
656
|
private readonly load;
|
|
648
657
|
private readonly now;
|
|
649
658
|
constructor(options?: CreditCacheOptions);
|
|
650
|
-
/**
|
|
651
|
-
peek(): CodeArtsCreditState | undefined;
|
|
652
|
-
/** 丢掉缓存,下次 get
|
|
653
|
-
invalidate(): void;
|
|
659
|
+
/** 某账号的缓存内容(不触发请求),供只想读快照的场景使用。 */
|
|
660
|
+
peek(accountId: string): CodeArtsCreditState | undefined;
|
|
661
|
+
/** 丢掉缓存,下次 get 会重新拉(重新登录/添加账号后调用)。省略账号则清空全部。 */
|
|
662
|
+
invalidate(accountId?: string): void;
|
|
654
663
|
/**
|
|
655
|
-
*
|
|
664
|
+
* 取一次某账号的积分。命中缓存直接返回;否则合并成一次上游请求。
|
|
656
665
|
* **不抛异常**:失败以 `phase: 'error'` 返回,调用方(状态路由)照样能渲染。
|
|
657
666
|
*/
|
|
658
|
-
get(credential: CodeArtsResolved, signal?: AbortSignal): Promise<CodeArtsCreditState>;
|
|
667
|
+
get(accountId: string, credential: CodeArtsResolved, signal?: AbortSignal): Promise<CodeArtsCreditState>;
|
|
659
668
|
private run;
|
|
660
669
|
}
|
|
661
670
|
//#endregion
|