Skip to main content

daemon-backend-oh-my-pi

Nested daemon-cli-backends reference for the Oh-My-Pi (`omp`) daemon backend's flag surface. Read this only when a daemon task needs Oh-My-Pi-specific CLI flags (model selection, tool or provider switches): it routes you to the installed CLI's live help via shell and shows how to translate that help into the generic `backend_options` mechanism. It is not a flag catalog.

Jump to install

Source facts

Repository
Lingtai-AI/lingtai-kernel
Last source activity
August 7, 2026 at 07:21
Detected SKILL.md language
English
Stars
11
Forks
14

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
daemon-backend-oh-my-pi
description
Nested daemon-cli-backends reference for the Oh-My-Pi (`omp`) daemon backend's flag surface. Read this only when a daemon task needs Oh-My-Pi-specific CLI flags (model selection, tool or provider switches): it routes you to the installed CLI's live help via shell and shows how to translate that help into the generic `backend_options` mechanism. It is not a flag catalog.
version
0.2.0
last_changed_at
2026-08-07T00:00:00.000Z
related_files
["src/lingtai/tools/daemon/manual/reference/cli-backends/SKILL.md"]
maintenance
Tracks the Oh-My-Pi daemon backend flag-discovery topic it documents; update when that integration changes.
# Oh-My-Pi Daemon Backend — Flag Discovery Entrypoint The installed CLI's own help is the authority for Oh-My-Pi (npm package `@oh-my-pi/pi-coding-agent`, binary `omp`) flags; this page is only the entrypoint. Conversion rules, key safety, and persistence live in the parent [`reference/cli-backends/SKILL.md`](../../../SKILL.md). `omp` is an accepted backend alias that canonicalizes to `oh-my-pi`; persisted daemon entries use the canonical name. ## Discover flags from the installed CLI 1. Run, in bash: `omp --version` and `omp --help`. The daemon backend wraps the root `omp` invocation (no subcommand), so the root help is the relevant flag surface. These are local read-only commands; no session is started. Run `omp <command> --help` only on demand for a subcommand the installed root help itself lists — subcommands are outside the daemon wrapper. 2. Translate what you found into `backend_options` with the parent's generic conversion rules. Nothing Oh-My-Pi-specific is added to that contract here. ## Example: model selection ```jsonc { "backend": "oh-my-pi", "tasks": [{ "task": "Implement and validate the change.", "tools": [], "backend_options": { "model": "<model id from the installed CLI>" } }] } // argv: --model <model id from the installed CLI> ``` The model vocabulary belongs to the installed CLI and its configured providers — LingTai does not validate, enumerate, or simulate model ids. Use the CLI's own discovery surface (root `--help`) and pass the id through. ## Subscription & auth Per-provider keys through the CLI's own config; LingTai does not inject or rotate credentials. Official docs: https://github.com/pi-coding-agent/pi-coding-agent ## Harness boundary: reserved flags The daemon owns Oh-My-Pi's non-interactive JSON harness (`omp --mode json --approval-mode yolo <task>`). `backend_options` refuses exactly these reserved flags before spawn (one bad key refuses the whole batch): `--mode`, `--print`, `--auto-approve`, `--yolo`, `--approval-mode`, `--session`, `--resume`, `--continue`, `--no-session`, `--session-dir` Keys are written without leading dashes, and underscores become dashes, so `{"approval_mode": "write"}` targets `--approval-mode` and is refused. Overriding these would break JSON event capture, re-enable interactive prompting, or hijack session ownership. ## Session, ask, and MCP status - The first `type:session` JSON header line carries the resumable session id; the OpenCode-family parser stores it as `oh_my_pi_session_id` in `daemon.json`. - `ask` is async and resumes via `omp --mode json --approval-mode yolo --session <id> <message>`; emanate-time `backend_options` persist for the session and are not re-passed. - Per-run `daemon_common` MCP injection is **not wired yet** for this backend (pending source evidence of an accepted config/env path), so the MCP `finish` completion contract does not apply here — and `backend_options` is not the place to hand-wire MCP.
View on GitHub