Skip to content

Commit 53cf265

Browse files
feat: update dsh and openclaw
1 parent c7701f7 commit 53cf265

6 files changed

Lines changed: 30 additions & 14 deletions

File tree

‎.github/workflows/deepseek-harness-release.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
inputs:
66
dshVersion:
77
description: "@deepseek-ai/dsh npm version"
8-
default: "0.1.1-rc.2"
8+
default: "0.1.2-rc.1"
99
required: true
1010
platforms:
1111
description: "Platforms"

‎.github/workflows/openclaw-release.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ on:
77
workflow_dispatch:
88
inputs:
99
openclawTag:
10-
default: "2026.9.1"
11-
description: "OpenClaw release and Docker Hub tag, for example 2026.9.1"
10+
default: "2026.9.2"
11+
description: "OpenClaw release and Docker Hub tag, for example 2026.9.2"
1212
required: true
1313
pushLatest:
1414
description: "Push latest tag"

‎deepseek-harness/Dockerfile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM caddy:2.11.4 AS caddy
22

33
FROM node:24-bookworm-slim AS dsh-builder
44

5-
ARG DSH_VERSION=0.1.1-rc.2
5+
ARG DSH_VERSION=0.1.2-rc.1
66

77
RUN apt-get update && \
88
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \

‎deepseek-harness/docker-entrypoint.sh‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ gosu node env \
6565
HOME=/data/dsh/home \
6666
DSH_HOME=/data/dsh \
6767
DSH_TELEMETRY_DISABLED=1 \
68+
ONEPANEL_DSH_AUTH_PROXY=1 \
6869
node --expose-internals /usr/local/lib/node_modules/@deepseek-ai/dsh/lib/bin.js \
6970
web --host 127.0.0.1 --port 3080 \
7071
--trusted-host 127.0.0.1:3080 "$access_host" &

‎deepseek-harness/patch-dsh-authenticated-settings.mjs‎

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { dirname, join, resolve } from 'node:path'
55
const dshRoot = resolve(process.argv[2] ?? '/usr/local/lib/node_modules/@deepseek-ai/dsh')
66
const requireFromDsh = createRequire(join(dshRoot, 'package.json'))
77
const flag = 'globalThis.__DSH_AUTHENTICATED_SETTINGS__ === true'
8+
const proxyAuthFlag = 'process.env.ONEPANEL_DSH_AUTH_PROXY === "1"'
89

910
async function packageRoot(name) {
1011
const manifestPath = requireFromDsh.resolve(`${name}/package.json`)
@@ -28,18 +29,25 @@ const settingsPath = join(
2829
let settings = await readFile(settingsPath, 'utf8')
2930
settings = replaceOnce(
3031
settings,
31-
'new SettingsScopeController(connection.api, spec, this.mirror, connection.isLoopback ? "host" : "memory", this.schema)',
32-
`new SettingsScopeController(connection.api, spec, this.mirror, connection.isLoopback || ${flag} ? "host" : "memory", this.schema)`,
33-
'settings scope',
34-
)
35-
settings = replaceOnce(
36-
settings,
37-
'new SettingsDescribeMirror(connection.api, connection.isLoopback ? "host" : "memory")',
38-
`new SettingsDescribeMirror(connection.api, connection.isLoopback || ${flag} ? "host" : "memory")`,
39-
'settings mirror',
32+
'const persistence = ctx.remote.$host.isLoopback ? "host" : "memory";',
33+
`const persistence = ctx.remote.$host.isLoopback || ${flag} ? "host" : "memory";`,
34+
'settings persistence',
4035
)
4136
await writeFile(settingsPath, settings, 'utf8')
4237

38+
const connectionPath = join(
39+
await packageRoot('@deepseek-ai/dsh-client-connection'),
40+
'lib/index.js',
41+
)
42+
let connection = await readFile(connectionPath, 'utf8')
43+
connection = replaceOnce(
44+
connection,
45+
'isAuthenticated(request) {\n\t\tconst authority = requestAuthority(request.headers);',
46+
`isAuthenticated(request) {\n\t\tif (${proxyAuthFlag}) return true;\n\t\tconst authority = requestAuthority(request.headers);`,
47+
'browser proxy authentication',
48+
)
49+
await writeFile(connectionPath, connection, 'utf8')
50+
4351
const frontendPath = join(
4452
await packageRoot('@deepseek-ai/dsh-web-frontend'),
4553
'dist/index.html',
@@ -53,6 +61,10 @@ if (moduleScripts.length !== 1 || frontend.includes(bootstrap)) {
5361
frontend = frontend.replace(moduleScripts[0], ` ${bootstrap}\n${moduleScripts[0]}`)
5462
await writeFile(frontendPath, frontend, 'utf8')
5563

56-
if ((settings.split(flag).length - 1) !== 2 || !frontend.includes(`${bootstrap}\n${moduleScripts[0]}`)) {
64+
if (
65+
(settings.split(flag).length - 1) !== 1 ||
66+
(connection.split(proxyAuthFlag).length - 1) !== 1 ||
67+
!frontend.includes(`${bootstrap}\n${moduleScripts[0]}`)
68+
) {
5769
throw new Error('authenticated settings patch verification failed')
5870
}

‎openclaw/Dockerfile‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ COPY scripts/postinstall-bundled-plugins.mjs scripts/preinstall-package-manager-
8383
COPY scripts/lib/guard-inventory-utils.mjs ./scripts/lib/guard-inventory-utils.mjs
8484
COPY scripts/lib/package-dist-imports.mjs ./scripts/lib/package-dist-imports.mjs
8585
COPY scripts/lib/package-lifecycle-marker.mjs ./scripts/lib/package-lifecycle-marker.mjs
86+
COPY scripts/docker/verify-fs-safe-native.mjs ./scripts/docker/verify-fs-safe-native.mjs
8687
COPY scripts/docker/verify-native-addons.sh ./scripts/docker/verify-native-addons.sh
8788

8889
COPY --from=workspace-deps /out/packages/ ./packages/
@@ -269,6 +270,8 @@ COPY --from=runtime-assets --chown=node:node /app/skills ./skills
269270
COPY --from=runtime-assets --chown=node:node /app/docs ./docs
270271
COPY --from=runtime-assets --chown=node:node /app/qa ./qa
271272
COPY openclaw/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
273+
RUN --mount=from=dependency-inputs,source=/app/scripts/docker/verify-fs-safe-native.mjs,target=/tmp/verify-fs-safe-native.mjs \
274+
node /tmp/verify-fs-safe-native.mjs --package-root /app --mode require
272275

273276
# Validate the release version on every runtime surface.
274277
ARG OPENCLAW_DOCKER_BUILD_VERSION

0 commit comments

Comments
 (0)