SuperAPI AI 工具集

kuroco-admin-api-browser

办公与效率

查看项目

更新于 10-15 18:32

技能介绍

用途

本技能用于通过浏览器操作 Kuroco 的管理 API(admin_api)。它依赖 claude-in-chrome MCP 工具,在浏览器页面上下文中执行已认证的 fetch() 请求来调用 API。

主要能力

admin_api 提供五种模式:

  • whoami:获取会话信息(GET),返回 member_id、name、group_ids、expiresAt。
  • discover:探索可用的模块与控制器(GET)。
  • schema:获取控制器/服务的请求与响应 schema(GET)。
  • advise:用自然语言描述想做的事,AI 回答应调用的 API 与步骤(POST)。
  • execute:执行 API(GET/POST),可通过 columns 参数选择响应列。

认证方式:利用浏览器会话 Cookie(__Host-rcms_api_access_token,HttpOnly)。通过 javascript_tool 执行 fetch() 时 Cookie 会自动发送,无需提取令牌。

前提条件

  • claude-in-chrome MCP 可用(未设置时按操作流程 Step 0 引导)。
  • 用户已登录 Kuroco 管理画面(https://..kuroco-mng.app)。
  • 若目标站点不明,需向用户确认站点键或管理画面 URL。
  • 所有操作均以登录用户的权限执行。

使用方式

最小操作流程(读取 4-5 次、写入 5-6 次 tool call):

  1. javascript_tool:认证检查(MODE=whoami)。
  2. navigate + get_page_text:通过 /llms.txt 定位模块/控制器。
  3. navigate + get_page_text:通过 /direct/rcms_api/llms/?mt={module} 获取字段名与参数规格。
  4. (写入时)javascript_tool:MODE=schema 获取字段类型、必填项、块编辑器结构。
  5. javascript_tool:执行 API(mt/ct 形式)。

Step 3 为必需,/llms.txt 概要仅含模块列表,不含 ext_col 字段名。Step 4 在写入操作时必需,schema 以 JSON Schema 形式在 data.request.properties 返回字段定义,指定 topics_group_id 可获知 ext_col/块编辑器的必填字段。discover 模式通常不需要。

操作流程:

  • Step 0:确认 claude-in-chrome MCP。调用 mcp__claude-in-chrome__tabs_context_mcp,失败则引导用户安装 Claude in Chrome 扩展(v1.0.36 以上)与 Claude Code v2.0.73 以上,并在会话内执行 /chrome 或使用 claude --chrome 启动。注意 Chrome 联动需要 Anthropic 直接方案(Pro、Max、Teams、Enterprise),第三方提供商(Amazon Bedrock、Google Cloud Vertex AI 等)不可用。
  • Step 1:定位目标站点。查找 URL 模式 ..kuroco-mng.app 的标签页,多个时向用户确认,无标签页时用 AskUserQuestion 确认站点键或 URL。
  • Step 2:认证检查。用 javascript_tool 执行 whoami 请求。注意 javascript_tool 中不能使用顶层 await,必须用 (async () => { ... })() 包裹。
  • Step 3:通过 llms.txt 把握站点结构(必需)。
  • Step 3.5:通过模块详情把握字段名(必需)。
  • Step 4:获取 schema(写入操作必需)。
  • Step 5:执行 API。
  • Step 6:认证失败/会话过期处理。401 或 403 时告知用户需登录,登录 URL 为 {base_url}/management/login/login/,等待登录后重新认证。

手段选择判断基准:数据获取、搜索、筛选应使用 API 而非 UI。浏览器会话 Cookie 在 javascript_tool 的 fetch() 中也会自动发送,UI 导航与 API 调用的认证成本相同。UI 浏览器操作仅用于 API 无法完成的操作(文件上传、预览、GUI 固有设置变更等)。

API 执行模式:

  • 参数形式使用 mt(模块)与 ct(控制器),如 mt=topics、ct=topics_list。不使用 model=Topics&method=list 形式。
  • GET 请求:始终指定 columns,如 columns=topics_id,subject,ymd,并用 cnt 限制件数。
  • POST 请求:使用 MODE=INSERT 等,body 为 JSON。

重要规则:所有请求必须带 credentials: 'include';GET 数组参数需 [] 后缀(如 topics_group_id[]=1);POST 数组参数用原生 JSON 数组;insert/update/delete 执行前需用户确认。

API 探索:advise 模式可用自然语言获取 API 步骤;discover 模式通常不需要;llms.txt 概要用于把握整体结构,详细用于确认特定模块参数。

管理画面浏览器操作:当 API 调用不足时使用,通过 navigate、read_page、find、form_input、computer、get_page_text 等工具操作。主要 URL 如 /management/topics/topics_edit/?topics_group_id={id} 等。

适用场景

  • 在已登录 Kuroco 管理画面的前提下,以登录用户权限获取、搜索、筛选数据。
  • 执行写入操作(INSERT/UPDATE)前获取 schema 确认字段结构。
  • 用自然语言获取 API 调用步骤。
  • 需要文件上传、预览、GUI 固有设置变更等 API 无法完成的操作时使用 UI 浏览器操作。

限制

  • 依赖 claude-in-chrome MCP,且需要 Anthropic 直接方案,第三方提供商不可用。
  • 所有操作以登录用户权限执行,无法操作该用户无权限的模型或方法。
  • 安全注意:不显示或记录 Cookie 值;禁止用 document.cookie 提取令牌;变更操作必须用户确认后执行;API 响应文件保存需用户同意;认证信息不得包含在 javascript_tool 输出中。
  • javascript_tool 返回值经安全过滤,会话 Cookie 值、email/login_id 等敏感查询参数、含邮箱的字段值、含个人信息的大量文本会被替换为 [BLOCKED]。
  • 与其他技能联动:/kuroco-api-content 用于前端 API 设计;/kuroco-frontend-integration 用于 Nuxt.js/Next.js 集成;/kuroco-docs 用于官方文档检索。本技能专注于浏览器经 admin_api 执行与管理画面操作。