Skip to content

Feature request: support the Oh My Pi (omp) agent harness (transcript adapter or documented custom watch schema) #3355

Description

@FernandeZ-hjm

Feature request: support the Oh My Pi (omp) agent harness

TL;DR claude-mem's read path (MCP search tools) already works inside omp sessions, but the capture path doesn't: the worker never sees omp sessions (activeSessions: 0), because omp doesn't emit Claude Code hook events and has no built-in transcript watcher schema. Request: an omp transcript adapter, or a documented custom-schema format so the community can write one.

What is omp

Oh My Pi is a coding-agent harness (terminal UI, subagents, MCP xd:// tool devices) used with models such as kimi-code. Like Claude Code/Codex/Cursor, it persists full session transcripts as JSONL:

~/.omp/agent/sessions/<project-slug>/<timestamp>_<session-id>.jsonl
~/.omp/agent/sessions/<project-slug>/<timestamp>_<session-id>/<subagent>.jsonl

Example event types observed in a real transcript:

title, session, model_change, thinking_level_change,
custom_message, message, text, custom, thinking, task, path, title_change

Example lines:

{"type":"session","version":3,"id":"019f8762-...","timestamp":"2026-07-22T01:13:02.183Z","cwd":"/Users/x/AI 工作站","title":"Check claude-mem injection status"}
{"type":"message", ...}

Current behavior in omp

  • The claude-mem MCP tools (mcp-search: search / timeline / get_observations / corpora) load fine in omp and can read existing memory.
  • observation_add rejects with requires CLAUDE_MEM_RUNTIME=server (omp runs worker mode).
  • Worker /api/health reports activeSessions: 0 while an omp session is actively running — nothing is captured, nothing is injected.

Why this should be feasible

claude-mem already generalizes capture beyond Claude Code:

  • built-in watchers for codex / cursor / gemini transcripts (sessions_codex_count, sessions_gemini_count in the DB)
  • user-defined watches + schemas via ~/.claude-mem/transcript-watch.json (resolveSchema reads config.schemas[name])

So the missing piece is either:

  1. A built-in omp schema in the transcript watcher (preferred), or
  2. Documentation of the custom schema format expected by transcript-watch.json — the watcher code is bundled/minified, so writing a correct third-party schema today requires reverse engineering. With a documented schema contract (event mapping: user prompt / assistant message / tool call / tool result / session start/end), the community could contribute adapters for omp and other harnesses.

Offer

Happy to provide full sample omp transcripts, test builds, or contribute the adapter if the schema contract is documented.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions