Skip to content

[appkit plugin] [6/x] Add bundled chat UI to @databricks/appkit-agent#391

Open
hubertzub-db wants to merge 12 commits intodatabricks:mainfrom
hubertzub-db:stack/agent-plugin-p6
Open

[appkit plugin] [6/x] Add bundled chat UI to @databricks/appkit-agent#391
hubertzub-db wants to merge 12 commits intodatabricks:mainfrom
hubertzub-db:stack/agent-plugin-p6

Conversation

@hubertzub-db
Copy link

@hubertzub-db hubertzub-db commented Mar 24, 2026

🥞 Stacked PR


Signed-off-by: Hubert Zub hubert.zub@databricks.com

Summary

Adds a pre-built React chat client to @databricks/appkit-agent, bundled into dist/chat-client/ during pnpm run build. The UI is served as static assets via the chat plugin — not exported as importable React components.

Important

This PR introduces UI pieces copied from e2e-chatbot-app-next that are used only for building a full bundle meant to be served by the appkit. Separate UI building blocks will be exported in latter PRs.

The client source is adapted from databricks/app-templates/e2e-chatbot-app-next/client, moved into integrations/appkit-agent/client/ as a self-contained Vite + React app with its own package.json and pnpm-lock.yaml.

How it works

The chat plugin exposes chat.staticAssetsPath which resolves to the dist/chat-client/ directory containing the built SPA. Pass it to AppKit's server plugin to serve the UI:

import { createApp } from "@databricks/appkit";
import { chat, agent } from "@databricks/appkit-agent";

const app = createApp({
  plugins: [
    server({ staticPath: chat.staticAssetsPath }),
    agent({}),
    chat({ backend: "agent" }),
  ],
});

Full demo (running as appkit app)

Screen.Recording.2026-03-25.at.11.36.45.mov

Move agent plugin source code into src/agent-plugin/ subfolder for
better organization when hosting multiple plugins.
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
Add per-package pnpm-lock.yaml and CI/release workflows with
explicit pnpm version and cache-dependency-path.
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p6 branch 3 times, most recently from 7788ee8 to ab61bc9 Compare March 24, 2026 15:33
@hubertzub-db hubertzub-db changed the title UI [appkit plugin] [6/x] Add bundled chat UI to @databricks/appkit-agent Mar 24, 2026
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p6 branch from ab61bc9 to 55a4366 Compare March 24, 2026 15:53
@hubertzub-db hubertzub-db requested a review from bbqiu March 24, 2026 16:02
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p6 branch from 55a4366 to 31036ac Compare March 25, 2026 09:24
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p6 branch 3 times, most recently from c39823f to 0d14562 Compare March 25, 2026 10:11
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p6 branch from 0d14562 to a312c62 Compare March 25, 2026 10:38
@hubertzub-db hubertzub-db mentioned this pull request Mar 25, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant