@huaweidevtools/aishell-dsh-base 0.0.1-beta.2 → 0.0.1-beta.4
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/LICENSE +1 -1
- package/aggregate.yml +74 -2
- package/cordis.patch.yml +26 -3
- package/package.json +9 -8
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2026 Huawei Cloud AI Shell
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/aggregate.yml
CHANGED
|
@@ -3,16 +3,88 @@
|
|
|
3
3
|
# this bundle's patch (row ids namespaced aishell-* so the bundle coexists
|
|
4
4
|
# with standalone installs of the same package).
|
|
5
5
|
# deps: child packages written into this package's dependencies as workspace:*.
|
|
6
|
+
# override: id-targeted rows whose whole config this layer replaces (rendered
|
|
7
|
+
# as `- id: <row> / config: {...}`); the value is inline YAML.
|
|
8
|
+
# disable: id-targeted upstream rows switched off in the composed profile.
|
|
6
9
|
patchFrom:
|
|
7
10
|
- ../aishell-llm
|
|
8
11
|
- ../aishell-credentials
|
|
9
12
|
- ../aishell-brand
|
|
10
|
-
- ../aishell-
|
|
13
|
+
- ../aishell-deploy
|
|
11
14
|
- ../aishell-huaweicloud-docs
|
|
15
|
+
- ../aishell-e2b
|
|
12
16
|
deps:
|
|
13
17
|
- ../credentials-store
|
|
14
18
|
- ../aishell-llm
|
|
15
19
|
- ../aishell-credentials
|
|
16
20
|
- ../aishell-brand
|
|
17
|
-
- ../aishell-
|
|
21
|
+
- ../aishell-deploy
|
|
18
22
|
- ../aishell-huaweicloud-docs
|
|
23
|
+
- ../aishell-e2b
|
|
24
|
+
override:
|
|
25
|
+
# The official base pins the entry-point default to deepseek-official /
|
|
26
|
+
# deepseek-flash. AI Shell's only chat route is the aishell gateway, so the
|
|
27
|
+
# default must select it — otherwise a fresh session routes to a provider
|
|
28
|
+
# whose adapter this bundle disables (NO_ADAPTER) or whose key the user
|
|
29
|
+
# never set (MISSING_CREDENTIAL).
|
|
30
|
+
#
|
|
31
|
+
# Why the reserved id `trial` and not a real model id: the selection is
|
|
32
|
+
# read through a synchronous Config getter (dsh-agent-default-model's
|
|
33
|
+
# currentSelection()), so it cannot await a network round trip to discover
|
|
34
|
+
# what the gateway currently carries — the harness's own design ("catalog
|
|
35
|
+
# membership is advisory"). A literal real id therefore couples every fresh
|
|
36
|
+
# session in the deployment to one gateway catalog entry: the day that entry
|
|
37
|
+
# is dropped, every new session fails on its first message with
|
|
38
|
+
# AISHELL.1004 until a new bundle is published. `trial` is a reserved alias
|
|
39
|
+
# the gateway guarantees, so the catalog can move without touching this
|
|
40
|
+
# line.
|
|
41
|
+
#
|
|
42
|
+
# The name states a stage of the user's relationship to the route, not a
|
|
43
|
+
# property of whatever model it resolves to — which is what lets the gateway
|
|
44
|
+
# repoint the alias without the id becoming a lie. Its display label comes
|
|
45
|
+
# from the gateway's `name` field on the /models entry, so the id stays a
|
|
46
|
+
# durable routing key while the label stays free to change.
|
|
47
|
+
- agent-default-model: { provider: aishell, model: trial }
|
|
48
|
+
|
|
49
|
+
# Session feedback (the Like/Dislike pair and `/feedback`) is uploaded to
|
|
50
|
+
# AI Shell's own collector instead of the official one.
|
|
51
|
+
#
|
|
52
|
+
# Why OTLP and not our own JSON: the official client plugin
|
|
53
|
+
# (@deepseek-ai/dsh-session-telemetry-otel) already speaks OTLP/HTTP, so
|
|
54
|
+
# repointing `exporter.url` is the whole client-side change — no new plugin,
|
|
55
|
+
# no new code to keep in step with the harness. The server side decodes it
|
|
56
|
+
# with protojson.
|
|
57
|
+
#
|
|
58
|
+
# What actually leaves the machine is NOT "one feedback record": the plugin's
|
|
59
|
+
# FEEDBACK_ONLY mode releases the complete *unhanded session prefix* through
|
|
60
|
+
# that one feedback event — message text, tool arguments and results, the
|
|
61
|
+
# system prompt, `cwd`. The official feedback dialog discloses this to the
|
|
62
|
+
# user before they submit, which is why this ships without an extra consent toggle.
|
|
63
|
+
#
|
|
64
|
+
# The whole config is restated because a patch replaces a row's `config`
|
|
65
|
+
# wholesale (dsh-app-boot's applyEntryPatches does `target[key] = value`).
|
|
66
|
+
# Omitting `processor` here would silently drop batching and send every
|
|
67
|
+
# record in its own request.
|
|
68
|
+
#
|
|
69
|
+
# timeoutMillis is raised from the official 1000ms: one batch can carry a
|
|
70
|
+
# whole session prefix (up to maxRequestBytes) over the public internet
|
|
71
|
+
# through APIG. A timeout is NOT retried — dsh-otel passes `errorCodes: []`
|
|
72
|
+
# to got, overriding got's default network-error list, so only the status
|
|
73
|
+
# codes below are retried (verified: a hung server is hit exactly once, and
|
|
74
|
+
# the export fails silently). A too-tight budget therefore loses the batch
|
|
75
|
+
# outright rather than retrying it.
|
|
76
|
+
#
|
|
77
|
+
# That is also why the timeout is generous rather than tight: too long costs
|
|
78
|
+
# a slow shutdown, too short costs data.
|
|
79
|
+
#
|
|
80
|
+
# DSH_TELEMETRY_OTLP_URL and DSH_TELEMETRY_MODE both still override — an
|
|
81
|
+
# operator can repoint the collector or switch to DISABLED without
|
|
82
|
+
# republishing the bundle. Keep both as `!!js` expressions; a literal here
|
|
83
|
+
# would make the corresponding switch silently stop working.
|
|
84
|
+
- session-telemetry-otel: { mode: !!js process.env.DSH_TELEMETRY_MODE ?? 'FEEDBACK_ONLY', shutdownTimeoutMillis: 3000, maxRequestBytes: 4000000, exporter: { url: !!js process.env.DSH_TELEMETRY_OTLP_URL ?? 'https://public.aishell.openbuildlab.com/feedback', compression: gzip, timeoutMillis: 3000 }, processor: { scheduledDelayMillis: 10000, maxQueueSize: 2048, maxExportBatchSize: 2048, exportTimeoutMillis: 1500 } }
|
|
85
|
+
disable:
|
|
86
|
+
- deepseek-account
|
|
87
|
+
- account-controller
|
|
88
|
+
- ui-settings-account
|
|
89
|
+
- llm-deepseek
|
|
90
|
+
- llm-deepseek-account
|
package/cordis.patch.yml
CHANGED
|
@@ -18,12 +18,35 @@
|
|
|
18
18
|
- id: aishell-brand
|
|
19
19
|
name: '@huaweidevtools/aishell-dsh-brand'
|
|
20
20
|
|
|
21
|
-
# from ../aishell-
|
|
21
|
+
# from ../aishell-deploy
|
|
22
22
|
- insert:
|
|
23
|
-
- id: aishell-
|
|
24
|
-
name: '@huaweidevtools/aishell-dsh-
|
|
23
|
+
- id: aishell-deploy
|
|
24
|
+
name: '@huaweidevtools/aishell-dsh-deploy'
|
|
25
25
|
|
|
26
26
|
# from ../aishell-huaweicloud-docs
|
|
27
27
|
- insert:
|
|
28
28
|
- id: aishell-huaweicloud-docs
|
|
29
29
|
name: '@huaweidevtools/aishell-dsh-huaweicloud-docs'
|
|
30
|
+
|
|
31
|
+
# from ../aishell-e2b
|
|
32
|
+
- insert:
|
|
33
|
+
- id: aishell-e2b
|
|
34
|
+
name: '@huaweidevtools/aishell-dsh-e2b'
|
|
35
|
+
|
|
36
|
+
# overridden upstream rows (id-targeted; this layer applies after the official bundles)
|
|
37
|
+
- id: agent-default-model
|
|
38
|
+
config: { provider: aishell, model: trial }
|
|
39
|
+
- id: session-telemetry-otel
|
|
40
|
+
config: { mode: !!js process.env.DSH_TELEMETRY_MODE ?? 'FEEDBACK_ONLY', shutdownTimeoutMillis: 3000, maxRequestBytes: 4000000, exporter: { url: !!js process.env.DSH_TELEMETRY_OTLP_URL ?? 'https://public.aishell.openbuildlab.com/feedback', compression: gzip, timeoutMillis: 3000 }, processor: { scheduledDelayMillis: 10000, maxQueueSize: 2048, maxExportBatchSize: 2048, exportTimeoutMillis: 1500 } }
|
|
41
|
+
|
|
42
|
+
# disabled upstream rows (id-targeted; this layer applies after the official bundles)
|
|
43
|
+
- id: deepseek-account
|
|
44
|
+
disabled: true
|
|
45
|
+
- id: account-controller
|
|
46
|
+
disabled: true
|
|
47
|
+
- id: ui-settings-account
|
|
48
|
+
disabled: true
|
|
49
|
+
- id: llm-deepseek
|
|
50
|
+
disabled: true
|
|
51
|
+
- id: llm-deepseek-account
|
|
52
|
+
disabled: true
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huaweidevtools/aishell-dsh-base",
|
|
3
3
|
"description": "aishell DSH profile base layer — aggregates aishell plugin packages over dsh-base",
|
|
4
|
-
"version": "0.0.1-beta.
|
|
4
|
+
"version": "0.0.1-beta.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"@deepseek-ai/dsh-base": "
|
|
20
|
+
"@deepseek-ai/dsh-base": "0.2.0-rc.1 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
23
|
"cordis.patch.yml",
|
|
@@ -25,12 +25,13 @@
|
|
|
25
25
|
],
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@huaweidevtools/aishell-dsh-credentials-store": "0.0.1-beta.
|
|
29
|
-
"@huaweidevtools/aishell-dsh-
|
|
30
|
-
"@huaweidevtools/aishell-dsh-
|
|
31
|
-
"@huaweidevtools/aishell-dsh-
|
|
32
|
-
"@huaweidevtools/aishell-dsh-brand": "0.0.1-beta.
|
|
33
|
-
"@huaweidevtools/aishell-dsh-
|
|
28
|
+
"@huaweidevtools/aishell-dsh-credentials-store": "0.0.1-beta.4",
|
|
29
|
+
"@huaweidevtools/aishell-dsh-llm": "0.0.1-beta.4",
|
|
30
|
+
"@huaweidevtools/aishell-dsh-client-credentials": "0.0.1-beta.4",
|
|
31
|
+
"@huaweidevtools/aishell-dsh-deploy": "0.0.1-beta.4",
|
|
32
|
+
"@huaweidevtools/aishell-dsh-brand": "0.0.1-beta.4",
|
|
33
|
+
"@huaweidevtools/aishell-dsh-huaweicloud-docs": "0.0.1-beta.4",
|
|
34
|
+
"@huaweidevtools/aishell-dsh-e2b": "0.0.1-beta.4"
|
|
34
35
|
},
|
|
35
36
|
"scripts": {}
|
|
36
37
|
}
|