loki-mode

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Loki Mode - OpenClaw Skill

Loki Mode - OpenClaw 技能

When to use

适用场景

  • User asks to "build", "implement", or "develop" a feature from a PRD
  • User provides a requirements document and wants autonomous execution
  • User says "loki mode" or references autonomous development
  • User wants to run a full SDLC cycle on a codebase
  • 用户要求基于PRD「搭建」、「实现」或「开发」某个功能
  • 用户提供需求文档,需要自主执行
  • 用户提及「loki mode」或者提到自主开发
  • 用户需要在代码库上运行完整的SDLC周期

Prerequisites

前置要求

  • loki
    CLI installed on the host (via
    npm install -g loki-mode
    or Homebrew)
  • One of: Claude Code, Codex CLI, or Gemini CLI installed
  • Corresponding API key set (ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY)
  • 主机上已安装
    loki
    CLI(可通过
    npm install -g loki-mode
    或Homebrew安装)
  • 已安装以下工具之一:Claude Code、Codex CLI或Gemini CLI
  • 已配置对应的API密钥(ANTHROPIC_API_KEY、OPENAI_API_KEY或GOOGLE_API_KEY)

How to invoke

调用方式

Start a session

启动会话

Use the bash tool with background mode:
bash(command: "loki start <prd-path> --bg --yes --no-dashboard", pty: true, background: true, workdir: "<project-dir>")
Key flags:
  • --bg
    : Background mode (session outlives the tool call)
  • --yes
    : Skip confirmation prompts
  • --no-dashboard
    : Avoid port conflicts in sandboxed environments
  • --provider <claude|codex|gemini>
    : Select AI provider (default: claude)
  • --budget <amount>
    : Set cost limit in USD (auto-pause when exceeded)
使用bash工具的后台模式:
bash(command: "loki start <prd-path> --bg --yes --no-dashboard", pty: true, background: true, workdir: "<project-dir>")

Monitor progress

关键参数:

Poll status every 30 seconds:
bash(command: "loki status --json", workdir: "<project-dir>")
The JSON output contains:
  • version
    : Loki Mode version string
  • status
    : inactive, running, paused, stopped, completed, unknown
  • phase
    : Current SDLC phase (e.g., BOOTSTRAP, DISCOVERY, ARCHITECTURE, DEVELOPMENT, QA, DEPLOYMENT)
  • iteration
    : Current iteration number
  • provider
    : Which AI provider is active (claude, codex, gemini)
  • pid
    : Process ID of the running session (null if not running)
  • elapsed_time
    : Seconds since session start
  • dashboard_url
    : URL of the web dashboard (null if disabled)
  • task_counts
    : Object with
    total
    ,
    completed
    ,
    failed
    ,
    pending
    counts
For budget tracking (not in JSON output), read the budget file directly:
bash(command: "cat .loki/metrics/budget.json 2>/dev/null || echo '{}'", workdir: "<project-dir>")
Budget JSON fields:
budget_limit
,
budget_used
  • --bg
    :后台模式(会话不受工具调用生命周期限制)
  • --yes
    :跳过确认提示
  • --no-dashboard
    :避免沙箱环境中的端口冲突
  • --provider <claude|codex|gemini>
    :选择AI提供商(默认:claude)
  • --budget <amount>
    :设置成本上限(单位:美元,超出后自动暂停)

Report progress to channel

进度监控

After each poll, summarize changes:
  • Phase transitions ("Moved from ARCHITECTURE to DEVELOPMENT")
  • Task completion counts ("12/20 tasks complete, 0 failed")
  • Elapsed time ("Running for 45 minutes")
  • Error states that need attention (failed tasks > 0, status is unknown)
If budget tracking is active, include cost in updates:
  • "Estimated cost: $4.50 / $50.00 budget"
