Skip to content

AI Agent(LoxiBot)

功能概述

SDK 1.2.0+ 内置了 LoxiBot AI Agent 功能,提供智能翻译审查和版本发布能力。集成方可以通过手动调用 SDK 方法来控制悬浮按钮的显示和触发审查流程。

悬浮按钮控制

通过以下方法手动控制 LoxiBot 悬浮按钮的显示/隐藏:

java
// 手动显示 LoxiBot 悬浮按钮
LoxilyLocalize.showAgentBubble();

// 手动隐藏 LoxiBot 悬浮按钮
LoxilyLocalize.hideAgentBubble();

点击悬浮按钮会自动截取当前页面截图,打开 LoxiBot 对话界面进行 AI 翻译审查。

程序化调用审查(推荐)

除了悬浮按钮,SDK 还提供了 reviewCurrentScreen() 方法,集成方可以在自己的 UI 中触发审查流程:

方式一:OCR 识别(不传 string_id)

java
// 自动截取当前页面截图,AI 通过 OCR 识别页面文本后匹配 string_id
LoxilyLocalize.reviewCurrentScreen();

方式二:精确匹配(传入 string_id 数组,推荐)

java
// 传入当前页面使用的 string_id 列表,精确匹配翻译
String[] stringIds = {"home.title", "home.subtitle", "home.welcome_msg"};
LoxilyLocalize.reviewCurrentScreen(stringIds);

传入 string_id 的优势:

  • 避免 OCR 文字识别不准确的问题
  • 解决相同文字对应不同 string_id 的歧义(如多个按钮都显示「确认」但 string_id 不同)
  • SDK 自动从后端查询每个 string_id 的源文本和所有语言翻译,提供给 AI 做精确分析
  • 未匹配到的 string_id 会被标记为「需要补充」,帮助发现遗漏的翻译

方式三:外部传入截图(游戏引擎推荐)1.3.3+

适用于 Unity、Unreal、Cocos2dx 等游戏引擎,由游戏方自行通过 RenderTexture 等方式截图,将图片 byte[] 传入 SDK。

java
// 游戏引擎自行截图后,将 PNG/JPEG byte[] 传入 SDK
byte[] screenshotBytes = ...; // 从 RenderTexture 获取
String[] stringIds = {"dialog.npc_greeting", "dialog.player_choice_1"};
LoxilyLocalize.reviewCurrentScreen(stringIds, screenshotBytes);

Unity C# 调用示例:

csharp
// 1. 通过 RenderTexture 截图
RenderTexture rt = new RenderTexture(Screen.width, Screen.height, 24);
Camera.main.targetTexture = rt;
Camera.main.Render();
RenderTexture.active = rt;
Texture2D tex = new Texture2D(rt.width, rt.height, TextureFormat.RGB24, false);
tex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);
tex.Apply();
byte[] pngBytes = tex.EncodeToPNG();
Camera.main.targetTexture = null;
RenderTexture.active = null;

// 2. 调用 SDK
AndroidJavaClass sdk = new AndroidJavaClass("net.ilocalize.init.LoxilyLocalize");
sdk.CallStatic("reviewCurrentScreen", stringIds, pngBytes);

外部截图模式的优势:

  • 无需 FOREGROUND_SERVICE_MEDIA_PROJECTION 权限,避免 Google Play 上架审核问题
  • 游戏引擎通过 RenderTexture 能精确捕获渲染画面(包括 GL/Vulkan 渲染内容)
  • SDK 跳过内部截图流程,直接使用外部传入的图片

注意: 当传入 imageBytes 时,SDK 不会执行任何系统截图操作(不触发 PixelCopy 或 MediaProjection),完全由集成方控制截图来源。

参数说明

参数类型必填说明
stringIdsString[]当前页面使用的 string_id 数组,传 null 则走 OCR 识别
imageBytesbyte[]PNG 或 JPEG 格式的截图数据

工作原理

当传入 stringIds 时,SDK 会:

  1. 截取当前页面截图(或使用外部传入的截图)
  2. 立即打开 LoxiBot 对话界面(显示 loading)
  3. 后台异步调用后端 API 批量查询每个 string_id 的完整翻译数据(源文本 + 所有语言翻译)
  4. 查询完成后,将精确映射关系作为上下文发送给 AI Agent
  5. AI Agent 基于截图 + 精确的 string_id 映射进行翻译质量分析(跳过 OCR 步骤)

使用流程

  1. 触发审查 → 调用 reviewCurrentScreen() 或点击悬浮按钮,自动截图并打开 LoxiBot 对话界面
  2. AI 分析 → LoxiBot 根据截图和 string_id 映射(或 OCR 识别)分析翻译质量
  3. 翻译审查 → 展示翻译优化建议卡片,支持逐条优化或一键优化
  4. 发布版本 → 优化完成后自动弹出版本发布表单,选择环境和版本范围后一键发布
  5. 实时状态 → 发布卡片实时轮询显示发布进度,直到发布完成

AI Agent 功能清单

功能说明
页面文本 AI 优化截图 + string_id 精确匹配(或 OCR 识别) → 匹配词条 → 生成优化建议
单条优化针对单条翻译进行优化更新
一键优化批量优化所有 AI 建议的翻译
版本发布选择发布环境(测试/正式)和版本范围,一键发布
发布状态追踪实时轮询显示发布进度(发起 → 进行中 → 完成)
实时思考展示显示 AI 的推理过程,可展开/收起