mcpField
L
locli

locli

本地服务
locli.dev开发工具0今天更新

关于 locli

locli 是面向编码 Agent 的本地化命令行工具,可管理 iOS、Android、Web 和后端文本。它支持推送待翻译文本、审批发布和拉取已批准译文,并提供 MCP 服务。

主要功能

  1. 01检测文本目录并生成配置
  2. 02推送缺失文本且不覆盖现有内容
  3. 03拉取已批准的翻译发布
  4. 04查看缺失翻译和术语问题
  5. 05提供文本管理 MCP 工具

适用场景

  1. 01初始化多平台应用的本地化项目
  2. 02提交新文本以供翻译和审批
  3. 03同步已批准的译文到项目文件

MCP 相关

locli 可通过 stdio 启动 MCP 服务,提供状态、文本查找与添加、推送和拉取等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mariohahn-locli": {
"command": "npx",
"args": [
"-y",
"@locli/cli"
],
"env": {
"LOCLI_TOKEN": "<LOCLI_TOKEN>",
"LOCLI_CONFIG": "<LOCLI_CONFIG>",
"LOCLI_API_URL": "<LOCLI_API_URL>"
}
}
}
}
启动命令npx -y @locli/cli
需要配置的环境变量
LOCLI_TOKEN密钥locli API token (CI). Locally, run `npx @locli/cli login` instead.
LOCLI_CONFIGPath to locli.json (default: nearest locli.json from the working directory).
LOCLI_API_URLlocli server (default: https://locli.dev).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@locli/cli0.1.3

工具

7

收录的工具列表 · 更新于 1 天前

此工具无需参数。

详细介绍

@locli/cli

将应用面向用户的文本放入 locli:推送新文本,让项目所有者批准发布,然后拉取已批准的翻译。专为编码 Agent 打造,适用于任何技术栈:iOS String Catalogs、Android strings.xml,以及适用于 Web 和后端的 JSON。需要 Node 18+,无依赖。

npx @locli/cli init

init 会检测你的文本文件并写入:

  • locli.json,包含项目 slug、源语言,以及每个目录对应的一种目标语言
  • 在 AGENTS.md 中写入 locli 区块(如果已有 CLAUDE.md,还会在其中写入 @AGENTS.md)
  • 将 locli Agent 技能写入 .agents/skills/locli/(并从 .claude/skills/locli/ 链接过去)

登录后,init 还会创建项目并设置其语言和平台。可以安全地重复运行。

登录

npx @locli/cli login

login 会打开浏览器。登录或创建免费账户,然后批准 CLI。令牌按服务器分别存储在 ~/.config/locli/credentials.json 中,只有你本人可以读取。在 CI 中,改为设置 LOCLI_TOKEN。whoami 会显示账户;logout 会撤销令牌。

工作流

  1. 在源语言文件中添加新键,例如 receipt_import_title,并附上注释。
  2. npx @locli/cli push 只会上传 locli 中尚不存在的内容。它不会覆盖已有文本。来自 Git 功能分支的新键会归为一个功能。
  3. 项目所有者在 locli Web 应用中批准发布。
  4. npx @locli/cli pull 会将最新获批的发布写入你的文件。

locli.json

{
  "project": "example-app",
  "sourceLanguage": "en",
  "targets": [
    { "platform": "ios", "format": "xcstrings", "path": "App/Localizable.xcstrings" },
    { "platform": "android", "format": "android-xml", "path": "app/src/main/res" },
    { "platform": "web", "format": "json", "path": "messages/{locale}.json" }
  ]
}

每个目标都包含 platform(ios、android、web 或 backend)、format 和 path。路径相对于 locli.json。

  • Android 目标可选填 file;默认值为 strings.xml。
  • JSON 目标的路径中必须包含 {locale},并可选填 keyPrefix。
  • apiURL 为可选项;默认值为 https://locli.dev。

JSON schema 随 @locli/cli/schema/locli.json 一同发布。

命令

命令效果
login [--no-browser] / logout / whoami [--json]在浏览器中批准 CLI;撤销令牌;显示账户
init [--name] [--slug] [--source LANG] [--target platform:format:path]… [--yes] [--no-agent-files]检测目录、写入配置和 Agent 文件、创建项目
push [--dry-run] [--branch B] [--target platform]上传缺失的键和值;不会覆盖现有内容
pull [--draft] [--release NAME] [--target platform]写入最新获批的发布(或指定发布)
status [--json]显示语言、缺失的翻译、未关闭的功能、尚未发布的更改和术语表问题
areas [--feature NAME] [--json]列出功能区域,或查找新功能文本所属的区域
guide [--json] [--set FILE]显示翻译指南(语气、术语表)以及不符合指南的文本;--set 会替换指南
mcp通过 stdio 启动 MCP 服务

每条命令都支持 --api-url、--config 和 --help。退出代码:0 表示成功,1 表示错误,2 表示用法错误。

环境变量:

  • LOCLI_TOKEN:CI 中使用的 API 令牌。
  • LOCLI_API_URL:服务器地址。
  • LOCLI_CONFIG:locli.json 的路径。
  • LOCLI_BRANCH:覆盖检测到的分支。

MCP 服务

MCP 服务提供七种工具:

  • locli_status
  • locli_areas
  • locli_guide
  • locli_find_texts
  • locli_add_texts
  • locli_push
  • locli_pull

Claude Code:安装插件(包含技能和 MCP 服务),或仅添加 MCP 服务:

/plugin marketplace add mariohahn/locli
/plugin install locli@locli
claude mcp add --scope project locli -- npx -y @locli/cli mcp

Cursor(.cursor/mcp.json)和其他使用 mcpServers 的客户端:

{ "mcpServers": { "locli": { "command": "npx", "args": ["-y", "@locli/cli", "mcp"] } } }

Codex(~/.codex/config.toml):

[mcp_servers.locli]
command = "npx"
args = ["-y", "@locli/cli", "mcp"]

已知限制

  • Android 中带有标记(<b>、<a> …)的字符串会在推送时跳过,拉取时保持原样。
  • JSON:只有位于 count 或 argN 上的顶层 ICU 复数才会成为复数键。其他 ICU 消息会作为纯文本推送。
  • JSON:非字符串值会跳过并显示警告。

Agent 指南:https://locli.dev/docs/agents.md · 许可证:MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。