每30秒轮询一次状态:
bash(command: "loki status --json", workdir: "<project-dir>")
JSON输出包含以下字段:
  • version
    :Loki Mode版本字符串
  • status
    :状态,可选值:inactive(未激活)、running(运行中)、paused(已暂停)、stopped(已停止)、completed(已完成)、unknown(未知)
  • phase
    :当前SDLC阶段(例如BOOTSTRAP、DISCOVERY、ARCHITECTURE、DEVELOPMENT、QA、DEPLOYMENT)
  • iteration
    :当前迭代编号
  • provider
    :当前使用的AI提供商(claude、codex、gemini)
  • pid
    :运行中会话的进程ID(未运行时为null)
  • elapsed_time
    :会话启动后经过的秒数
  • dashboard_url
    :网页仪表盘URL(未启用时为null)
  • task_counts
    :包含
    total
    (总任务数)、
    completed
    (已完成)、
    failed
    (失败)、
    pending
    (待处理)计数的对象
若要追踪预算(不在JSON输出中),可直接读取预算文件:
bash(command: "cat .loki/metrics/budget.json 2>/dev/null || echo '{}'", workdir: "<project-dir>")
预算JSON字段:
budget_limit
(预算上限)、
budget_used
(已使用预算)

Control commands

向频道上报进度

  • Pause:
    bash(command: "loki pause", workdir: "<project-dir>")
  • Resume:
    bash(command: "loki resume", workdir: "<project-dir>")
  • Stop:
    bash(command: "loki stop", workdir: "<project-dir>")
  • Status:
    bash(command: "loki status", workdir: "<project-dir>")
  • Logs:
    bash(command: "loki logs --tail 50", workdir: "<project-dir>")
每次轮询后,总结变化:
  • 阶段切换(例如「Moved from ARCHITECTURE to DEVELOPMENT」)
  • 任务完成数(例如「12/20 tasks complete, 0 failed」)
  • 运行时长(例如「Running for 45 minutes」)
  • 需要关注的错误状态(失败任务数>0,状态为unknown)
如果启用了预算追踪,更新内容中要包含成本信息:
  • 「Estimated cost: $4.50 / $50.00 budget」

Session complete

控制命令

When status becomes "stopped" or "completed":
  1. Run
    loki status --json
    for final summary
  2. Run
    git log --oneline -20
    to show commits made
  3. Report final task counts, elapsed time, and duration
  4. If council verdict exists, include it:
    cat .loki/council/report.md
  • 暂停:
    bash(command: "loki pause", workdir: "<project-dir>")
  • 恢复:
    bash(command: "loki resume", workdir: "<project-dir>")
  • 停止:
    bash(command: "loki stop", workdir: "<project-dir>")
  • 状态查询:
    bash(command: "loki status", workdir: "<project-dir>")
  • 日志查询:
    bash(command: "loki logs --tail 50", workdir: "<project-dir>")

Critical rules

会话结束

  • ALWAYS use --bg flag (session must outlive the tool call)
  • ALWAYS use --yes flag (no confirmation prompts in non-interactive channels)
  • NEVER run loki in the OpenClaw workspace directory itself
  • Poll status rather than watching stdout (background mode detaches)
  • If session crashes, check
    loki logs
    before restarting
  • Respect budget limits -- include cost in every progress update when tracking is active
  • The --no-dashboard flag is recommended to avoid port conflicts in sandboxed environments
当状态变为「stopped」或「completed」时:
  1. 执行
    loki status --json
    获取最终总结
  2. 执行
    git log --oneline -20
    展示生成的提交记录
  3. 上报最终任务计数、运行时长
  4. 如果存在评审结论,包含该内容:
    cat .loki/council/report.md

重要规则

  • 始终使用--bg参数(会话必须不受工具调用生命周期限制)
  • 始终使用--yes参数(非交互频道中无需确认提示)
  • 切勿在OpenClaw工作区目录本身运行loki
  • 采用轮询方式查询状态,而非监听标准输出(后台模式会脱离进程)
  • 如果会话崩溃,重启前先查看
    loki logs
  • 遵守预算限制——启用追踪时,每次进度更新都要包含成本信息
  • 推荐使用--no-dashboard参数,避免沙箱环境中的端口冲突