SuperAPI AI 工具集

lkr-code-mode

数据与分析

查看项目

更新于 10-21 04:04

技能介绍

用途

lkr-code-mode 是一个 Looker Code Mode 智能体技能,目标是教会 AI 智能体如何以非交互方式,针对已连接的 Looker 实例执行 Python 代码、脚本或 Looker SDK 操作。其核心思路是:与其向智能体暴露数百个独立工具定义(会膨胀上下文窗口),不如让它在 Monty 沙箱中运行 Python 代码,并在代码中直接调用全部 Looker SDK 方法。

主要能力

  • 免实例化、免导入:Looker SDK 方法已作为全局函数预先绑定,可直接调用,例如 me()、folder(id)、run_inline_query()、all_dashboards(),或通过 sdk.<method>() 形式访问。无需编写 import looker_sdk。
  • 结构化返回:返回值是普通 Python 字典和列表,需用字典键访问(如 user["id"]),而非属性点号(如 user.id)。规范要求始终返回最终结果、避免使用 print(),以便输出干净的结构化 JSON。
  • 三种执行方式:内联代码(--code / -c)、脚本文件(--file / -f)、以及注入字符串变量(--var / -v,变量在脚本中作为顶层全局标识符直接可用)。
  • 开发模式:通过 --dev-mode 在 Looker Development Mode 下运行操作,适用于修改 LookML 文件或个人开发分支。
  • SDK 探索内置函数:dir() 列出全部 SDK 方法;help(pattern) 按模式搜索方法;lookup(method_name) 获取方法完整文档字符串与签名;search_with_lookups(pattern) 获取匹配方法的文档;lookup_type(type_name) 查看 Looker 模型类型字段;examples() 返回内置代码配方;readme() 返回完整参考文档。
  • 内置辅助脚本:scripts/personal_folder_dashboards.py(检查 me()、提取个人文件夹 ID 并返回其中仪表板)、scripts/order_items_query.py(在 thelook / order_items 上运行内联查询)、scripts/traverse_folders.py(递归收集所有子文件夹中的仪表板与 Look)、scripts/readme.py、scripts/examples.py。

使用方式

安装:

npx skills add lkrdev/cli --skill lkr-code-mode

命令发现可使用 uvx --from "lkr-dev-cli[codemode]" lkr-dev-cli --help 或 uv run lkr --help,并可分别查看 auth --help、code-mode --help、code-mode sandbox --help。

执行示例:

uv run lkr code-mode sandbox --code="return me()"
uv run lkr code-mode sandbox --file=./script.py --var project=my_project --var folder_id=123
uv run lkr code-mode sandbox --dev-mode --code="return all_projects()"

认证流程:每轮对话建立连接时执行一次预检。先让用户选择 OAuth 或 API Key;再用 auth list 查看已配置的 OAuth 账户、用 auth whoami 验证当前认证。若选 OAuth 且无活动账户,需用户提供实例 URL,先对 https://<instance_url>/auth?... 做预检 GET;若返回 HTML 含 "The OAuth client was not found",说明 lkr-cli 未在该实例注册,应引导用户查看配置指南;若检测到客户端(返回 "redirect_uri mismatch"),再运行 auth login。凭据可保持在版本控制之外:使用 --oauth-account 指定命名 OAuth 配置、--env-file 指定环境文件、--force-oauth 强制 OAuth 流程。

标准环境变量:LOOKERSDK_BASE_URL、LOOKERSDK_CLIENT_ID、LOOKERSDK_CLIENT_SECRET、LOOKERSDK_VERIFY_SSL(默认 true)。

适用场景

技能文档给出的内容包括:检查当前用户与个人文件夹仪表板、递归遍历文件夹收集仪表板与 Look、在 thelook 上运行内联 Explore 查询(可带过滤、排序、限制)、检查 LookML 模型与 Explore 字段(维度与度量)、列出 LookML 项目并查看 Git 分支状态,以及在大型实例上使用 fields 限定字段的仪表板搜索。

限制与规范

  • 需先运行一次 me() 验证认证,再执行多项操作。
  • 查询大型实例的集合时应始终用 fields 过滤返回属性,以防超时。
  • 对 LookML 文件或个人开发分支做修改时应在 CLI 上传入 --dev-mode。
  • 输出应为结构化对象(字典、列表、字符串),不要使用 print()。

资料的介绍中未说明该技能的收费模式、平台兼容性细节或性能指标,相关内容暂未提供。