Skip to main content

omp-ops

Operations skill for Oh My Pi (OMP). Trigger when the user asks about OMP configuration, model providers, API keys, search providers, `config.yml`, `models.yml`, `agent.db`, `.env` precedence, or `modelRoles`.

Ir a la instalación

Datos de origen

Repositorio
Loveacup/jz-skills
Última actividad en el origen
4 de septiembre de 2026 a las 20:36
Idioma detectado de SKILL.md
inglés
Estrellas
1
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
38 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
omp-ops
description
Operations skill for Oh My Pi (OMP). Trigger when the user asks about OMP configuration, model providers, API keys, search providers, `config.yml`, `models.yml`, `agent.db`, `.env` precedence, or `modelRoles`.
# omp-ops > [!note] > 同步与更新已改为手动触发。需要时运行 `scripts/orchestrate.sh`(Windows 用 `scripts/orchestrate.ps1`),它会检查本地、GitHub 与上游 OMP 三方的版本关系并给出建议动作;没有待处理动作时直接返回 `synced`。 > > 对齐规则: > 1. 若 GitHub 领先本地 → 从 GitHub 拉取。 > 2. 若本地领先 GitHub → 推送到 GitHub。 > 3. 若上游 OMP 领先且两端都旧 → 先按上游 OMP 更新官方文档,再推送到 GitHub。 This skill teaches agents how to operate, configure, and troubleshoot [Oh My Pi](https://github.com/can1357/oh-my-pi) (OMP). ## Red Flags | Do not... | Why | |---|---| | Hard-code API keys or tokens in any file. | `agent.db`, `.env`, and `/login` exist precisely to avoid that. | | Assume the local OMP version matches this skill's reference version. | Check `omp --version` when local/runtime compatibility matters. | | Edit `references/official/*` manually. | They are overwritten by the sync action. | | Disable `secrets.enabled` to simplify output. | It leaks keys into provider requests. | ## Decision tree (core workflow) ```text 1. User triggers omp-ops (config, providers, keys, search, modelRoles, etc.) | v 2. Answer using references/official/ for authoritative OMP behavior, references/providers/ for quick provider matrices, and `references/providers/tips.md` for hidden/undocumented runtime switches | v 3. Check local OMP version only when the answer depends on installed runtime behavior ``` ## When to use this skill Use this skill when the user asks about any of the following: - Model provider setup and API behavior: Anthropic, OpenAI, Google, Groq, OpenRouter, Novita, SiliconFlow, local engines (Ollama, llama.cpp, LM Studio), custom providers in `models.yml`, and `providers.anthropic.serverSideFallback`. - API key handling: env vars, `.env`, `agent.db`, `/login`, auth broker. - Search providers and caveats: Exa, Brave, Tavily, DuckDuckGo datacenter/shared-egress limitations, SearXNG, Perplexity, z.ai, Kagi, Jina, Parallel, Firecrawl, Anthropic search, Codex search, Kimi/Moonshot search. - `modelRoles`, `cycleOrder`, `modelProviderOrder`, `enabledModels`, `disabledProviders`, `task.softRequestBudgetNotice`, `task.maxConcurrency`, `task.maxRecursionDepth`, and per-call `task.effort` selection. - Hidden/undocumented runtime switches shown in OMP `tips.txt`, such as `PI_DIALECT`, `/btw`, `/tan`, `/force`, `/shake`, magic keywords (`ultrathink`, `orchestrate`, `workflowz`), or `omp stats`. ## Reference file rules | Directory | Purpose | May you edit? | |---|---|---| | `references/official/` | Auto-synced copies of official OMP docs (`docs/*.md`). | **No.** These are overwritten by `sync-from-official`. | | `references/providers/` | Skill-authored provider matrices and quick-start guides. | Only when official docs change or a provider is missing. | | `references/architecture.md` | OMP config layout, `config.yml`, `agent.db`, `.env`, `modelRoles`. | Only when official docs change. | | `references/security.md` | API key rules, forbidden actions, redaction. | Only when official docs change. | | `references/VERSION` | Current skill version `<omp-version>-<revision>`. | Updated by sync/push scripts only. | | `references/sync-state.json` | Last official version and sync timestamp. | Updated by sync script only. | Always prefer `references/official/` for authoritative behavior and `references/providers/` for concise lookup tables. ## Key facts ### Config precedence ```text built-in defaults <- global ~/.omp/agent/config.yml <- project <cwd>/.omp/config.yml <- CLI --config overlays <- runtime overrides (--model, --smol, etc.) ``` Objects deep-merge; arrays and scalars are **replaced wholesale** by the higher layer. ### `.env` precedence ```text process env <- <cwd>/.env <- ~/.omp/agent/.env <- ~/.omp/.env <- ~/.env ``` `OMP_*` keys are mirrored to `PI_*` in each parsed `.env`. ### Credential resolution order ```text runtime override (e.g. --api-key) <- models.yml apiKey on custom provider <- stored OAuth in agent.db <- API key saved by /login <- provider env var / .env <- other stored API key <- models.yml fallback resolver ``` ### Built-in model roles `default`, `smol`, `slow`, `vision`, `plan`, `commit`, `tiny`, `title`, `task`, `advisor`. Values may append `:minimal`, `:low`, `:medium`, `:high`, `:xhigh`, `:max`. Built-in subagent names changed separately from model roles: `quick_task` was renamed to `sonic` in 16.2.9, built-in `oracle` was removed in 16.2.9, and `Tester` was added in 16.2.9. ### Local engines `ollama`, `llama.cpp`, `lm-studio` are discovered keyless by default unless explicitly configured or listed in `disabledProviders`. For OMP 16.3.11+, `llama.cpp` discovery also respects advertised `architecture.input_modalities`, so a router preset that reports image input should not be treated as text-only. ### Search provider auth | Provider | Primary env var | |---|---| | Exa | `EXA_API_KEY` | | Brave | `BRAVE_API_KEY` | | Tavily | `TAVILY_API_KEY` | | SearXNG | `SEARXNG_ENDPOINT` (+ optional `SEARXNG_TOKEN`) | | Perplexity | `PERPLEXITY_API_KEY` or `PERPLEXITY_COOKIES` | | z.ai | `ZAI_API_KEY` | | Anthropic search | `ANTHROPIC_SEARCH_API_KEY` | | Codex search | `OPENAI_API_KEY` or stored Codex OAuth | ### Recent OMP 16.2.9–18.1.10 operator notes - 18.1.8–18.1.10: background task structured results use `agent://<id>` when inline JSON is unsuitable; eval `agent()`/`completion()` use async handles (`await`/`wait`); browser/computer APIs use JS/Python eval preludes; image questions use `read <image>?q=` and `images.questionTimeoutMs`; `yield` accepts direct `data`/`error`. Review integrations before upgrading. - Unreleased `retry.waitForUsageReset` may wait through provider-reported quota resets beyond `retry.maxDelayMs`; treat it as pending until the official settings schema is documented. - 17.2.6 adds `/reset`, which clears live context while retaining the session id and on-disk transcript. - 17.2.5 changes computer to persistent JavaScript runs and edit replace mode to one `{path, old_string, new_string, replace_all?}` operation; review old batch configs before upgrading. - 17.2.3 preserves backend codes and messages from Codex Web Search SSE errors; use that detail when separating provider failures from credential or endpoint configuration problems. - 17.2.2 reserves `Ctrl+L` for `app.live.toggle` (live voice mode) and moves `app.display.reset` to `Alt+L`. Hashline editing and plan guidance now use the unified `PUT`/`CUT` grammar with `.=` ranges and named registers. For Kitty images inside tmux, `PI_KITTY_PLACEHOLDERS=1` opts into Unicode placeholders; `PI_NO_KITTY_PLACEHOLDERS=1` takes precedence and disables them. - 17.2.1 adds default-off `security.enabled`; canonical findings and SARIF-compatible results use read-only `security://`; imported bundles remain distinct from native attribution. - 17.2.0 adds `providers.autoThinkingMaxEffort: max` for supported models (default `xhigh`) and `/login exa` as an alternative to `EXA_API_KEY`. - 17.1.8 adds `omp cleanse`, conversational `/guided-goal`, and temp-directory screenshot saving. - 18.1.9 replaces the `inspect_image` tool and `/vision` controls with `read <image>?q=<question>`; `inspect_image.timeoutMs` migrates to `images.questionTimeoutMs`. Browser/computer automation now uses JS/Python eval preludes with reusable handles. In 18.1.10, subagent `yield` takes `data`/`error` directly instead of a nested `result` wrapper. - 17.1.6 makes the per-spawn `task.effort` hint opt-in: set `task.enableEffort` before relying on `lo`, `med`, or `hi`; use `task.maxEffort` to cap resolved effort for spawned tasks and retries. - 17.1.4 removes the per-call `model` selector from `task` and `agent()`; spawned work uses the agent's configured model. Keep using `task.effort` (`lo`, `med`, or `hi`) when only the thinking level needs to vary. - 18.1.5 removes the bundled `designer` subagent and model role; remove `designer` / `@designer` from model-role configurations. - 18.1.7 adds the Apple Silicon MLX backend for local tiny models (`PI_TINY_DEVICE=mlx` or `metal`) and removes Ruby/Julia eval backends. Eval `agent()`/`completion()` calls now return asynchronous handles; synchronize them with `await`/`wait` rather than the removed `parallel()`/`pipeline()` helpers. - 17.0.9 adds keyless Firecrawl search when `firecrawl` is explicitly selected; automatic fallback still requires credentials, while the 18.1.6 `providers.fetch` URL reader requires `FIRECRAWL_API_KEY`. It also defaults `task.isolation.apply` and `mcp.renderMarkdownResults` to `true`, respectively applying successful isolated task changes to the parent checkout and rendering non-JSON MCP text as Markdown. Set either key to `false` when retaining artifacts or raw MCP text is required. - 17.0.7 preserves custom-provider model ids beginning with `@` (such as Portkey ids); keep those ids exact rather than normalizing them to a bundled model id. - 17.0.6 adds Codex-subscription image generation through `openai-codex`, independent of the active chat model, and makes Codex web search honor custom endpoints without forwarding official OAuth credentials there. Treat custom endpoint routing as a credential boundary and fail closed when the explicitly selected provider has no usable credentials. - Anthropic and ChatGPT/Codex OAuth accounts are organization/workspace scoped; select the intended workspace during login when one email has multiple seats or subscriptions. - 17.0.4 adds `PI_CONFIG_FILES`, a platform-delimited (`:` on Unix, `;` on Windows) list of settings overlays loaded before explicit `--config` overlays. Use it for wrapper-injected settings and keep credentials out of the referenced files. - 17.0.3 removes the unreliable Bing and Yahoo HTML-scraping web-search providers. Do not treat either provider as an available fallback. - 17.0.3 clarifies `PI_TUI_RESIZE_IN_PLACE`: truthy values force in-place resize without borrowing the alternate screen; false values force the alternate-screen fast path. Warp defaults to the in-place path. - 17.0.1 fixes `omp grep` paths with a stray leading colon, makes xAI web search honor configured proxy endpoints and headers without forwarding official OAuth tokens to custom endpoints, and improves Windows broken-pipe handling. These are runtime fixes; they do not change provider credentials or search-provider setup. - 17.0.0 consolidates `irc`, `job`, and `launch` into the `hub` tool and exposes discoverable custom, extension, MCP, image, and TTS tools through `xd://` devices. Use `read xd://<tool>` for documentation and `write xd://<tool>` for execution; do not rely on the removed hidden `resolve` or `search_tool_bm25` paths. - 17.0.0 removes the SSH agent tool and the legacy `report_finding` tool. SSH host management remains available, but remote command execution is no longer an OMP agent-tool workflow. - 17.0.0 adds opt-in `edit.enforceSeenLines` and optional generic-task prewalk via `prewalk` / `task.agentPrewalk` / `task.prewalk`. The default prewalk behavior remains off. - 18.1.2 uses XML-shaped sloppy edits (`<SM:EDIT>`, `<SM:FIND>`, `<SM:PUT>`) and can recover stray inline payloads; preserve copy-ready error payloads and check `edit.recoverInlineEdits` before blaming the model or file contents. - 16.5.0 replaces the `--reasoning-slide-*` flag family with `--prewalk`, `--prewalk-into <model>`, and `--no-prewalk`; use the new flags in current operator guidance. - 16.5.0 model configuration supports `~/.omp/agent/models.yaml` as a fallback beside `models.yml`; role aliases use `@role`, with `*` selecting `@default`. Quote `@` aliases in YAML values. - 16.5.1 Anthropic OAuth accounts are organization-scoped: separate Team and personal subscriptions under one email may be selected and rotated as distinct accounts. - 16.4.8 search: Perplexity forces retrieval for search-heavy workflows; JS eval cells keep top-level `function` and `var` declarations across cells. - 16.3.14 tightened TUI rendering: raw thinking blocks now strip HTML comment noise, and unfinalized tool blocks no longer pin the live-region scroll seam. - 16.3.11 title generation is more reliable: the runtime now uses marker-based parsing for all models, and JSON-shaped title replies are unwrapped to the bare title instead of being displayed verbatim. - 16.3.11 llama.cpp discovery honors per-model `architecture.input_modalities` from `/v1/models`, which prevents image-capable router presets from being misclassified as text-only. - 16.3.0 config additions: `providers.anthropic.serverSideFallback` opt-in Anthropic server-side fallback beta; `task.softRequestBudgetNotice` enables subagent soft-budget wrap-up notices while keeping graceful abort guard active. - 16.3.0 reliability: signed thinking/reasoning payload persistence fixed for Anthropic/OpenAI/Google; session shutdown saves editor drafts and cleans background jobs; git clone/fetch gets a separate 30-minute network-transfer deadline; `task.maxConcurrency` and `task.maxRecursionDepth` bypasses fixed. - 16.3.0 tools/search: `apply_patch`/edit dirty-buffer and overwrite handling fixed; grep/ast_grep URL-scope parsing fixed for `www.` and collapsed-scheme spellings; Tavily retries without recency filters when content is empty; DuckDuckGo error clarity documents datacenter/shared-egress limitations. - 16.3.2 search tools: `grep`, `glob`, and `ast_grep` now take a single optional `path` string instead of a `paths` array; semicolon-delimited multi-path input is supported, and omitted `path` searches the workspace root. - 16.4.2 adds `novita` provider auth via `NOVITA_API_KEY` and extends thinking suffix support with `:max`. - 16.2.12 breaking model behavior: canonical-alias grouping removed; `equivalence` in `models.yml`/`models.json` is inert; `omp models canonical` and the interactive `CANONICAL` tab were removed; model selectors now resolve by exact/flat ID plus provider preference. - 16.2.9 subagents: `quick_task` renamed to `sonic`; built-in `oracle` removed; built-in `Tester` added. - 16.2.7 provider behavior: Google Gemini/Vertex service-tier support and Vertex bearer access-token/API-key precedence changes; Google Vertex AI supported. ## Verification Checklist Before answering, confirm: - [ ] No real API key, token, or password appears in the final response. - [ ] `references/official/` was consulted for behavior that may have changed. - [ ] `references/providers/` was consulted for provider-specific env vars. - [ ] For search questions, `searxng.engines` and supported query directives are checked against the official mirror before giving configuration advice. - [ ] `modelRoles` examples use exact flat IDs or provider/model selectors; do not document canonical alias coalescing as active behavior. - [ ] Project/global scope and array-replacement behavior were mentioned when relevant. - [ ] The user was directed to `/login` or env vars instead of being told to paste a key into a committed file. ## When this skill doesn't have the answer If the user's question is not covered by `references/official/` or `references/providers/`, guide them to search existing issues on the upstream OMP repository before guessing: - Use GitHub issue search: `https://github.com/can1357/oh-my-pi/issues?q=is%3Aissue+<keywords>` - Common filters: - `is:issue is:open <error message>` - `is:issue <provider name> <config key>` - `is:issue modelRoles` - `is:issue search provider` - If no matching issue exists and the problem is reproducible, suggest opening a new issue with: - `omp --version` - Minimal config / `.omp/config.yml` snippet (redact keys) - Exact error message or unexpected behavior Do not invent workarounds that are not documented or verified by an existing issue/PR. ## See also - `references/architecture.md` — config layout, `config.yml`, `agent.db`, `.env`, `modelRoles`.
Ver en GitHub
Este SKILL.md es muy grande, por eso SkillsMP muestra aqui solo la primera seccion. Ver en GitHub