codex-devtools 0.1.1 → 0.1.2
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/README.md
CHANGED
|
@@ -1,117 +1,124 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="resources/logo.png" width="120" alt="codex-devtools logo" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">codex-devtools</h1>
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
Desktop inspector for <a href="https://github.com/openai/codex">Codex</a> session data.
|
|
9
|
+
<br />
|
|
10
|
+
Browse conversations, search messages, and analyze agent activity across sessions.
|
|
11
|
+
</p>
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
-
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://www.npmjs.com/package/codex-devtools"><img src="https://img.shields.io/npm/v/codex-devtools" alt="npm version" /></a>
|
|
15
|
+
<a href="https://github.com/gulivan/codex-devtools/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/codex-devtools" alt="license" /></a>
|
|
16
|
+
</p>
|
|
9
17
|
|
|
10
|
-
|
|
18
|
+
---
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
cd /Users/ivan/git/codex-devtools
|
|
14
|
-
corepack enable
|
|
15
|
-
pnpm install
|
|
16
|
-
pnpm approve-builds
|
|
17
|
-
```
|
|
20
|
+
## Quick start
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- `electron`
|
|
22
|
-
- `esbuild`
|
|
23
|
-
|
|
24
|
-
Then start the desktop app in development mode:
|
|
22
|
+
> Requires **Node.js 20+** and **pnpm 10** (Corepack recommended).
|
|
25
23
|
|
|
26
24
|
```bash
|
|
27
|
-
|
|
25
|
+
git clone https://github.com/gulivan/codex-devtools.git
|
|
26
|
+
cd codex-devtools
|
|
27
|
+
corepack enable
|
|
28
|
+
pnpm install
|
|
29
|
+
pnpm approve-builds # approve electron and esbuild
|
|
30
|
+
pnpm dev # launch Electron app in dev mode
|
|
28
31
|
```
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
Or run instantly via npm without cloning:
|
|
31
34
|
|
|
32
35
|
```bash
|
|
33
|
-
|
|
36
|
+
npx codex-devtools
|
|
37
|
+
# or
|
|
38
|
+
bunx codex-devtools
|
|
34
39
|
```
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
This starts a standalone HTTP server at `http://localhost:3456`.
|
|
37
42
|
|
|
38
|
-
|
|
39
|
-
- `out/renderer`
|
|
43
|
+
## Standalone mode
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
Run as an HTTP server without Electron:
|
|
42
46
|
|
|
43
47
|
```bash
|
|
44
|
-
pnpm
|
|
48
|
+
pnpm standalone
|
|
45
49
|
```
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- `pnpm dist:mac` (macOS: `.dmg`, `.zip`)
|
|
50
|
-
- `pnpm dist:win` (Windows: NSIS installer)
|
|
51
|
-
- `pnpm dist:linux` (Linux: AppImage, `.deb`, `.rpm`)
|
|
52
|
-
|
|
53
|
-
## Standalone mode
|
|
51
|
+
Opens at `http://localhost:3456` by default.
|
|
54
52
|
|
|
55
|
-
|
|
53
|
+
## Production build
|
|
56
54
|
|
|
57
55
|
```bash
|
|
58
|
-
pnpm
|
|
56
|
+
pnpm build # compile renderer + main/preload
|
|
57
|
+
pnpm dist # create installers for all platforms
|
|
59
58
|
```
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
Platform-specific:
|
|
61
|
+
|
|
62
|
+
| Command | Output |
|
|
63
|
+
|---------|--------|
|
|
64
|
+
| `pnpm dist:mac` | `.dmg`, `.zip` |
|
|
65
|
+
| `pnpm dist:win` | NSIS installer |
|
|
66
|
+
| `pnpm dist:linux` | AppImage, `.deb`, `.rpm` |
|
|
62
67
|
|
|
63
|
-
|
|
68
|
+
Build artifacts land in `release/`.
|
|
64
69
|
|
|
65
70
|
## Environment variables
|
|
66
71
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
72
|
+
| Variable | Default | Description |
|
|
73
|
+
|----------|---------|-------------|
|
|
74
|
+
| `CODEX_SESSIONS_PATH` | `~/.codex/sessions` | Path to Codex sessions directory |
|
|
75
|
+
| `HOST` | `0.0.0.0` | Standalone server host |
|
|
76
|
+
| `PORT` | `3456` | Standalone server port |
|
|
70
77
|
|
|
71
78
|
## Scripts
|
|
72
79
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
| Script | Description |
|
|
81
|
+
|--------|-------------|
|
|
82
|
+
| `pnpm dev` | Electron app in dev mode |
|
|
83
|
+
| `pnpm build` | Build renderer + Electron main/preload |
|
|
84
|
+
| `pnpm standalone` | Build and run standalone HTTP server |
|
|
85
|
+
| `pnpm dist` | Package for macOS + Windows + Linux |
|
|
86
|
+
| `pnpm dist:mac` | Package for macOS |
|
|
87
|
+
| `pnpm dist:win` | Package for Windows |
|
|
88
|
+
| `pnpm dist:linux` | Package for Linux |
|
|
89
|
+
| `pnpm test` | Run tests (Vitest) |
|
|
90
|
+
| `pnpm lint` | Run ESLint |
|
|
91
|
+
| `pnpm typecheck` | TypeScript type checks |
|
|
83
92
|
|
|
84
93
|
## CI/CD
|
|
85
94
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- `NPM_TOKEN`: npm automation token (or granular token with publish + 2FA bypass).
|
|
93
|
-
|
|
94
|
-
## Versioning (SemVer)
|
|
95
|
+
| Workflow | Trigger | Action |
|
|
96
|
+
|----------|---------|--------|
|
|
97
|
+
| `ci.yml` | Push to `main`, PRs | Typecheck, lint, build, test |
|
|
98
|
+
| `release.yml` | Semver tags (`v*`), manual | Cross-platform packaging |
|
|
99
|
+
| `npm-publish.yml` | Semver tags (`v*`), manual | Publish to npm |
|
|
95
100
|
|
|
96
|
-
|
|
101
|
+
Required secret: `NPM_TOKEN` (npm automation token with publish + 2FA bypass).
|
|
97
102
|
|
|
98
|
-
|
|
99
|
-
- optional pre-release/build metadata (`v1.2.3-beta.1`, `v1.2.3+build.4`)
|
|
100
|
-
|
|
101
|
-
Tag and publish flow:
|
|
103
|
+
## Releasing
|
|
102
104
|
|
|
103
105
|
```bash
|
|
104
|
-
npm version patch
|
|
106
|
+
npm version patch # bumps version and creates git tag
|
|
105
107
|
git push origin main --follow-tags
|
|
106
108
|
```
|
|
107
109
|
|
|
108
|
-
|
|
110
|
+
Tags must be valid semver (`vMAJOR.MINOR.PATCH`). Pre-release metadata supported (`v1.2.3-beta.1`).
|
|
109
111
|
|
|
110
112
|
## Troubleshooting
|
|
111
113
|
|
|
112
|
-
|
|
114
|
+
**`Electron failed to install correctly`**
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pnpm approve-builds # approve electron and esbuild
|
|
118
|
+
pnpm install
|
|
119
|
+
pnpm dev
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## License
|
|
113
123
|
|
|
114
|
-
|
|
115
|
-
2. Approve `electron` and `esbuild`
|
|
116
|
-
3. Run `pnpm install` again
|
|
117
|
-
4. Retry `pnpm dev`
|
|
124
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const { existsSync } = require('node:fs');
|
|
5
|
+
const { join } = require('node:path');
|
|
6
|
+
|
|
7
|
+
const standaloneEntrypoint = join(__dirname, '..', 'dist-electron', 'main', 'standalone.cjs');
|
|
8
|
+
|
|
9
|
+
if (!existsSync(standaloneEntrypoint)) {
|
|
10
|
+
console.error(
|
|
11
|
+
'[codex-devtools] Missing standalone bundle. Reinstall package or run a version that includes dist-electron output.',
|
|
12
|
+
);
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const standaloneModule = require(standaloneEntrypoint);
|
|
17
|
+
|
|
18
|
+
if (typeof standaloneModule.startStandaloneCli !== 'function') {
|
|
19
|
+
console.error('[codex-devtools] Invalid standalone entrypoint: startStandaloneCli export not found.');
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
standaloneModule.startStandaloneCli();
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/out/renderer/index.html
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="icon" type="image/png" sizes="256x256" href="./assets/256x256-DdIsGiwi.png" />
|
|
7
|
+
<link rel="icon" type="image/png" sizes="32x32" href="./assets/32x32-DQgygEFU.png" />
|
|
8
|
+
<link rel="icon" type="image/png" sizes="16x16" href="./assets/16x16-B2_QkmoB.png" />
|
|
6
9
|
<title>codex-devtools</title>
|
|
7
10
|
<script type="module" crossorigin src="./assets/index-CR8-JZrV.js"></script>
|
|
8
11
|
<link rel="stylesheet" crossorigin href="./assets/index-r_pK0Xle.css">
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-devtools",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"description": "Desktop app for inspecting Codex session data",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": {
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
"url": "https://github.com/gulivan/codex-devtools/issues"
|
|
18
18
|
},
|
|
19
19
|
"main": "dist-electron/main/index.cjs",
|
|
20
|
+
"bin": {
|
|
21
|
+
"codex-devtools": "bin/codex-devtools.cjs"
|
|
22
|
+
},
|
|
20
23
|
"files": [
|
|
24
|
+
"bin/**",
|
|
21
25
|
"dist-electron/**",
|
|
22
26
|
"out/renderer/**",
|
|
23
27
|
"README.md"
|
|
@@ -85,7 +89,9 @@
|
|
|
85
89
|
"extraMetadata": {
|
|
86
90
|
"main": "dist-electron/main/index.cjs"
|
|
87
91
|
},
|
|
92
|
+
"icon": "resources/icon.png",
|
|
88
93
|
"mac": {
|
|
94
|
+
"icon": "resources/icon.icns",
|
|
89
95
|
"category": "public.app-category.developer-tools",
|
|
90
96
|
"target": [
|
|
91
97
|
"dmg",
|