Skip to content

[appkit plugin] [7/x] Add default-ui playground for @databricks/appkit-agent#392

Open
hubertzub-db wants to merge 17 commits intodatabricks:mainfrom
hubertzub-db:stack/agent-plugin-p7
Open

[appkit plugin] [7/x] Add default-ui playground for @databricks/appkit-agent#392
hubertzub-db wants to merge 17 commits intodatabricks:mainfrom
hubertzub-db:stack/agent-plugin-p7

Conversation

@hubertzub-db
Copy link
Copy Markdown

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

🥞 Stacked PR


Summary

Adds a minimal playground app (integrations/appkit-agent/playground/default-ui/) that demonstrates the agent + chat plugin stack with the bundled UI from p6. The playground is a server-only project — it imports @databricks/appkit-agent as a workspace dependency and uses chat.staticAssetsPath to serve the pre-built chat client.

This serves as a development testbed and a reference example for wiring the plugins together.

Playground setup

playground/default-ui/
  server/index.ts    # ~18 lines — the entire app
  package.json
  .env.example
  tsconfig.json

server/index.ts is the complete application:

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

await createApp({
  plugins: [
    server({ autoStart: true, staticPath: chat.staticAssetsPath }),
    agent({
      model: process.env.DATABRICKS_MODEL || "databricks-claude-sonnet-4-5",
      systemPrompt: "You are a helpful assistant.",
      tools: [],
    }),
    chat({
      backend: "agent",
    }),
  ],
});

How to run

cd integrations/appkit-agent/playground/default-ui
cp .env.example .env
# Configure DATABRICKS_CONFIG_PROFILE or DATABRICKS_HOST + DATABRICKS_TOKEN
pnpm install
pnpm run dev   # tsx watch --env-file=.env server/index.ts

Other changes

  • .gitignore: added .env and .env.local to prevent committing secrets
  • src/chat-plugin/types.ts: duplicate autoMigrate field added during rebase (to be cleaned up)

Comment on lines +12 to +14
"@databricks/langchainjs": "^0.1.0",
"@langchain/core": "^1.1.33",
"@langchain/langgraph": "^1.2.2",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need these for the UI?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same with the postgres packages

@@ -0,0 +1,3 @@
env:
- name: DATABRICKS_MODEL
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't 100% understand the plugin ecosystem that well, but when we eventually want to switch the e2e template over to be using this, will we not have to include default startup commands in the app.yaml?

Copy link
Copy Markdown
Collaborator

@bbqiu bbqiu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm after removing unused dependencies

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>
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>
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p7 branch from 3e6500c to 9653cad Compare April 1, 2026 13:26
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>
- Import ChatProvider + ChatPanel from @databricks/appkit-agent/chat-ui
  instead of building from scratch
- Add react-router-dom and swr as custom-ui playground dependencies
- Add ./chat-ui/styles.css export to package.json for CSS import
- Simplify main.tsx entry point
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
@hubertzub-db hubertzub-db force-pushed the stack/agent-plugin-p7 branch from 9653cad to ef5847e Compare April 1, 2026 13:40
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.

2 participants