跳到正文

非交互模式

用 lime exec 执行脚本任务,并读取可验证的机器输出。

适用场景

lime exec 在终端中完成一次任务后退出,适合脚本、批处理和 CI。先明确输入、工作目录、允许的副作用和成功条件;需要交互探索时使用 TUI。

bash
lime exec --cd /path/to/project "读取项目指令,运行受影响的测试并总结结果"

提供提示词与附件

可把提示词作为参数,或使用 - 从标准输入读取。--image 可重复传入图片路径。图片是否能使用取决于选定模型的输入能力。

bash
cat task.txt | lime exec -
lime exec --image ./failure.png "根据截图定位界面问题,先说明复现方式"

选择模型和权限

使用 --model、--provider 和 --effort 选择当前提供方目录支持的模型与推理强度。使用 --sandbox read-only 进行只读分析;需要修改项目时按任务选择 workspace-write。

--ask-for-approval never 表示无法请求额外授权,受限操作仍会失败。--approve-for-me 使用工作空间写入和自动审批审查,不能与显式沙盒、审批策略或命名权限档案混用。

输出与退出结果

默认输出适合人工阅读。--json 输出逐行 JSON 事件,供程序跟踪任务;--output-last-message 把最终回复写入文件。最终自然语言回复应与进程退出状态及实际产物一起检查。

bash
lime exec --json --output-last-message result.md "检查本次差异并报告测试结果" > events.jsonl

读取 JSONL 时逐行解析,容忍未来出现的新事件类型。不要把第一条消息或工具开始事件当作任务完成。保留失败事件、错误和命令退出结果。

要求结构化最终回复

--output-schema 接受本地 JSON Schema 文件,约束最终回复的形状。事件流本身仍是 JSONL,不能用最终回复 Schema 解析全部事件。

json
{
  "type": "object",
  "properties": {
    "summary": {"type": "string"},
    "checks": {"type": "array", "items": {"type": "string"}}
  },
  "required": ["summary", "checks"],
  "additionalProperties": false
}
bash
lime exec --output-schema response.schema.json --output-last-message result.json "只读检查当前项目,按结构返回摘要和已执行的检查"

恢复与派生任务

使用 exec resume 继续已保存的线程,使用 exec fork 从已有记录创建新线程。显式线程 ID 比名称更适合自动化。--last 按当前目录选最近线程,--all 扩大选择范围。

bash
lime exec resume <THREAD_ID> "继续未完成的检查"
lime exec fork <THREAD_ID> "在保留原记录的情况下验证另一个方案"

恢复前确认工作目录、当前文件和远端状态是否变化。聊天历史恢复不会自动回滚文件,也不能解除之前结果未知的外部操作。

远程执行

bash
lime exec --remote wss://<YOUR_RUNTIME_HOST>/rpc --remote-auth-token-env LIME_REMOTE_TOKEN "检查远程项目的测试结果"

令牌由指定环境变量提供,不能放入 URL。远端路径、进程和项目配置属于服务器所在环境;本机存在文件不表示远端也有。使用受控 TLS 或安全隧道,并处理断连后的状态核对。

把自动化做成可恢复流程

  1. 固定工作目录和输入,记录线程 ID、版本及运行参数。
  2. 先执行只读预检,再进行允许的文件更改。
  3. 使用项目自身的测试验证产物。
  4. 超时或连接断开时先查询原任务,避免重复提交外部操作。
  5. 对提交、发送、发布等动作设置独立的组织授权与审查步骤。