{"id":"bd7a57fe-138c-4e9d-8780-9ca019fece2f","slug":"codex-agent-view","kind":"skill","name":"codex-agent-view","summary":"A lightweight, read-only dashboard plugin for monitoring Codex tasks and subagents in real time.","owner":"JunhoYoon95","repoUrl":"https://github.com/JunhoYoon95/codex-agent-view","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-07-31T16:26:20.000Z","addedAt":"2026-10-21T14:31:58.649Z","logoUrl":"https://avatars.githubusercontent.com/u/39542989?u=4dace0a016c614b0c566fdc7719b2676bfb6460d&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","developer-tools","data-analytics"],"tags":["agent-monitoring","ai-agents","codex","codex-plugin","developer-tools","local-first","multi-agent","npm-package"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T04:02:18.430Z","sample":false,"url":"https://conduits.dev/tools/codex-agent-view","language":"JavaScript","transports":["stdio"],"install":{"npm":"codex-agent-view"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Codex Agent View\n\n> [Read in Korean](https://github.com/JunhoYoon95/codex-agent-view/blob/main/README.ko.md)\n\nCodex Agent View is a lightweight, unofficial, read-only companion plugin for monitoring live Codex tasks and subagent activity locally in your browser. It shows the work Codex is handling, the participating agents, their assigned work when it can be verified, and their latest observable activity. Hook data stays on this device in bounded process memory, and one `@codex-agent-view` invocation opens the live view in the operating system's default browser.\n\nOpen each view with one lightweight `@codex-agent-view` invocation. Once open, live monitoring runs locally with no additional model calls. The Codex tasks and subagents being monitored continue their normal model and token usage.\n\nIt does not replace Codex, control tasks or agents, run a hosted service, send telemetry, or keep a persistent event history.\n\n## Quick start\n\nInstall the current release from a regular terminal:\n\n```bash\ncodex --version\n```\n\nIf the `codex` executable on your PATH was installed through npm, update it and verify the selected version again:\n\n```bash\nnpm install --global @openai/codex@latest\ncodex --version\n```\n\nIf Codex came from another install channel, update it through that channel instead. Then install the plugin package:\n\n```bash\nnpm install --global codex-agent-view@0.5.6\ncodex-agent-view install\n```\n\nThe `0.5.6` installer copies the bundled plugin into a strict marketplace subdirectory before registration, avoiding the marketplace-root discovery failure in `0.5.5`.\n\nThe npm command installs the package. `codex-agent-view install` copies and explicitly registers its bundled local Codex plugin. `npm install` alone does not modify Codex settings, and this package has no `postinstall` script that does so.\n\nThen:\n\n1. In the Codex app's **Plugins** screen, confirm that **Codex Agent View** is installed and enabled.\n2. In its **Hooks** section, choose **Review**, inspect `hooks/hooks.json` and the `node \"${PLUGIN_ROOT}/scripts/send-hook.mjs\"` command, then choose **Trust all** for the current definitions. Only if the app has no hook-review UI, use `/hooks` in the interactive Codex CLI.\n3. Quit Codex completely and reopen it.\n4. Create a new Codex task. Events from before installation are not replayed.\n\nPersisted hook trust is not exposed by the current programmatic plugin status, so the browser and `doctor` cannot confirm that approval; verify it in the Codex app or interactive `/hooks` UI.\n\n## Use\n\nIn a Codex app task, select and send:\n\n```text\n@codex-agent-view\n```\n\nThat is the whole normal-use command. The plugin prepares or reuses its local monitor and opens an authenticated live view in your operating system's default browser.\n\n- Do not select a separate `$show-agents` skill.\n- Do not start the monitor in a terminal.\n- Do not copy or manage a localhost URL.\n- Closing the browser tab does not stop Codex work. Invoke `@codex-agent-view` again when you want a new authenticated tab.\n- The task used to open the viewer is hidden from the view itself, so use a separate viewer task to monitor the work you care about.\n\nThe public Codex plugin API does not provide a reliable automatic app sidebar or in-app panel for this workflow, so the default browser is the supported display surface.\n\n## What the view shows\n\nThe live view defaults to English and also supports Korean and Spanish. It refreshes every two seconds without collapsing agent details. The **Work status filter** matches each parent work item's current status only; nested agent statuses and recent activity history do not cause a card to match a different status.\n\nEach work item can include a short, redacted request summary. Each agent card can show:\n\n- **Assigned work** — no exact upstream correlation ID has been observed for this mapping. A bounded summary is therefore matched on a best-effort basis only when one verified spawn candidate and one newly observed agent are the sole candidates in the bounded window. In the currently observed official-app payload, the protected spawn message is opaque, so a safely humanized task label is the primary usable source. When several agents are spawned concurrently and the mapping is ambiguous, assignment details intentionally remain unavailable instead of being guessed; expired or protected values are likewise not displayed.\n- **Current activity** — a human-readable description such as a file edit in progress or a recently completed terminal action. It is shown only when the observed tool lifecycle has the exact `turn_id` of one and only one agent.\n\nThese fields describe observable assignment and tool lifecycle signals, not an agent's internal reasoning. The monitor does not retain or display raw spawn messages, full prompts, full tool input, or full tool output. Missing or ambiguous information remains unavailable instead of being inferred from timing.\n\n## Reconnect and recovery\n\nThe opened tab refreshes its short-lived read-only access only within one fixed credential-family lifetime.\n\n- For a temporary connection or access error in the same previously authenticated tab, use **Reconnect**.\n- A new tab has no inherited credential because recovery is stored in tab-scoped `sessionStorage`, not `localStorage`.\n- If the tab was closed, the credential family expired, or the monitor restarted before the one-use grant was exchanged, invoke `@codex-agent-view` again.\n\nThe private target and credentials are passed directly to the browser launcher. They are not printed for users to copy.\n\n## Privacy and trust boundary\n\n- The monitor binds only to IPv4 loopback (`127.0.0.1`) and has no external telemetry, hosted backend, SQLite database, or remote event store.\n- Live operational state exists only in bounded process memory and resets when the monitor restarts.\n- The sender minimizes hook payloads before delivery. A short task summary is locally redacted and bounded; raw prompt and tool content are not retained by the normal monitor path.\n- The plugin is read-only. It cannot stop tasks, send messages, answer permission requests, or approve actions.\n- Hook commands execute locally with your user account's permissions. Review and explicitly trust the exact hook definition before use.\n\nSee [Privacy](docs/privacy.md), [Security](SECURITY.md), and [Terms](docs/terms.md) for the complete boundaries.\n\n## Uninstall\n\nUse the explicit lifecycle command from a terminal:\n\n```bash\ncodex-agent-view uninstall\n```\n\nIt authenticates and stops only an owned Codex Agent View monitor, then removes the plugin and copied marketplace registration. If ownership cannot be verified, it fails without deleting uncertain files or stopping another loopback service.\n\nTo also remove only recognized owned runtime data when safe:\n\n```bash\ncodex-agent-view uninstall --purge\n```\n\n`--purge` preserves unrecognized files, unrelated services, non-empty directories, and separately stored opt-in diagnostic captures. Inspect and remove any such capture by its exact path; never delete a broad Codex or home directory as a cleanup shortcut.\n\n## Release and project documentation\n\nRelease publication and verification evidence is recorded outside the immutable npm package README in [Distribution](docs/distribution.md), including registry digests, this-device compatible-CLI reinstall checks, CI, tags, and GitHub Releases. Those checks did not verify a clean cross-device first install; the compatibility failure above is now recorded separately.\n\nnpm publication is separate from submission to the Universal Plugins Directory. Directory validator compatibility, portal/reviewer acceptance, search exposure, and promptless plugin-card Quick start behavior remain unverified and are not claimed here.\n\n- [Distribution and release evidence](docs/distribution.md)\n- [Plugin directory submission status](docs/plugin-submission.md)\n- [Technical findings](docs/phase-0-findings.md)\n- [Roadmap](ROADMAP.md)\n- [Support](SUPPORT.md)\n\nCopyright 2026 Junho Yoon. Licensed under the Apache License 2.0; see [LICENSE](LICENSE) and [NOTICE](NOTICE).\n"}