All docs

Workspace apps SDK

Directory: sdk/appsdk

Source docs/en/site/sdk-appsdk.md

Directory: sdk/appsdk Who this is for: people who should finish this directory and then be able to hand-build a lightweight workspace app (UI description + in-pack scripts + optional data pipeline).

Suggested reading order

  1. Hand-build an app — overall path and checklists (get the big picture first)
  2. App UI description — hand-write app.json (entities / views / actions)
  3. App views — why there are only three views; what to do from a design or screenshot
  4. App package layout — what the directory must contain, what invoke copies
  5. App actions — how to write handlers.py after the UI gains a feature
  6. App data pipelinepipeline.json, platform bridge, assembling reports
  7. App assistant brief — standing rules for the app-development assistant / create wizard (kept in sync with the embedded copy)

Mechanism overview (HTTP / create from conversation): Workspace apps.

Document index

DocumentContents
Hand-build an appFrom-scratch paths A/B, acceptance checklist
App UI descriptionFull app.json fields and validation
App viewsThree views, no layout model, how to extend, UI from a picture
App package layoutPack file tree, required/optional, sandbox copy scope
App actionshandle contract, platform bridge, steps to add an action
App data pipelinepipeline, orchestration and assemble, alignment with data connections
App assistant briefRuntime-rule summary for create/improve/debug in conversation

With the app-development assistant / in-product browse

The create wizard and “improve the app in conversation” will:

  1. Inject App assistant brief every time (embedded under backend/internal/appfromchat/appsdk_kb/)
  2. Append at most two chapters of this directory’s originals by what the user said (data / handlers / UI / views / pack layout)
  3. On improve, also attach the current app pack files

After you open an app, the “App pack” panel can browse files in the pack; allowlisted paths can be edited and saved. Details: App package layout §4.1.

After you change docs in this directory, copy them into appsdk_kb/ and run go test ./internal/appfromchat/.

Sibling SDKs

DirectoryAimed at
sdk/appsdk (this directory)Lightweight workspace apps
sdk/host-embedLegacy-host embed assistant
sdk/platform-pluginPlugin apps (apps-desktop iframe)
sdk/agent-capabilityAgent capabilities (call APIs from Messages)
Overviewsdk/README.md

Source of truth vs implementation

TopicLocation
Structure and validationbackend/internal/workspaceapp/spec.go
Standard UI rendererclient/web/src/WorkspaceAppRenderer.tsx
invoke / handlers sandboxbackend/internal/workspaceapp/invoke.go
Platform bridgebackend/internal/workspaceapp/platform_bridge.go
Employee-profile templatebackend/internal/workspaceapp/employee_profile_*.go · skillfromchat/bundled/employee-profile/
Runtime pack path{RUNTIME_DIR}/workspaces/{workspaceId}/apps/{appSlug}/

What you can / cannot do

  • Can: build tool pages with the three standard views; use handlers + the platform bridge to fetch data, write the DB, and generate previewable reports.
  • Cannot: reconstruct an arbitrary design-comp layout from a declarative description; for a complex operations console use pluginsdk. Choosing a path from a picture: App views.