codex-agent-view 0.5.1 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +4 -5
- package/README.ko.md +55 -255
- package/README.md +52 -180
- package/package.json +14 -5
- package/public/app.js +123 -7
- package/public/index.html +1 -1
- package/public/styles.css +31 -0
- package/scripts/send-hook.mjs +13 -1
- package/src/core/monitor-store.mjs +207 -0
- package/src/core/normalize-hook-payload.mjs +75 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-agent-view",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.5.3",
|
|
4
|
+
"description": "A lightweight, read-only Codex companion plugin for monitoring live tasks and subagent activity locally in your browser, without additional ongoing model calls for monitoring.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Junho Yoon",
|
|
7
7
|
"url": "https://github.com/JunhoYoon95"
|
|
@@ -12,9 +12,8 @@
|
|
|
12
12
|
"skills": "./skills/",
|
|
13
13
|
"interface": {
|
|
14
14
|
"displayName": "Codex Agent View",
|
|
15
|
-
"shortDescription": "
|
|
16
|
-
"longDescription": "Open a read-only live view of active Codex work, privacy-minimized request summaries, participating agents, and progress in your default browser. Invoke @codex-agent-view
|
|
17
|
-
"defaultPrompt": "Open the Codex Agent View live monitor in my default browser.",
|
|
15
|
+
"shortDescription": "Live tasks and agent activity.",
|
|
16
|
+
"longDescription": "Open a lightweight, read-only live view of active Codex work, privacy-minimized request summaries, participating agents, and progress locally in your default browser. Invoke @codex-agent-view directly; no separate skill picker or $ command is required, and no starter text is inserted. The initial invocation may use a normal Codex turn, and monitored Codex tasks and subagents continue to use their normal tokens. After the live view opens, monitoring itself adds no ongoing model or external API calls.",
|
|
18
17
|
"developerName": "Junho Yoon",
|
|
19
18
|
"category": "Productivity",
|
|
20
19
|
"brandColor": "#123F35",
|
package/README.ko.md
CHANGED
|
@@ -2,306 +2,106 @@
|
|
|
2
2
|
|
|
3
3
|
> [Read in English](https://github.com/JunhoYoon95/codex-agent-view/blob/main/README.md)
|
|
4
4
|
|
|
5
|
-
Codex Agent View는 Codex
|
|
5
|
+
Codex Agent View는 Codex의 실시간 작업과 subagent 활동을 브라우저에서 로컬로 확인하는 가벼운 비공식 읽기 전용 companion plugin입니다. Codex가 처리하는 작업, 참여 중인 에이전트, 확인 가능한 할당 작업과 최근 관찰 활동을 보여줍니다. Hook 데이터는 이 기기의 제한된 process memory 안에만 유지되며, `@codex-agent-view` 한 번으로 운영체제 기본 브라우저에 실시간 화면을 엽니다.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
화면을 연 뒤의 실시간 갱신은 local hook data를 사용하며 모니터링을 위한 추가적인 지속 model 또는 외부 API inference call을 만들지 않습니다. 다만 `@codex-agent-view`를 실행하는 최초 요청은 일반 Codex turn이므로 token을 사용할 수 있고, 관찰 대상인 Codex task와 subagent도 작업 수행에 필요한 token을 평소처럼 사용합니다.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Codex를 대체하거나 작업·에이전트를 제어하지 않으며, 외부 서버·telemetry·영구 작업 기록을 사용하지 않습니다.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## 설치
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
일반 터미널에서 현재 릴리스를 설치합니다.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npm install --global codex-agent-view@0.5.
|
|
16
|
+
npm install --global codex-agent-view@0.5.3
|
|
17
17
|
codex-agent-view install
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
첫 번째 명령은 npm package를 설치하고, 두 번째 명령은
|
|
20
|
+
첫 번째 명령은 npm package를 설치하고, 두 번째 명령은 포함된 local Codex plugin을 명시적으로 등록합니다. `npm install`만으로는 Codex 설정을 바꾸지 않으며, 이 package에는 설정을 자동 변경하는 `postinstall` script가 없습니다.
|
|
21
21
|
|
|
22
|
-
설치 후에는 다음
|
|
22
|
+
설치 후에는 다음 순서를 따릅니다.
|
|
23
23
|
|
|
24
|
-
1. 설치
|
|
25
|
-
2. Codex 앱의 **Plugins** 화면에서
|
|
26
|
-
3. Hook 검토 화면이
|
|
27
|
-
4.
|
|
28
|
-
5. Plugin 카드의 **지금 사용해보기**를 누르거나 Codex 앱 task에서 `@codex-agent-view`를 선택해 전송한다. 현재 source는 로컬 monitor를 준비하거나 재사용한 뒤 인증된 화면을 운영체제 기본 브라우저에 연다.
|
|
29
|
-
6. Monitor를 보는 동안 browser tab을 열어 둔다. 닫았다면 `@codex-agent-view`를 다시 실행한다. 별도 skill을 선택하거나 localhost 주소를 복사하지 않는다.
|
|
24
|
+
1. 설치 중 Codex 앱이 열려 있었다면 완전히 종료한 뒤 다시 엽니다.
|
|
25
|
+
2. Codex 앱의 **Plugins** 화면에서 **Codex Agent View**가 설치·활성화됐는지 확인합니다.
|
|
26
|
+
3. Hook 검토 화면이 나오면 `hooks/hooks.json`과 `node "${PLUGIN_ROOT}/scripts/send-hook.mjs"` 명령을 확인하고 현재 정의를 명시적으로 trust합니다. 앱이 hook 검토 화면을 제공하지 않을 때만 설치 과정에서 interactive Codex CLI의 `/hooks`를 사용합니다.
|
|
27
|
+
4. Codex 앱에서 새 작업을 만듭니다. 설치 전에 지나간 event는 재생되지 않습니다.
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
## 사용
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
Codex 앱의 작업 입력창에서 다음 plugin을 선택해 그대로 전송합니다.
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Live UI의 기본 언어는 영어이며 language selector에서 **English**, **한국어**, **Español**을 고를 수 있다. 활동은 refresh 때 접히는 disclosure toggle 없이 계속 보이고, 2초 polling 간격도 유지한다. 각 작업에는 `UserPromptSubmit`에서 만든 첫 번째 유효 요청 요약을 표시할 수 있다. Sender는 원문 중 최대 4,096자만 검사하고 일반적인 credential, 이메일 주소, 링크와 절대 경로를 가린 뒤 한 줄·최대 180자로 제한하며 전체 요청 원문은 즉시 버린다. 이후의 짧은 follow-up은 이 첫 요약을 덮지 않는다. 실제 확인한 `SubagentStart` payload는 `agent_id`, `agent_type`만 제공하며 전용 할당 작업 설명 field가 없다. 따라서 작업 전체의 요청 요약은 보여주되 prompt나 tool input에서 에이전트별 할당 내용을 추측하지 않는다.
|
|
38
|
-
|
|
39
|
-
요약하면 설치는 터미널에서 한 번, 실행은 Codex 앱에서 `@codex-agent-view` 한 번, 모니터링은 plugin이 연 browser tab에서 한다.
|
|
40
|
-
|
|
41
|
-
### 현재 상태
|
|
42
|
-
|
|
43
|
-
현재 source는 미배포 `0.5.1` ambient-wrapper removal patch candidate다. Public `0.5.0`의 실행·인증 설계는 그대로 유지한다. `@codex-agent-view` 한 번이 bundle의 내부 capability를 실행해 view를 준비하고 기본 browser를 열며, 사용자용 `$show-agents` picker와 앱 panel은 사용 흐름에 없다. 이 patch는 original prompt의 첫 4,096자로 inspection을 제한한 뒤 닫힌 exact leading `in-app-browser-context` block을 redaction 전에 제거해 ambient UI state가 사용자의 요청 작업으로 표시되지 않게 한다. `0.5.1` publish, tag, GitHub Release, public artifact 검증과 수정 후 공식 앱 E2E는 아직 남아 있다.
|
|
44
|
-
|
|
45
|
-
Historical public `0.5.0` evidence: npm `latest`는 `0.5.0`이다. Signature가 있는 23-file registry artifact의 shasum은 `bf89ee665840e62d502551d87d7faaed2a1e0206`, integrity는 `sha512-W8rOv+0Xb5SVsFl/kXHF/vt9CJ/Su0rwDWVFWLWYWhKidZTxx+ea9Z0dtd65k3KBxucLRuwMOUJL3BtHr2p2Dw==`, SHA-256은 `e23c4ea484fa6186c17f2c564b5019a08eb6acca10f99fc85bf95e2f2757bc2c`다. Main CI `30816426733`은 Node.js 18/20/22에서 통과했다. 이 기기에 public exact `0.5.0`을 재설치해 CLI/plugin version 일치, hook wiring 9종과 `events_received: true`를 확인했다. 공식 앱은 실제 subagent start/stop을 전달했고 최종 상태는 `stopped`였다. 그 E2E에서 자동 `in-app-browser-context` text가 task summary에 섞이는 결함도 확인했으며 `0.5.1`은 이 bounded defect를 수정한다. `v0.5.0` tag와 GitHub Release는 아직 생성하지 않았다.
|
|
46
|
-
|
|
47
|
-
Historical public `0.4.8` evidence로 `npm run check` 153개 test, plugin validation과 package dry-run을 통과했다. Release 당시 npm `latest` `0.4.8`, signature가 있는 25-file registry artifact, exact global install, installed/enabled plugin `0.4.8`, hook 9종, healthy doctor, main/tag CI, annotated tag와 public GitHub Release를 확인했다. 공식 Codex 앱에서는 새 subagent start/stop이 ordered timestamp와 최종 stopped 상태로 실제 전달됐다. 그 release의 기존 in-app Browser 흐름에서도 grant 인증, fragment 제거, 같은 tab bare-root recovery 성공과 새 tab의 recovery button 부재를 확인했다. 이 release evidence는 current `0.5.1` patch candidate의 검증 근거가 아니다.
|
|
48
|
-
|
|
49
|
-
- `@codex-agent-view`/Quick start를 default-browser `open` 1회로 routing하는 내부 launch skill
|
|
50
|
-
- `.codex-plugin/plugin.json`, local marketplace catalog, single genuine Codex skill
|
|
51
|
-
- 부모 task용 `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Stop`과 subagent/tool/permission hook wiring
|
|
52
|
-
- privacy-minimized hook sender와 bounded in-memory reducer
|
|
53
|
-
- `127.0.0.1` 전용 token-authenticated local HTTP runtime
|
|
54
|
-
- 첫 trusted hook에서 backend를 내부 준비하고 최초 event 전달을 재시도하는 fail-open sender
|
|
55
|
-
- 부모 task/session, subagent, 최근 활동, permission wait 상태를 표시하는 local UI
|
|
56
|
-
- Plugin 내부 normal-use `open`과 maintainer용 `start`, `status`, `doctor`, `install`, `uninstall` CLI
|
|
57
|
-
- 명시적 설치·hook trust·제거 경로
|
|
58
|
-
|
|
59
|
-
Homebrew Codex CLI와 공식 앱에 포함된 embedded Codex executable에서는 plugin 설치와 lifecycle payload를 검증했다. 그러나 `0.2.0`을 실행 중인 공식 앱 process에 설치·enable한 실사용 재현에서는 실제 subagent 2개를 실행해도 monitor가 event를 0건 수신했다. Monitor, plugin 등록, enable, 설치 bundle은 정상이었지만 앱 log에는 sender 실행 흔적이 없었다. 같은 app process가 설치 전의 `hooks/list` snapshot을 유지한 정황이 있으며, CLI JSON으로 exact hook trust 상태를 확인할 수 없어 config snapshot과 trust 중 어느 경계에서 skip됐는지는 확정하지 않았다.
|
|
60
|
-
|
|
61
|
-
`0.2.1`은 부모 task lifecycle hook을 추가하고, `status`, `doctor`, 빈 UI가 “monitor 정상”과 “hook event 수신”을 구분하도록 개선한 patch다. 공식 Codex 앱 `26.727.40816`(`build 6067`)을 재시작하고 설치·활성화된 plugin `0.2.1`을 사용한 실제 E2E에서 task ID를 사전 등록하지 않아도 parent session 3개와 subagent 3개가 UI에 자동으로 나타났다. 실제 hook의 `SessionStart`, `UserPromptSubmit`, `Stop`, `SubagentStart`, `SubagentStop`, `PreToolUse`, `PostToolUse`, `PermissionRequest`가 sender → loopback monitor → UI 경로에 반영됐다. `SessionEnd` wiring은 포함돼 있지만 실제 공식 앱 event는 아직 관찰하지 않았으므로 호환 확인을 주장하지 않는다.
|
|
62
|
-
|
|
63
|
-
`0.3.0`의 팀장 E2E에서는 공식 앱 내장 thread tools로 `kyurasi-next-supabase`의 active task, workspace basename, title, description, explicit `inProgress` status, 최신 explicit agent commentary와 `subAgentActivity`를 확인했다. 완료 직후 list 결과가 explicit `idle`, `hasUnreadTurn: true`로 바뀌는 것도 확인했다. Skill은 이를 running/active와 분리한 `완료/확인 대기` 표시 그룹에 포함하지만, `idle + unread`만으로 완료 또는 성공을 추론하지 않는다. 별도의 hook/browser monitor에서는 실제 `SessionEnd`까지 관찰했다.
|
|
64
|
-
|
|
65
|
-
Maintainer npm 2FA는 `auth-and-writes` mode로 활성화됐고 `codex-agent-view@0.3.1`은 검증된 이전 공개 릴리스다. npm publish와 별개인 Universal Plugins Directory 제출은 아직 완료되지 않아 directory 검색에는 나타나지 않는다.
|
|
66
|
-
|
|
67
|
-
검증된 `0.2.0` 릴리스: npm `gitHead`와 annotated `v0.2.0` tag는 commit `00b62af56698ac875e39c7d1386905c157c3a7e8`로 일치하고, registry SRI/signature 및 tag source와 registry artifact의 21개 package file byte 일치를 확인했다. [GitHub Release v0.2.0](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.2.0)은 공개 상태다. 별도 npm provenance attestation은 선택 사항이며 이 릴리스에는 없다.
|
|
68
|
-
|
|
69
|
-
공개 `0.2.1` patch: registry의 `latest`, version, `Apache-2.0` license, executable mapping, 21개 package file, unpacked size `144644`, npm `gitHead` `8d6a67c9aafa23f801235d747ff018d254378970`, shasum, exact SRI와 registry signature를 확인했다. Annotated `v0.2.1` tag는 같은 commit에 생성·push됐고 [GitHub Release v0.2.1](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.2.1)이 공개됐다. Clean cache exact-version `npx --version`을 통과했으며 registry tarball 21개 file과 tagged source가 byte-identical이다. 이 기기의 global install과 copied marketplace도 같은 registry tarball 21개 file과 byte-identical이고, CLI `0.2.1`, plugin installed/enabled, hook wiring 9종, 실제 session 자동 수신과 probe subagent의 running → stopped/UI 완료 반영을 검증했다.
|
|
70
|
-
|
|
71
|
-
공개 `0.3.0`: 릴리스 당시 npm `latest`/version, `gitHead` `988132d0b525ee5e63f13a0d924810dd3f1bd93a`, shasum `08e2e5fa8c1133a1dcc3faae8f354535f9fc07b0`, exact SRI, registry signature, 21 files와 unpacked size `158.8 kB`를 확인했다. Annotated `v0.3.0` tag가 push됐고 [GitHub Release v0.3.0](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.3.0)이 공개됐다. 이 기기에 public exact `0.3.0`을 global reinstall해 plugin installed/enabled와 hook wiring 9종을 확인했다. Registry tarball과 global install의 artifact diff는 0이며 copied marketplace도 ownership marker 1개를 제외한 artifact file이 동일하다. Public install monitor에서 실제 hook, `workspace_label: codex-agent-view`, `PermissionRequest`, tool lifecycle과 probe subagent의 running → stopped 전환(`has_out_of_order_events: false`)을 확인했다.
|
|
72
|
-
|
|
73
|
-
공개 `0.3.1`: npm version/당시 `latest` `0.3.1`, `gitHead` `c515ea28be201dc24d31e13bf465a38145050b69`, shasum `4405b183012c04e7b0bc265d4eb14bf85291dcd9`, integrity `sha512-8oF5uHqZobgPt75I2ymoq3/tx4Ab1YX/cvMPjaJHjV7zxVC5Dh318isoCdsKNi6emXEbiTIdxOgX7GcclyuP8A==`, 21 files를 확인했다. Annotated `v0.3.1` tag와 [GitHub Release v0.3.1](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.3.1)이 공개됐다. 이 기기에 exact `0.3.1`을 재설치했고 plugin `installed: true`, `enabled: true`를 확인했다. Public exact `0.3.1` app-only E2E 완료는 주장하지 않는다.
|
|
74
|
-
|
|
75
|
-
공개 `0.3.2`: 배포 시 npm version/`latest` `0.3.2`, `gitHead` `4f4f92dc872d9b782efe900cc1397bdccf7d2c8a`, shasum `2851544c75a0a5fb20a2865196ab54b566b373d8`, integrity `sha512-MPwFP3CjhehkIzyV3ja0/rWzLyK4tJI7jjsczKN16aXpKEr/dvtc/aljjqW/41zatZrQG32ccKKMJjYNyW6Tww==`, registry signature, 21 files, package size `46856 B`와 unpacked size `167060 B`를 확인했다. Annotated `v0.3.2` tag와 [GitHub Release v0.3.2](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.3.2)가 공개됐고 main/tag CI가 통과했다. 이 기기의 global `0.3.2` install은 plugin `installed: true`, `enabled: true`이며 registry artifact와 mismatch가 0이다. App-native thread snapshot에서는 worker activity 3개를 확인했다. Codex 내장 Browser의 live monitor 연결은 성공했지만 재설치 전에 열려 있던 앱 process의 follow-up subagent 3개에서는 hook event가 0건이었으므로 exact `0.3.2` live hook E2E 완료를 주장하지 않는다. 이 검증에는 앱 완전 재시작과 새 task가 필요하다.
|
|
76
|
-
|
|
77
|
-
공개 `0.4.0` release 당시 evidence: npm `latest`/version, Apache-2.0 license, executable mapping, registry signature, 25 files, package size `52614 B`, unpacked size `189181 B`, shasum `cc379e593f4cafa5dd56f32e6741eab5ba3f4497`와 exact SRI를 확인했다. Registry tarball은 release tarball과 byte-identical이다. Exact tarball publish로 npm metadata에 `gitHead`가 없으므로 그 field를 통한 source 일치는 주장하지 않는다. Annotated `v0.4.0` tag는 release commit `11f7b0511a39c5f5a61cb6da7b91fb3b8e915c6b`을 가리키고 [GitHub Release v0.4.0](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.4.0), main/tag CI가 공개·성공했다. 이 기기에 public exact `0.4.0`을 다시 설치해 CLI/plugin version 일치, installed/enabled, hook wiring 9종과 실제 sessions 7개 event 수신을 확인했다. Show Agents Browser request는 재설치 중 계속 열려 있던 app process에서 `queued`였고 tab을 관찰하지 못했으므로 앱 완전 재시작/new task 전까지 exact visual-panel E2E 완료는 주장하지 않는다.
|
|
78
|
-
|
|
79
|
-
`0.4.0` known issue: manifest의 `defaultPrompt: ["Show Agents"]`는 평문 plugin-level text starter였다. 이 text는 implicit invocation이 disabled된 `show-agents` skill을 호출하지 않으므로 plugin 카드나 **바로 사용하기** 동작 자체를 skill 실행으로 취급한 안내는 잘못이었다. `0.4.1`은 이를 `Open @ and select the bundled Show Agents skill.`이라는 instructional starter로 교체했지만, 이것도 호출이 아니라 안내였다. Public `0.4.8`은 이후 명시적 skill 선택을 요구했다. 미배포 current source는 plugin에 내부 launch capability 하나만 두고 사용자용 skill-picker 단계를 없앤다. 각 public release와 exact app E2E evidence는 별도로 검증해 기록한 범위에서만 주장한다.
|
|
80
|
-
|
|
81
|
-
공개 `0.4.1`: npm `latest`/version, Apache-2.0 license, executable mapping, registry signature, 25 files, package size `53650 B`, unpacked size `193424 B`, shasum `ee2ae0b8b36016f5c57bade067027202b1508d1d`, integrity `sha512-WC4f5MPmvpkXeKM+1BVAYqW4+hoaUrB4yQFoUYgc0pnjyY7hP1CdSR5NJ3QWmvJ6Ikmmb1d+58UL4hkKoyhm1Q==`를 확인했다. Release tarball과 registry tarball은 byte-identical이다. Exact tarball publish로 npm metadata에 `gitHead`가 없으므로 그 field를 통한 source 일치는 주장하지 않는다. Annotated `v0.4.1` tag는 commit `a1de67be5413fa38b8dd1b62f74353463f6e641e`을 가리키며 [GitHub Release v0.4.1](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.4.1), main CI run `30710490358`, tag CI run `30710848474`가 공개·성공했다. 이 기기의 CLI/plugin은 `0.4.1`로 일치하고 plugin installed/enabled 및 hook wiring 9종을 확인했다. Runtime은 install 교체 중 정상 종료돼 현재 `monitor_not_running`이고 persisted hook trust는 `unknown`이다. Codex 앱 process가 설치 전부터 열려 있었으므로 앱 완전 재시작/new task 전까지 direct **Show Agents** visual E2E는 미확인이다.
|
|
82
|
-
|
|
83
|
-
공개 `0.4.2`는 plugin starter text를 `$show-agents`로 바꾸고 앱 내 재오픈 shortcut으로 의도했다. 후속 실제 앱 사용에서는 이 plugin-card starter가 bundled skill을 dispatch하지 않고 평문으로 남을 수 있음을 확인했으므로 이 문단은 더 이상 자동 skill 실행을 주장하지 않는다. Release commit `b4d923a`와 `3d8f46d`를 push했고 main CI run `30712375726`이 Node.js 18/20/22에서 통과했다. npm publish 뒤 `latest: 0.4.2`, Apache-2.0, 예상 executable mapping, 25 files, registry signature, shasum `fac95689395baa26f4ad9ff0cbefd0017d2ebd8d`, integrity `sha512-FRTPoYxjBuPC6Usb+ylSfZsZVJKlKcHnQPaAPljekg0maTPn9POsBkS+auOcHz5jspg0AXcP8R63PM0WfCn2LQ==`를 확인했다. Release/registry tarball은 byte-identical이고 annotated `v0.4.2` tag와 [GitHub Release v0.4.2](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.4.2)가 공개됐다. 이 기기의 exact global install, plugin installed/enabled, hook wiring 9종, installed artifact 일치와 공식 Codex in-app Browser visual E2E도 확인했다.
|
|
84
|
-
|
|
85
|
-
공개 `0.4.3`은 기존 앱 전용 사용 흐름을 유지하면서 live 화면 인증을 runtime 제어 권한에서 분리한다. 사용자 전용 private viewer credential은 설치 수명 동안 유지되고 `/api/state` 읽기만 허용한다. Hook event ingest와 shutdown에 사용하는 runtime/control token은 별도이며 monitor process와 함께 교체된다. `0.4.2`에서 upgrade할 때 viewer credential이 아직 없고 legacy runtime record가 유효하면 기존 token으로 viewer credential을 seed하되 값을 출력하지 않는다. 따라서 이미 열린 Codex live tab은 같은 loopback origin에서 backend가 다시 시작되면 재연결할 수 있다. 다만 task/event state는 계속 process-local bounded memory뿐이므로 monitor restart 뒤에는 빈 새 관찰 window가 시작된다.
|
|
86
|
-
|
|
87
|
-
Release commit `a7d938c`와 `e2b0543`을 push했고 main CI run `30713618590`이 Node.js 18/20/22에서 통과했다. npm `latest`/version `0.4.3`, Apache-2.0, 25 files, registry signature, shasum `2dee6bb0ae8c7b4bf505b72cf10d9ec42d5afbc7`, integrity `sha512-E0Ljs2nDuBBme9UTu66kaW66eCp8mW7BfunLaK5y3u0CVCSjRtCfC9MAJjQA91yQYpeZ1Wj2sKy7d2CW04ZOPw==`를 확인했고 local release/registry tarball은 byte-identical이다. 이 기기의 exact global `0.4.3`, plugin installed/enabled, installed artifact 일치, hook wiring 9종과 `doctor` event 수신도 확인했다. 공식 Codex in-app Browser migration E2E에서는 연결된 `0.4.2` legacy tab이 install 중 old monitor shutdown 동안 인증 오류 없이 재시도 상태를 유지했고, `0.4.3` hook sender가 monitor를 auto-start한 뒤 같은 tab이 재연결되어 workspace와 agent를 표시했다. Annotated `v0.4.3` tag는 `dea9f39890387ed509cfa0bb511c8167abe11148`을 가리키며 [GitHub Release v0.4.3](https://github.com/JunhoYoon95/codex-agent-view/releases/tag/v0.4.3)은 public, draft false, prerelease false다. Final main docs CI `30714110050`과 tag CI `30714144940`도 성공했다.
|
|
88
|
-
|
|
89
|
-
### 제품 경계
|
|
90
|
-
|
|
91
|
-
Codex Agent View는 historical audit이나 session replay 제품이 아니라 현재 활동을 보여주는 live companion이다. Bounded in-memory state와 monitor 재시작 시 reset은 privacy와 단순한 failure boundary를 위한 의도된 완성 설계다. SQLite/영구 history는 누락된 요구사항이 아니다. 실제 사용자 요구가 입증될 때에만 retention, migration, deletion, privacy 비용을 별도 검토하는 명시적 opt-in 기능 후보로 취급한다.
|
|
92
|
-
|
|
93
|
-
- Historical release는 공식 Codex 앱 내장 thread tools의 explicit status와 `subAgentActivity`를 우선하는 별도 app-native task snapshot을 제공했다. Current source는 사용자 진입점을 hook 기반 browser monitor 하나로 통합한다.
|
|
94
|
-
- Hook event는 local monitor의 세부 lifecycle 상태에 대한 source of truth다. Monitor state는 bounded memory에만 있고 재시작하면 새 관찰 window가 시작된다. 별도 private viewer credential은 task history가 아니라 인증 metadata다.
|
|
95
|
-
- `Stop`은 관찰된 root turn과 session/work-item 요약을 즉시 `completed`로 표시한다. 진행 중이던 child agent나 tool은 자체 stop/tool completion 신호를 관찰하지 못했으므로 해당 row에서 별도로 `completion_not_observed`로 표시한다. `SessionEnd`는 terminal priority를 가지며, 그 시점에도 열려 있는 child agent·tool·permission은 완료로 추정하지 않고 `interrupted`로 표시한다.
|
|
96
|
-
- 공식 `SessionEnd` 전달은 최대 30분 지연될 수 있다. 종료 hook을 관찰하지 못한 채 활동이 열린 상태로 남으면 새 event가 없는 5분 뒤 `completion_not_observed`(**종료 미확인**)로 바꾸며 `completed`로 추정하지 않는다. 지연되거나 누락된 terminal event 때문에 오래된 활동을 완료·성공으로 잘못 표시하지 않기 위한 경계다.
|
|
97
|
-
- Read-only viewer credential은 한 설치 수명 동안 monitor 재시작과 upgrade를 넘어 유지되며, runtime/control token은 별도 process-scoped credential이다.
|
|
98
|
-
- 설치·trust·앱 재시작 뒤 첫 trusted hook이 backend를 자동 준비한다. 이는 monitor process 준비이며 Codex 화면이나 tab을 몰래 생성하는 기능이 아니다.
|
|
99
|
-
- 외부 telemetry, 원격 server, account, 필수 SQLite/영구 event store가 없다.
|
|
100
|
-
- 전체 prompt 원문, transcript path, 전체 tool input/output, assistant message를 monitor 상태나 UI에 저장·표시하지 않는다. 위에서 설명한 bounded/redacted 한 줄 작업 요약만 process memory에 유지할 수 있다.
|
|
101
|
-
- 기본 monitor는 진행 중인 작업과 참여 에이전트를 먼저 정렬하고 사람이 읽을 수 있는 label/status를 우선하며, raw ID와 event name은 주 정보로 표시하지 않는다. Live card에는 session ID를 표시하지 않는다.
|
|
102
|
-
- task/subagent 중지·재시작, message 전송, permission 자동 승인·거절 기능이 없다.
|
|
103
|
-
- Sender는 기존 bounded retry와 fail-open 동작을 유지한다. Disk queue나 persistent replay가 없으므로 hook budget 안에 전달하지 못한 event를 나중에 재생하지 않는다.
|
|
104
|
-
- 별도로 실행한 App Server는 앱 내장 thread tools와 다른 process다. 공식 앱의 live source로 간주하거나 둘을 같은 API로 설명하지 않는다.
|
|
105
|
-
|
|
106
|
-
별도로 실행한 Codex `0.146` App Server의 `thread/list` fallback도 실제 확인했지만 현재 root/subagent가 모두 `notLoaded`로 나타나 공식 앱의 live running/completed 상태를 공유하지 않았다. Persisted parent ID, alias, depth 보강은 가능했지만 live 판별에는 채택하지 않았다. Historical `0.3.0`의 primary snapshot은 이 별도 server가 아니라 공식 앱이 직접 제공하는 내장 thread tools를 사용했다.
|
|
107
|
-
|
|
108
|
-
### npm, local browser view, Plugins Directory의 역할
|
|
109
|
-
|
|
110
|
-
- Current source의 plugin 카드 **지금 사용해보기**는 `@codex-agent-view` 전송과 같은 단일 흐름을 시작한다. Local monitor를 준비하거나 재사용하고 인증된 화면을 기본 browser에 연다. 사용자용 skill picker, monitor command, task ID 등록은 필요 없다.
|
|
111
|
-
- npm은 plugin bundle, 내부 hook sender/runtime과 static UI를 사용자 machine에 배포하는 최초 설치 경로다.
|
|
112
|
-
- Live view는 운영체제 기본 browser에 표시하는 local-only page이며 hosted website나 telemetry dashboard가 아니다. Plugin이 열기 때문에 사용자가 private localhost URL을 복사하지 않는다.
|
|
113
|
-
- 공개 plugin API로 이 흐름의 sidebar, panel 또는 in-app Browser tab을 안정적으로 생성할 수 없다. 이전에 인증된 browser tab은 fixed family lifetime 안의 일시적 오류에서 다시 연결할 수 있다. 닫힌 tab, 인증 정보가 없는 새 tab, 만료된 family는 `@codex-agent-view`를 다시 실행해 안전하게 새로 연다.
|
|
114
|
-
- Universal Plugins Directory는 npm의 대체재가 아니다. 공개 directory의 in-app custom UI 경로는 public HTTPS MCP server와 domain verification이 필요해 local-only/no-external-server 원칙과 충돌한다. 현재는 별도의 listing/skills 제출 가능성만 검토하며, 심사·publish 전에는 Codex plugin 검색으로 설치할 수 있다고 안내하지 않는다.
|
|
115
|
-
|
|
116
|
-
Hook event가 누락·중복·역순으로 올 수 있으므로 UI의 `unknown`, `stopped_without_start`, 빈 상태는 그대로 해석해야 한다. 빈 session 목록은 “이 monitor가 event를 관찰하지 못함”이며 “실행 중인 task가 없음”의 증거가 아니다.
|
|
117
|
-
|
|
118
|
-
### 공식 Codex 앱에서 실행 — 권장
|
|
119
|
-
|
|
120
|
-
이 절차는 위의 빠른 시작에서 설치와 활성화를 마친 뒤 **새 task**에서 수행한다. Codex 앱이 실행을 시작하고 monitor 자체는 운영체제 기본 browser에 유지된다.
|
|
121
|
-
|
|
122
|
-
1. Codex Agent View plugin 카드의 **지금 사용해보기**를 누르거나 Codex 앱 task에서 `@codex-agent-view`를 선택해 전송한다.
|
|
123
|
-
2. Plugin의 단일 내부 execution capability가 trusted hook이 자동 준비한 backend를 재사용하거나 아직 없으면 준비한 뒤 인증된 live view를 기본 browser에 연다. 별도 `$show-agents` 선택은 없다.
|
|
124
|
-
3. Page는 `CODEX_THREAD_ID`로 이 viewer 호출 task를 제외하고, 나머지 진행 중인 작업과 참여 에이전트를 먼저 배치하며 사람이 읽을 수 있는 프로젝트·요청 요약·에이전트·상태 문구를 표시한다. Session ID는 표시하지 않으며 전체 요청 원문, preview, tool input/output과 full workspace path도 숨긴다.
|
|
125
|
-
4. Language selector에서 **English**, **한국어**, **Español**을 선택한다. 기본값은 영어이고 언어 전환 뒤에도 2초 refresh는 유지된다.
|
|
126
|
-
5. Monitor를 보는 동안 browser tab을 열어 둔다. 운영체제가 browser를 열지 못하면 private authenticated localhost URL을 출력하지 않고 실패를 안내한다.
|
|
127
|
-
|
|
128
|
-
Browser tab을 닫았다면 `@codex-agent-view`를 다시 실행한다. Fixed 30분 family 동안 같은 tab은 recovery를 `sessionStorage`에만 보관하고 15분 access를 자동 갱신하며, 일시적인 page-level access 실패에 **다시 연결** button을 표시한다. 다른 tab이나 인증 이력이 없는 tab에는 recovery가 없고 family 만료 뒤에도 recovery는 무효다. 어느 경우든 `@codex-agent-view`를 다시 실행한다. 복구에 terminal command, private URL 복사, cookie 또는 CORS access는 필요 없다. Monitor restart는 새 in-memory 관찰 window를 시작하고 이전 process의 미사용 bootstrap을 즉시 무효화한다.
|
|
129
|
-
|
|
130
|
-
### 요구사항과 검증 범위
|
|
131
|
-
|
|
132
|
-
- Node.js `>=18`
|
|
133
|
-
- npm
|
|
134
|
-
- plugin command를 지원하는 Codex CLI 또는 공식 Codex 앱
|
|
135
|
-
|
|
136
|
-
아래 버전은 현재 테스트 matrix이며 지원 하한 보장이 아니다.
|
|
137
|
-
|
|
138
|
-
| Runtime | 확인된 버전 | 확인 범위 |
|
|
139
|
-
| --- | --- | --- |
|
|
140
|
-
| 공식 Codex 앱 | `26.727.40816` (`build 6067`) | `0.3.0` public release에서 app-native task snapshot, 실제 `SessionEnd`, workspace label, permission/tool lifecycle과 subagent running → stopped 확인 |
|
|
141
|
-
| 앱 embedded Codex | `0.146.0-alpha.9.2` | isolated plugin install/runtime 및 lifecycle probe |
|
|
142
|
-
| Homebrew Codex CLI | `0.146.0` | isolated plugin install/runtime probe |
|
|
143
|
-
|
|
144
|
-
다른 버전은 별도 검증이 필요하다.
|
|
145
|
-
|
|
146
|
-
### Source에서 검증
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
git clone https://github.com/JunhoYoon95/codex-agent-view.git
|
|
150
|
-
cd codex-agent-view
|
|
151
|
-
npm test
|
|
152
|
-
npm run validate:plugin
|
|
153
|
-
npm run check
|
|
33
|
+
```text
|
|
34
|
+
@codex-agent-view
|
|
154
35
|
```
|
|
155
36
|
|
|
156
|
-
|
|
37
|
+
일반 사용 명령은 이것뿐입니다. Plugin이 local monitor를 준비하거나 재사용하고 운영체제 기본 브라우저에 인증된 실시간 화면을 엽니다.
|
|
157
38
|
|
|
158
|
-
- `
|
|
159
|
-
-
|
|
160
|
-
-
|
|
39
|
+
- 별도 `$show-agents` skill을 선택하지 않습니다.
|
|
40
|
+
- 터미널에서 monitor를 시작하지 않습니다.
|
|
41
|
+
- localhost 주소를 복사하거나 관리하지 않습니다.
|
|
42
|
+
- 브라우저 탭을 닫아도 Codex 작업은 중단되지 않습니다. 새 인증 탭이 필요하면 `@codex-agent-view`를 다시 실행합니다.
|
|
161
43
|
|
|
162
|
-
|
|
44
|
+
공개 Codex plugin API는 이 흐름을 위한 앱 sidebar나 in-app panel 자동 생성을 안정적으로 제공하지 않으므로, 운영체제 기본 브라우저가 지원하는 표시 화면입니다.
|
|
163
45
|
|
|
164
|
-
|
|
46
|
+
## 화면에 표시되는 정보
|
|
165
47
|
|
|
166
|
-
|
|
48
|
+
실시간 화면의 기본 언어는 영어이며 한국어와 스페인어도 선택할 수 있습니다. 에이전트 상세 내용을 접지 않은 상태로 2초마다 갱신합니다.
|
|
167
49
|
|
|
168
|
-
|
|
169
|
-
node bin/codex-agent-view.mjs --version
|
|
170
|
-
node bin/codex-agent-view.mjs doctor --json
|
|
171
|
-
node bin/codex-agent-view.mjs install
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
`install`은 package bundle을 `~/.codex-agent-view/marketplace` 기본 경로에 복사하고 local marketplace와 `codex-agent-view@codex-agent-view` plugin을 Codex CLI에 등록한다. `CODEX_AGENT_VIEW_RUNTIME_DIR`로 runtime root를 바꿀 수 있다.
|
|
175
|
-
|
|
176
|
-
이 명령은 npm lifecycle에서 자동 실행되지 않는다. `package.json`에는 `postinstall`이 없으며, 사용자가 `install`을 명시적으로 실행해야 Codex 등록이 바뀐다.
|
|
177
|
-
|
|
178
|
-
### Plugin과 hook trust
|
|
179
|
-
|
|
180
|
-
1. install 출력과 `codex plugin list`에서 plugin ID와 source를 확인한다.
|
|
181
|
-
2. 공식 앱의 Plugins Directory 또는 CLI `/plugins`에서 plugin이 설치·활성화됐는지 확인한다.
|
|
182
|
-
3. CLI TUI composer의 `/hooks` 또는 공식 앱의 해당 hook review UI에서 `hooks/hooks.json`과 `node "${PLUGIN_ROOT}/scripts/send-hook.mjs"` command를 검토한다.
|
|
183
|
-
4. 현재 hook definition의 exact hash를 사용자가 직접 trust한다.
|
|
184
|
-
5. Plugin 설치 전부터 공식 앱이 열려 있었다면 앱을 완전히 종료·재실행한다.
|
|
185
|
-
6. 반드시 plugin 활성화와 hook trust 이후에 **새 task**를 만든다. 설치·trust 전에 발생한 event는 재생되지 않는다.
|
|
186
|
-
|
|
187
|
-
`/hooks`는 CLI TUI command이며 `codex /hooks`라는 shell command가 아니다. Hook definition이 바뀌면 hash도 바뀌므로 다시 검토한다. 일반 설치에서 trust-bypass option을 사용하지 않는다.
|
|
188
|
-
|
|
189
|
-
### Maintainer·고급 진단 전용 CLI
|
|
190
|
-
|
|
191
|
-
이 절은 package 개발자와 문제 보고를 위한 진단 참고 자료이며 일반 사용자 사용법이 아니다. 설치가 끝난 사용자는 `@codex-agent-view`를 한 번 실행하고 plugin이 연 browser tab을 사용한다. 아래 명령과 localhost 주소를 정상 사용 순서에 넣거나 사용자에게 직접 관리하도록 요구하지 않는다.
|
|
192
|
-
|
|
193
|
-
Source checkout에서 local runtime을 별도로 검증해야 할 때만 다음처럼 실행할 수 있다.
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
node bin/codex-agent-view.mjs start --no-open
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Runtime은 loopback interface에만 bind된다. `--no-open`은 운영체제의 외부 browser를 열지 않는 진단용 형태다. 출력되는 tokenized URL은 비밀로 취급하고 공유하거나 문서·issue에 붙이지 않는다.
|
|
200
|
-
|
|
201
|
-
다른 terminal에서 상태를 확인한다.
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
node bin/codex-agent-view.mjs status
|
|
205
|
-
node bin/codex-agent-view.mjs status --json
|
|
206
|
-
node bin/codex-agent-view.mjs doctor --json
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
- `status`는 실행 중 monitor가 관찰한 task/session과 subagent 수를 읽는다.
|
|
210
|
-
- `status --json`은 hook 기반 snapshot과 bounded diagnostics를 반환한다.
|
|
211
|
-
- `doctor`는 Codex CLI, plugin 설치·enable, 설치된 hook bundle, monitor event 수신 여부, runtime directory를 진단한다.
|
|
212
|
-
- `doctor`의 hook trust는 `unknown`일 수 있다. `codex plugin list --json`은 persisted exact-hook trust를 노출하지 않으므로 interactive Codex CLI의 `/hooks`에서 직접 확인한다.
|
|
213
|
-
- `Ctrl+C`는 monitor를 종료하며 in-memory state와 정상 종료된 runtime file을 정리한다.
|
|
214
|
-
|
|
215
|
-
Backend가 없으면 trusted hook sender가 외부 browser 없이 detached backend를 내부 준비하고 같은 최소화 event 전달을 짧게 재시도한다. 제한 시간 안에 준비할 수 없으면 sender는 fail-open으로 끝나 Codex task를 막지 않는다. 실패한 event를 disk에 적재하거나 영구 복구하지 않는다.
|
|
50
|
+
각 작업에는 짧게 정제된 요청 개요가 표시될 수 있습니다. 각 에이전트 카드에는 다음 정보가 표시될 수 있습니다.
|
|
216
51
|
|
|
217
|
-
|
|
52
|
+
- **할당 작업** — 검증된 spawn 후보 하나와 새 에이전트 하나를 모호함 없이 연결할 수 있을 때만 제한된 요약을 표시합니다. 현재 관찰한 공식 앱 payload에서는 보호된 spawn message가 불투명하므로 사람이 읽도록 안전하게 정리한 task label을 주 근거로 사용합니다. 동시 실행, 모호함, 만료 또는 보호된 값은 추측하거나 표시하지 않습니다.
|
|
53
|
+
- **현재 활동** — 파일 수정 진행 중이나 최근 터미널 작업 완료처럼 사람이 읽을 수 있는 문구입니다. 관찰된 tool lifecycle의 정확한 `turn_id`가 단 하나의 에이전트와 일치할 때만 표시합니다.
|
|
218
54
|
|
|
219
|
-
|
|
55
|
+
이 정보는 관찰 가능한 할당 및 tool lifecycle 신호이며 에이전트의 내부 생각이 아닙니다. Monitor는 원본 spawn message, 전체 prompt, 전체 tool input 또는 전체 tool output을 보관하거나 표시하지 않습니다. 정보가 없거나 연결이 모호하면 발생 시각으로 추측하지 않고 확인 불가로 둡니다.
|
|
220
56
|
|
|
221
|
-
|
|
57
|
+
## 재연결과 복구
|
|
222
58
|
|
|
223
|
-
|
|
224
|
-
npm install --global codex-agent-view@0.5.0
|
|
225
|
-
codex-agent-view install
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
위 두 명령이 성공한 뒤에는 Codex 앱을 완전히 다시 열고 Plugins 화면에서 설치·활성화와 hook trust를 확인한 다음 새 task를 만든다. 첫 trusted hook이 backend 준비와 event 전달을 내부 처리하므로 사용자가 monitor CLI를 실행하지 않는다. `@codex-agent-view`를 한 번 실행해 기본 browser를 열고 tab을 닫았다면 다시 실행한다.
|
|
229
|
-
|
|
230
|
-
Public `0.5.0` 설치 경로는 위의 global package 설치와 명시적인 `codex-agent-view install` command 조합이다. Upgrade의 explicit `install`은 authenticated maintenance lifecycle로 registration과 bundle을 교체한다. Installation-owned viewer credential과 historical migration 경계는 보존한다. Launch workflow는 persistent token을 출력하지 않고 viewer credential이나 runtime/control bearer를 browser target에 넣지 않는다.
|
|
59
|
+
열린 탭의 짧은 read-only access는 고정된 credential family 수명 안에서만 갱신됩니다.
|
|
231
60
|
|
|
232
|
-
|
|
61
|
+
- 이전에 인증된 같은 탭에서 일시적인 연결·접근 오류가 생기면 **다시 연결**을 사용합니다.
|
|
62
|
+
- 복구 정보는 `localStorage`가 아니라 탭 단위 `sessionStorage`에 있으므로 새 탭에는 인증이 전달되지 않습니다.
|
|
63
|
+
- 탭을 닫았거나 credential family가 만료됐거나 일회용 grant 교환 전에 monitor가 재시작됐다면 `@codex-agent-view`를 다시 실행합니다.
|
|
233
64
|
|
|
234
|
-
|
|
65
|
+
Private target과 credential은 browser launcher에 직접 전달되며 사용자가 복사하도록 출력하지 않습니다.
|
|
235
66
|
|
|
236
|
-
|
|
67
|
+
## 개인정보와 신뢰 경계
|
|
237
68
|
|
|
238
|
-
|
|
69
|
+
- Monitor는 IPv4 loopback(`127.0.0.1`)에만 연결되며 외부 telemetry, hosted backend, SQLite 또는 원격 event store가 없습니다.
|
|
70
|
+
- 실시간 운영 상태는 제한된 process memory에만 존재하고 monitor 재시작 시 초기화됩니다.
|
|
71
|
+
- Sender는 hook payload를 전달 전에 최소화합니다. 짧은 작업 개요는 로컬에서 가림 처리하고 길이를 제한하며, 정상 monitor 경로는 원본 prompt와 tool 내용을 보관하지 않습니다.
|
|
72
|
+
- Plugin은 읽기 전용입니다. 작업 중지, 메시지 전송, permission request 응답 또는 action 승인을 수행할 수 없습니다.
|
|
73
|
+
- Hook 명령은 사용자 계정 권한으로 로컬에서 실행됩니다. 사용 전에 정확한 hook 정의를 검토하고 명시적으로 trust해야 합니다.
|
|
239
74
|
|
|
240
|
-
|
|
75
|
+
전체 경계는 [개인정보 처리](docs/privacy.md), [보안](SECURITY.md), [이용 조건](docs/terms.md)을 확인하세요.
|
|
241
76
|
|
|
242
|
-
|
|
77
|
+
## 제거
|
|
243
78
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
### 제거와 복구
|
|
247
|
-
|
|
248
|
-
제거는 최초 설치와 마찬가지로 terminal을 사용하는 명시적 lifecycle 작업이다. Auto-start된 detached monitor와 maintainer가 실행한 foreground monitor 모두 별도로 먼저 종료할 필요 없이 다음 명령을 실행한다.
|
|
79
|
+
터미널에서 명시적인 lifecycle 명령을 실행합니다.
|
|
249
80
|
|
|
250
81
|
```bash
|
|
251
82
|
codex-agent-view uninstall
|
|
252
83
|
```
|
|
253
84
|
|
|
254
|
-
|
|
85
|
+
이 명령은 Codex Agent View가 소유한 monitor만 인증해 종료한 뒤 plugin과 copied marketplace 등록을 제거합니다. 소유권을 확인하지 못하면 불확실한 파일을 삭제하거나 다른 loopback service를 종료하지 않고 실패합니다.
|
|
255
86
|
|
|
256
|
-
|
|
87
|
+
확인된 소유 runtime 데이터까지 안전하게 제거하려면 다음을 사용합니다.
|
|
257
88
|
|
|
258
89
|
```bash
|
|
259
90
|
codex-agent-view uninstall --purge
|
|
260
91
|
```
|
|
261
92
|
|
|
262
|
-
`--purge`도
|
|
263
|
-
|
|
264
|
-
Source checkout을 직접 실행한 경우에만 같은 명령의 `node bin/codex-agent-view.mjs uninstall` 또는 `node bin/codex-agent-view.mjs uninstall --purge` 형식을 사용한다.
|
|
265
|
-
|
|
266
|
-
별도 `PLUGIN_DATA`, `CODEX_AGENT_VIEW_CAPTURE_DIR`, project working directory에 만든 opt-in diagnostic capture는 runtime directory 밖에 있을 수 있다. 정확한 위치를 검토해 별도로 정리하고 broad Codex/home directory를 삭제하지 않는다.
|
|
267
|
-
|
|
268
|
-
### Maintainer troubleshooting
|
|
269
|
-
|
|
270
|
-
이 절의 CLI 확인은 명시적인 문제 조사용이다. 정상 사용자는 plugin 카드 또는 앱 picker에서 `@codex-agent-view`를 한 번 실행하고 plugin이 연 browser tab을 사용한다.
|
|
271
|
-
|
|
272
|
-
#### `status`가 runtime file 또는 connection error를 출력함
|
|
273
|
-
|
|
274
|
-
```bash
|
|
275
|
-
node bin/codex-agent-view.mjs doctor --json
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
Monitor가 실행 중인지, stale runtime file인지, runtime directory가 예상한 위치인지 확인한다. 진단 과정에서 runtime을 직접 시작해야 한다면 외부 browser를 열지 않는 `start --no-open`만 사용한다.
|
|
279
|
-
|
|
280
|
-
#### UI에 task/subagent가 없음
|
|
281
|
-
|
|
282
|
-
다음 순서대로 확인한다.
|
|
283
|
-
|
|
284
|
-
1. `codex-agent-view doctor --json`에서 plugin `installed`, `enabled`, hook bundle `wiring_ok`, monitor `ok`를 확인한다.
|
|
285
|
-
2. `monitor.events_received`가 `false`라면 monitor 연결 성공과 hook 전달 성공을 혼동하지 않는다.
|
|
286
|
-
3. Interactive Codex CLI의 `/hooks`에서 현재 `send-hook.mjs` definition의 exact hash를 검토하고 trust한다.
|
|
287
|
-
4. Plugin 설치 전에 열려 있던 공식 앱은 완전히 종료·재실행한다.
|
|
288
|
-
5. Plugin enable/trust 뒤 만든 새 task에서 parent prompt와 subagent를 실행한다.
|
|
289
|
-
|
|
290
|
-
빈 상태는 “이 monitor observation window에 event가 도착하지 않음”을 뜻한다. Codex에 실행 중인 task가 없다는 뜻도, 반대로 GUI가 hook을 절대 지원하지 않는다는 뜻도 아니다. 위 절차 뒤에도 `events_received: false`이면 Codex 앱 version, plugin version, 앱/CLI 구분을 포함해 issue로 보고한다.
|
|
93
|
+
`--purge`도 형식을 알 수 없는 파일, 관련 없는 service, 비어 있지 않은 directory와 별도 opt-in diagnostic capture를 보존합니다. Capture가 있다면 정확한 경로를 확인해 따로 제거하고, 정리를 위해 넓은 Codex directory나 home directory를 삭제하지 마세요.
|
|
291
94
|
|
|
292
|
-
|
|
95
|
+
## 릴리스 및 프로젝트 문서
|
|
293
96
|
|
|
294
|
-
|
|
97
|
+
Registry digest, exact reinstall, CI, tag와 GitHub Release를 포함한 공개·검증 증거는 변경할 수 없는 npm package README 밖의 [배포 문서](docs/distribution.md)에 기록합니다.
|
|
295
98
|
|
|
296
|
-
|
|
99
|
+
npm 공개와 Universal Plugins Directory 제출은 별도 절차입니다. Directory validator 호환성, portal/reviewer acceptance, 검색 노출과 promptless plugin-card Quick start 동작은 아직 확인하지 않았으며 이 문서에서 지원을 주장하지 않습니다.
|
|
297
100
|
|
|
298
|
-
- [
|
|
299
|
-
- [
|
|
300
|
-
- [
|
|
301
|
-
- [
|
|
302
|
-
- [
|
|
303
|
-
- [Terms](docs/terms.md)
|
|
304
|
-
- [Support](SUPPORT.md)
|
|
305
|
-
- [Security](SECURITY.md)
|
|
101
|
+
- [배포 및 릴리스 증거](docs/distribution.md)
|
|
102
|
+
- [Plugin Directory 제출 상태](docs/plugin-submission.md)
|
|
103
|
+
- [기술 검증 결과](docs/phase-0-findings.md)
|
|
104
|
+
- [로드맵](ROADMAP.md)
|
|
105
|
+
- [지원](SUPPORT.md)
|
|
306
106
|
|
|
307
|
-
Copyright 2026 Junho Yoon. Apache License 2.0
|
|
107
|
+
Copyright 2026 Junho Yoon. Apache License 2.0으로 배포합니다. [LICENSE](LICENSE)와 [NOTICE](NOTICE)를 확인하세요.
|