Token导航 LogoToken导航TokenDH.com
前端设计敏感数据unknown未标认证来源可访问许可证需确认审计未展示

deploy部署

Agent Skill

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

总安装

524

周安装

21

下载量

170
Local Agent

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:deploy(部署)
来源仓库:https://smithery.ai
仓库路径:deploy
安装命令:
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

简介

deploy 用于辅助云资源、部署和基础设施自动化任务。

  • 适合检查配置、整理部署步骤或分析资源状态。
  • 可生成排障思路或辅助云服务接入。deploy 属于前端设计类 Skill,可作为该场景下的辅助能力补充。
  • 需明确目标环境、账号权限和资源组,区分测试与生产操作。
  • 涉及删除或修改网络配置时应先确认影响范围。

SKILL.md

Deploy to Databricks Apps

Profile Configuration

IMPORTANT: Before running any databricks CLI command, read the .env file to get the DATABRICKS_CONFIG_PROFILE value. All commands must include the profile:

databricks <command> --profile <profile>

For example, if .env has DATABRICKS_CONFIG_PROFILE=dev, run databricks bundle deploy --profile dev. Without this, the CLI may target the wrong workspace.

App Naming Convention

Unless the user specifies a different name, apps should use the prefix agent-*:

  • agent-data-analyst
  • agent-customer-support
  • agent-code-helper

Update the app name in databricks.yml:

resources:
  apps:
    agent_openai_agents_sdk:
      name: "agent-your-app-name"  # Use agent-* prefix

Deploy Commands

IMPORTANT: Run the pre-flight check before deploying to catch errors early, then run commands to deploy and start your app:

# 1. Pre-flight check (starts server locally, sends test request, verifies response)
uv run preflight

# 2. Validate bundle configuration (catches config errors before deploy)
databricks bundle validate

# 3. Deploy the bundle (creates/updates resources, uploads files)
databricks bundle deploy

# 4. Run the app (starts/restarts with uploaded source code) - REQUIRED!
databricks bundle run agent_openai_agents_sdk
Note: bundle deploy only uploads files and configures resources. bundle run is required to actually start/restart the app with the new code. If you only run deploy, the app will continue running old code!

The resource key agent_openai_agents_sdk matches the app name in databricks.yml under resources.apps.

Handling "App Already Exists" Error

If databricks bundle deploy fails with:

Error: failed to create app
Failed to create app <app-name>. An app with the same name already exists.

Ask the user: "Would you like to bind the existing app to this bundle, or delete it and create a new one?"

Option 1: Bind Existing App (Recommended)

Step 1: Get the existing app's full configuration:

# Get app config including budget_policy_id and other server-side settings
databricks apps get <existing-app-name> --output json | jq '{name, budget_policy_id, description}'

Step 2: Update databricks.yml to match the existing app's configuration exactly:

resources:
  apps:
    agent_openai_agents_sdk:
      name: "existing-app-name"  # Must match exactly
      budget_policy_id: "xxx-xxx-xxx"  # Copy from step 1 if present
Why this matters: Existing apps may have server-side configuration (like budget_policy_id) that isn't in your bundle. If these don't match, Terraform will fail with "Provider produced inconsistent result after apply". Always sync the app's current config to databricks.yml before binding.

Step 3: If deploying to a mode: production target, set workspace.root_path:

targets:
  prod:
    mode: production
    workspace:
      root_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}
Why this matters: Production mode requires an explicit root path to ensure only one copy of the bundle is deployed. Without this, the deploy will fail with a recommendation to set workspace.root_path.

Step 4: Check if already bound, then bind if needed:

# Check if resource is already managed by this bundle
databricks bundle summary --output json | jq '.resources.apps'

# If the app appears in the summary, skip binding and go to Step 5
# If NOT in summary, bind the resource:
databricks bundle deployment bind agent_openai_agents_sdk <existing-app-name> --auto-approve
Note: If bind fails with "Resource already managed by Terraform", the app is already bound to this bundle. Skip to Step 5 and deploy directly.

Step 5: Deploy:

databricks bundle deploy
databricks bundle run agent_openai_agents_sdk

Option 2: Delete and Recreate

databricks apps delete <app-name>
databricks bundle deploy

Warning: This permanently deletes the app's URL, OAuth credentials, and service principal.

Unbinding an App

To remove the link between bundle and deployed app:

