Agent Skills
返回列表
Timeplus 应用打包构建

Timeplus 应用打包构建

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-timeplus-app-builder。

技能介绍

要解决什么问题

Timeplus 里的应用不是零散 SQL 文件,而是 .tpapp 压缩包:把流(stream)、视图、物化视图、外部表、UDF、任务、告警等 DDL 资源 和 仪表盘 JSON 绑在一起,由安装器按顺序创建,失败则回滚。若 DDL 不可重复执行、模板变量写错、或 dashboard 与 DDL 的占位符混用,升级会直接打断线上依赖。

技能覆盖的核心能力

  • 包结构与 manifest:manifest.yaml 声明资源类型、配置项类型(string / integer / list / choice / secret 等)、Python 依赖与可选 icon、categories。
  • DDL 模板:apps/*/ddl/ 用 Go text/template({{ .DB }}、{{ .Config.key }}),并强制 幂等:除 UDF 用 CREATE OR REPLACE FUNCTION 外,一律 CREATE … IF NOT EXISTS;视图禁止 CREATE OR REPLACE VIEW。
  • 仪表盘模板:JSON 用 [[ ]] 分隔,避免与前端 {{filter_*}} 冲突;可配合 Sprig(如 fromJson、join)处理 list 型配置。
  • 安装与配置:支持 multipart 的 config[] 覆盖,或 JSON body 的 {"url","config"};DDL 文件用数字前缀控制依赖顺序。
  • 参考索引:面板规格见 references/dashboard-spec.md;流式 SQL 语法指向 Timeplus SQL 技能;Python 外部流敏感信息可用 named_collection + _tp_init() 模式,避免密钥写进 SHOW CREATE 可见的 body。

适用边界与注意点

本技能描述 打包与安装契约,不替代 Timeplus 集群运维。SYSTEM INSTALL PYTHON PACKAGE 不能放进 DDL,应写在 manifest 的 python_packages。UDF 与 format_schema 为全局命名空间,模板里不要加 {{ .DB }} 前缀。Icon 必须是合法的 data:image/...;base64,...,否则安装会失败。

使用场景

  • 要把 Kafka 消费链路的 stream、物化视图和监控仪表盘打成一份 .tpapp,供其他环境一键安装
  • 应用升级会重跑全部 DDL,需要把 CREATE 语句改成 IF NOT EXISTS,避免覆盖已有视图 UUID
  • 安装时要让用户选交易对列表,需在 manifest 里声明 list 配置,并在 dashboard 用 Sprig join 生成 inlineValues
  • Python 外部流里放 API Key 会被 SHOW CREATE 暴露,要按技能里的 named_collection 与 _tp_init 拆密钥

适合人员

  • 在 Timeplus 上维护内部应用目录、要把流水线与看板版本化发布的平台工程师
  • 负责编写 stream / view / MV 的 DDL,并需要按数字前缀排依赖顺序的数据工程师
  • 做仪表盘 JSON 的人,需要对照 dashboard-spec 配置 viz_type、控件与 12 列栅格位置
  • 要把安装参数(库名、环境、密钥)做成 manifest config 并在模板里渲染的应用打包维护者