Files
deepseek-harness/packages/scaffold/create-sdk/README.md
Tianyi Cui 3fc35c91ff refactor(packages): dissolve ui/ and rename sdk/ to scaffold/
git mv per the regrouping RFC: the five human-collaboration seams and
tui join packages/interaction/, app-boot becomes packages/boot/, and
jsonrpc joins the renamed scaffold/ (formerly sdk/) as its server half
beside client/protocol/create-sdk/helper/scripts/telemetry, whose
folders drop the legacy sdk- prefix. Three new group README triplets
replace the ui/ and sdk/ ones; tsconfig references/paths/globs,
knip keys, vitest globs, gate scripts, catalogs, docs, and the
lockfile follow. Adds the four settled FIXME rename markers
(dsh-sdk-server, dsh-sdk-telemetry, dsh-sdk-helper, dsh-sdk-scripts).

The scaffold folders diverge from their npm names until those renames
land, so tsconfig.base.json maps the three affected names explicitly
beside the group wildcard. Also repairs two pre-existing stale-path
classes the strengthened sweep surfaced: docs/web-styling.md's retired
web-ui host package and type-model spec fixture-literal joins.

app-boot's three Loader-composition specs time out at the default 5s
under full-suite parallel load on this filesystem (pre-existing;
pass isolated with --testTimeout=30000); interaction/scaffold/boot
suites otherwise green (687 passed).
2026-08-09 01:21:12 +08:00

2.4 KiB

@deepseek-ai/create-sdk

English | 中文

Interactive initializer for npm create @deepseek-ai/sdk [directory]. Directory/name/description have visible editable defaults. A tree picker selects features and configures finite options with Right/Left navigation; secret text follows only for selected options. Local plugin creation is one none/plugin/tool choice.

The supported package surface is the create-sdk bin. The package root exports no symbols, and workflow, bin, source, and package-manifest subpaths are not exported.

The initializer rejects every existing target path, creates one SdkProject edit session, validates and commits it, then asks whether to install NPM dependencies and build. Install or build failures keep the generated project and print a retry command.

Public flags are [directory], --description, --provider, --base-url, --api-key, --model, --interface, --pm, --install/--no-install, plus the headless flags --config <path> / --config-json <json> and --json. Interactive flags prefill matching questions; a headless spec (--config/--config-json) supplies every answer and its feature plan up front, so creation runs without a TTY and drives through a HeadlessPromptPort that fails loud on any missing required answer. --json emits NDJSON lifecycle events (done / action-required / error) so an agent can fill the named missing input and re-run.

The provider choice is DeepSeek or a custom endpoint backed by llm-pi-ai. DeepSeek asks only for an API key and uses the public endpoint plus deepseek-v4-flash; custom also asks for a base URL. An empty key requires confirmation and creates a commented empty .env variable so provider startup fails clearly until it is filled. Existing plugin defaults are omitted; required SDK presets remain typed against the owning package's Config.

Model Experience

Indirectly, through the generated project composition and its selected runtime plugins; the headless --config-json + --json surface additionally lets an agent create a project end to end and react to action-required events.

KV Cache effect

No direct invalidation; the named consumer owns any request-prefix changes.

Known Limitations and Deferred Work

  • Headless local plugins — the headless spec supplies project answers and the feature plan; scaffolding a local plugin (the interactive none/plugin/tool choice) is not yet expressible in the spec and defaults to none.