KsADK

Web UI Repository

The KsADK Web UI source lives in the independent kingsoftcloud/ksadk-web repository and is published as the npm package @kingsoftcloud/ksadk-web. ksadk-python synchronizes the dist-ksadk output from the npm package into ksadk/server/static for the local agentengine web server. The Studio production payload lives in ksadk/studio/static. Public Git exports contain Studio React / TypeScript sources and the dependency lockfile, not generated assets. Package builds consume the pinned Web npm package and compile Studio; sdists and wheels contain the audited static payload.

Repository Roles

Repository / PackageRole
kingsoftcloud/ksadk-webEditable React/Vite source, tests, Pages demo, npm publishing
@kingsoftcloud/ksadk-web (npm)Distribution channel for dist-ksadk / dist-hosted build outputs
public ksadk-python repositoryPython SDK, CLI, runner, local server, Studio sources and dependency lockfile
Python artifactsSDK and compiled server/static and studio/static, without frontend development dependencies
hosted UIProduction deployment shell, gateway, image and environment injection; also consumes the npm package

The ksadk-python public clean export does not contain ksadk/server/web-ui source, nor node_modules, dist/, or dist-hosted/ intermediate UI artifacts. The hosted editable UI source is maintained in kingsoftcloud/ksadk-web. Studio source is included in the public export. Static assets are generated at build time and included only in Python artifacts.

Sync Rules

make sync-ksadk-web-static synchronizes the dist-ksadk directory of the @kingsoftcloud/ksadk-web npm package into ksadk/server/static:

# Default: pull the verified npm version
make sync-ksadk-web-static

# Pin the concrete 0.8.4 candidate version
make sync-ksadk-web-static KSADK_WEB_VERSION=0.3.7

Do not pull GitHub latest release at wheel build time

latest is not reproducible, introduces network and supply-chain risk, and cannot guarantee wheel contents match the release record. Release candidates must pin KSADK_WEB_VERSION to a concrete version. To fall back in a network-restricted environment, use KSADK_WEB_RELEASE_URL to point at an audited tarball.

Controlled package build

make build and make build-wheel consume pinned ksadk-web assets, build React Studio from its dependency lock, and then build the wheel. Internal and public Git trees use the same path:

make build-wheel KSADK_WEB_VERSION=0.3.7

Wheel users do not need to compile the frontend. The universal wheel does not include framework dependencies or native toolchains; fully disconnected installation also needs an appropriate dependency wheelhouse.

Sync Variables

VariableDefaultDescription
KSADK_WEB_VERSION0.3.7published npm package version; release candidates must pin a concrete version
KSADK_WEB_PACKAGE@kingsoftcloud/ksadk-webnpm package name
KSADK_WEB_TARBALL_NAMEkingsoftcloud-ksadk-web-<version>.tgzTarball filename, derived from the version
KSADK_WEB_RELEASE_URLemptyExplicit tarball URL fallback; takes precedence over npm pack
KSADK_WEB_CACHE_DIR.cache/ksadk-webLocal cache directory for extraction
KSADK_WEB_REGISTRYhttps://registry.npmjs.orgnpm registry; used to resolve the tarball URL only when no npm CLI is available

Sync precedence: KSADK_WEB_RELEASE_URL explicit tarball > npm pack > registry resolution. Regardless of the path taken, the dist-ksadk directory is verified to exist before it is copied over ksadk/server/static.

Release Record

Each ksadk-python release note should record:

  • The ksadk-python version (e.g. 0.8.4).
  • The KSADK_WEB_VERSION / npm package version (e.g. 0.8.4 maps to @kingsoftcloud/ksadk-web@0.3.7).
  • The controlled build command (e.g. make build-frontend KSADK_WEB_VERSION=0.3.7).
  • The wheel / sdist audit result (make public-build-check / twine check dist/*).

0.8.4 candidate record example

  • ksadk-python: 0.8.4
  • npm package: @kingsoftcloud/ksadk-web@0.3.7
  • frontend build: make build-frontend KSADK_WEB_VERSION=0.3.7
  • audit: make public-build-check passed, twine check dist/* passed

On this page