databricks bundle deployment unbind agent_openai_agents_sdk

Use when:

  • Switching to a different app
  • Letting bundle create a new app
  • Switching between deployed instances

Note: Unbinding doesn't delete the deployed app.

Query Deployed App

IMPORTANT: Databricks Apps are only queryable via OAuth token. You cannot use a Personal Access Token (PAT) to query your agent. Attempting to use a PAT will result in a 302 redirect error.

Get OAuth token:

databricks auth token | jq -r '.access_token'

Send request:

curl -X POST <app-url>/invocations \
  -H "Authorization: Bearer <oauth-token>" \
  -H "Content-Type: application/json" \
  -d '{ "input": [{ "role": "user", "content": "hi" }], "stream": true }'

If using memory - include user_id to scope memories per user:

curl -X POST <app-url>/invocations \
  -H "Authorization: Bearer <oauth-token>" \
  -H "Content-Type: application/json" \
  -d '{
      "input": [{"role": "user", "content": "What do you remember about me?"}],
      "custom_inputs": {"user_id": "user@example.com"}
  }'

On-Behalf-Of (OBO) User Authentication

To authenticate as the requesting user instead of the app service principal:

from agent_server.utils import get_user_workspace_client

# In your agent code
user_client = get_user_workspace_client()
# Use user_client for operations that should run as the user

This is useful when you want the agent to access resources with the user's permissions rather than the app's service principal permissions.

See: OBO authentication documentation

Debug Deployed Apps

# View logs (follow mode)
databricks apps logs <app-name> --follow

# Check app status
databricks apps get <app-name> --output json | jq '{app_status, compute_status}'

# Get app URL
databricks apps get <app-name> --output json | jq -r '.url'

Post-Deploy: Autoscaling Lakebase Resources

If the agent uses autoscaling Lakebase (user mentions "autoscaling", "project", or "branch" in the context of Lakebase), you must add the postgres resource via API after deploying, then redeploy:

  1. Deploy the app first (databricks bundle deploy + databricks bundle run)
  2. Add the postgres resource via API (PATCH /api/2.0/apps/<name>)
  3. Redeploy the app (databricks apps deploy) — the app must be redeployed after adding the postgres resource so it picks up the database connection env vars injected by the resource (needed by the frontend/chat UI). Note: databricks bundle run does NOT redeploy — it only starts/restarts the app with the existing deployment, so new resource env vars won't be picked up. You must use databricks apps deploy instead.
  4. Grant table permissions to the app's service principal — fetch the SP client ID via databricks apps get <name> --output json | jq -r '.service_principal_client_id'

See .claude/skills/add-tools/examples/lakebase-autoscaling.md for complete steps.

Important Notes

  • App naming convention: App names must be prefixed with agent- (e.g., agent-my-assistant, agent-data-analyst)
  • Name is immutable: Changing the name field in databricks.yml forces app replacement (destroy + create)
  • Remote Terraform state: Databricks stores state remotely; same app detected across directories
  • Review the plan: Look for # forces replacement in Terraform output before confirming

FAQ

Q: I see a 200 OK in the logs, but get an error in the actual stream. What's going on?

This is expected behavior. The initial 200 OK confirms stream setup was successful. Errors that occur during streaming don't affect the initial HTTP status code. Check the stream content for the actual error message.

Q: When querying my agent, I get a 302 redirect error. What's wrong?

You're likely using a Personal Access Token (PAT). Databricks Apps only support OAuth tokens. Generate one with:

databricks auth token

Q: How do I add dependencies to my agent?

Use uv add:

uv add <package_name>
# Example: uv add "mlflow-skinny[databricks]"

Troubleshooting

IssueSolution
Validation errorsRun databricks bundle validate to see detailed errors before deploying
Permission errors at runtimeGrant resources in databricks.yml (see add-tools skill)
Lakebase access errorsSee lakebase-setup skill for permissions (if using memory)
App not startingCheck databricks apps logs <app-name>
Auth token expiredRun databricks auth token again
302 redirect errorUse OAuth token, not PAT
"Provider produced inconsistent result"Sync app config to databricks.yml
"should set workspace.root_path"Add root_path to production target
App running old code after deployRun databricks bundle run agent_openai_agents_sdk after deploy
Env var is None in deployed appCheck value_from in databricks.yml config.env matches resource name

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Local Agent

70.62%
按下载量换算120

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills