{"_id":"@brutalstrikedevs/codexui-android","_rev":"6-5e3aa62a2fae23352f2cc02977c14fc3","name":"@brutalstrikedevs/codexui-android","dist-tags":{"latest":"0.1.96"},"versions":{"0.1.91":{"name":"@brutalstrikedevs/codexui-android","version":"0.1.91","keywords":["codex","openai","web-ui","remote","cli"],"author":{"name":"Pavel Voronin, Igor Levochkin"},"license":"MIT","_id":"@brutalstrikedevs/codexui-android@0.1.91","maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"homepage":"https://github.com/friuns2/codexui#readme","bugs":{"url":"https://github.com/friuns2/codexui/issues"},"bin":{"codexui":"dist-cli/index.js","codexapp":"dist-cli/index.js","codexui-android":"dist-cli/index.js"},"dist":{"shasum":"bb01d84ad08bc9c8f16c05173f226903076ff4b7","tarball":"https://registry.npmjs.org/@brutalstrikedevs/codexui-android/-/codexui-android-0.1.91.tgz","fileCount":34,"integrity":"sha512-qgwXnfSWq9xqq0PQALBnRiSgAXPUVxlgYNbFKO+sMQhHmLRiy56pS6OYut7jSF+GuRuGVRa4Efmk2iMCEhYwLQ==","signatures":[{"sig":"MEUCIQD6Yv7GsGcHvpoFrkdpLu/0JK7zSSWxMM//Pg8jBIAzOQIgbQHFdZL6KTUTCsHGMPT8EcyoAZh84XZxcnW6iYHjwZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4246789},"pnpm":{"onlyBuiltDependencies":["@firebase/util","esbuild","node-pty","protobufjs"]},"type":"module","engines":{"node":">=18"},"scripts":{"dev":"node scripts/dev.cjs","dev2":"node scripts/dev-random-home.cjs","build":"pnpm run build:frontend && pnpm run build:cli","preview":"vite preview","dev:open":"pnpm run build:cli && sh -c 'pnpm run dev & VPID=$!; node dist-cli/index.js --open-project \"${1:-.}\"; wait $VPID' --","build:cli":"tsup","test:unit":"vitest run","postinstall":"node scripts/fix-pty-native-build.cjs","build:frontend":"vue-tsc --noEmit && vite build","profile:thread":"PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs","profile:browser":"node scripts/profile-browser-runtime.cjs"},"_npmUser":{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"},"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"_npmVersion":"11.3.0","description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.18.3","express":"^5.1.0","firebase":"^12.2.1","commander":"^13.1.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","qrcode-terminal":"^0.12.0","@composio/client":"0.1.0-alpha.66","@xterm/addon-fit":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","vite":"^6.1.0","vitest":"^4.1.5","vue-tsc":"^2.2.0","@types/ws":"^8.18.1","playwright":"^1.59.1","typescript":"^5.7.3","vue-router":"^4.6.4","@types/node":"^22.13.2","tailwindcss":"^4.1.18","@types/express":"^5.0.0","@playwright/test":"^1.59.1","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-vue":"^5.2.1","@types/qrcode-terminal":"^0.12.2"},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/codexui-android_0.1.91_1779952361551_0.08289649980089786","host":"s3://npm-registry-packages-npm-production"}},"0.1.92":{"name":"@brutalstrikedevs/codexui-android","version":"0.1.92","keywords":["codex","openai","web-ui","remote","cli"],"author":{"name":"Pavel Voronin, Igor Levochkin"},"license":"MIT","_id":"@brutalstrikedevs/codexui-android@0.1.92","maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"homepage":"https://github.com/friuns2/codexui#readme","bugs":{"url":"https://github.com/friuns2/codexui/issues"},"bin":{"codexui":"dist-cli/index.js","codexapp":"dist-cli/index.js","codexui-android":"dist-cli/index.js"},"dist":{"shasum":"abd743ecdb09d9207d29c9bd3034972efc9368ee","tarball":"https://registry.npmjs.org/@brutalstrikedevs/codexui-android/-/codexui-android-0.1.92.tgz","fileCount":34,"integrity":"sha512-EGzthfngEg26lnlOxN2tFWcgbfGv44XbGf0/kx3KuOeVhOLFU6ZRh7HTIW8XRI2yHL1sRATQ0gVbuJlQQO/DgA==","signatures":[{"sig":"MEUCIH2Of90ji0CmgPdWh4SuqESl0qsQYEkC0GwpiLGfk6HIAiEAgUxXDDxer1nSb7dfrnzQ1/Bxxif//Ssy0g3rNkBRlNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4252027},"pnpm":{"onlyBuiltDependencies":["@firebase/util","esbuild","node-pty","protobufjs"]},"type":"module","engines":{"node":">=18"},"scripts":{"dev":"node scripts/dev.cjs","dev2":"node scripts/dev-random-home.cjs","build":"pnpm run build:frontend && pnpm run build:cli","preview":"vite preview","dev:open":"pnpm run build:cli && sh -c 'pnpm run dev & VPID=$!; node dist-cli/index.js --open-project \"${1:-.}\"; wait $VPID' --","build:cli":"tsup","test:unit":"vitest run","postinstall":"node scripts/fix-pty-native-build.cjs","build:frontend":"vue-tsc --noEmit && vite build","profile:thread":"PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs","profile:browser":"node scripts/profile-browser-runtime.cjs"},"_npmUser":{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"},"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"_npmVersion":"10.9.8","description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.3","express":"^5.1.0","firebase":"^12.2.1","commander":"^13.1.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","qrcode-terminal":"^0.12.0","@composio/client":"0.1.0-alpha.66","@xterm/addon-fit":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","vite":"^6.1.0","vitest":"^4.1.5","vue-tsc":"^2.2.0","@types/ws":"^8.18.1","playwright":"^1.59.1","typescript":"^5.7.3","vue-router":"^4.6.4","@types/node":"^22.13.2","tailwindcss":"^4.1.18","@types/express":"^5.0.0","@playwright/test":"^1.59.1","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-vue":"^5.2.1","@types/qrcode-terminal":"^0.12.2"},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/codexui-android_0.1.92_1781140826009_0.9261961455561265","host":"s3://npm-registry-packages-npm-production"}},"0.1.93":{"name":"@brutalstrikedevs/codexui-android","version":"0.1.93","keywords":["codex","openai","web-ui","remote","cli"],"author":{"name":"Pavel Voronin, Igor Levochkin"},"license":"MIT","_id":"@brutalstrikedevs/codexui-android@0.1.93","maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"homepage":"https://github.com/friuns2/codexui#readme","bugs":{"url":"https://github.com/friuns2/codexui/issues"},"bin":{"codexui":"dist-cli/index.js","codexapp":"dist-cli/index.js"},"dist":{"shasum":"f9c417df028bc2413dfad2c62b60d8fd3e02ff55","tarball":"https://registry.npmjs.org/@brutalstrikedevs/codexui-android/-/codexui-android-0.1.93.tgz","fileCount":31,"integrity":"sha512-iCCL5Ykcb19D1RmYKQMORenvf7iLjcnNQYz+xy2JIuZpIJAqOuaJIFSaH7Qgn96o/BFbzW3K5pWCs2K8YjwIPg==","signatures":[{"sig":"MEUCIE6/8hMrPRS9NyioAMdXHmTf9nOQNdG8yESg6CYrGaREAiEA+WnZPtcsfrKmSQ4dl1D4EmUnIwy9bDjTPFyNWW+fQLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEUu01BpPxXZLygif+LnN332mejhrwamIiv29FZr/ae8AiAyezxK1NedChDhwYpeNOdLa4DgFQl203D2k0kyp8Vvpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3840509},"pnpm":{"onlyBuiltDependencies":["esbuild","node-pty","protobufjs"]},"type":"module","engines":{"node":">=18"},"scripts":{"dev":"node scripts/dev.cjs","dev2":"node scripts/dev-random-home.cjs","build":"pnpm run build:frontend && pnpm run build:cli","preview":"vite preview","dev:open":"pnpm run build:cli && sh -c 'pnpm run dev & VPID=$!; node dist-cli/index.js --open-project \"${1:-.}\"; wait $VPID' --","build:cli":"tsup","test:unit":"vitest run","postinstall":"node scripts/fix-pty-native-build.cjs","build:frontend":"vue-tsc --noEmit && vite build","prepublishOnly":"pnpm run build","profile:thread":"PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs","profile:browser":"node scripts/profile-browser-runtime.cjs"},"_npmUser":{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"},"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"_npmVersion":"10.9.8","description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.3","express":"^5.1.0","commander":"^13.1.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","qrcode-terminal":"^0.12.0","@xterm/addon-fit":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","vite":"^6.1.0","vitest":"^4.1.5","vue-tsc":"^2.2.0","@types/ws":"^8.18.1","playwright":"^1.59.1","typescript":"^5.7.3","vue-router":"^4.6.4","@types/node":"^22.13.2","tailwindcss":"^4.1.18","@types/express":"^5.0.0","@playwright/test":"^1.59.1","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-vue":"^5.2.1","@types/qrcode-terminal":"^0.12.2"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codexui-android_0.1.93_1789783012948_0.7890580924234727","host":"s3://npm-registry-packages-npm-production"}},"0.1.94":{"name":"@brutalstrikedevs/codexui-android","version":"0.1.94","keywords":["codex","openai","web-ui","remote","cli"],"author":{"name":"Pavel Voronin, Igor Levochkin"},"license":"MIT","_id":"@brutalstrikedevs/codexui-android@0.1.94","maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"homepage":"https://github.com/friuns2/codexui#readme","bugs":{"url":"https://github.com/friuns2/codexui/issues"},"bin":{"codexui":"dist-cli/index.js","codexapp":"dist-cli/index.js","codexui-android":"dist-cli/index.js"},"dist":{"shasum":"c12dba64dc67c06de7ae35ee7cfcbc5c6568605b","tarball":"https://registry.npmjs.org/@brutalstrikedevs/codexui-android/-/codexui-android-0.1.94.tgz","fileCount":31,"integrity":"sha512-zio+0mZONAjJ7TnjUIetVxlEACWUl4m3lvx4/nvOSglzLiVFdCYkVO7J3SFkvd3xLz0ChToktjogkA2ANL07LQ==","signatures":[{"sig":"MEQCIBOThm97wBVtlWQj5ikMJVgikX8DVAs5n1+N8lfyLFUYAiBNkXSxDErlK1SpSOzoI2R4Ih34L+tyDo5K9B2nqTDDng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHFR3tsVvG7Q1KzzUjO1ZvRP4XeYG/stfT29gTsNE56yAiAyqrVIVzFFJ/JtIJXH1xfvEgMsZ61Lc9+ReLc31zt7fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3886958},"pnpm":{"onlyBuiltDependencies":["esbuild","node-pty","protobufjs"]},"type":"module","engines":{"node":">=18"},"scripts":{"dev":"node scripts/dev.cjs","dev2":"node scripts/dev-random-home.cjs","build":"pnpm run build:frontend && pnpm run build:cli","preview":"vite preview","dev:open":"pnpm run build:cli && sh -c 'pnpm run dev & VPID=$!; node dist-cli/index.js --open-project \"${1:-.}\"; wait $VPID' --","build:cli":"tsup","test:unit":"vitest run","postinstall":"node scripts/fix-pty-native-build.cjs","build:frontend":"vue-tsc --noEmit && vite build","profile:thread":"PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs","profile:browser":"node scripts/profile-browser-runtime.cjs"},"_npmUser":{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"},"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"_npmVersion":"10.9.8","description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.3","express":"^5.1.0","commander":"^13.1.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","qrcode-terminal":"^0.12.0","@xterm/addon-fit":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","vite":"^6.1.0","vitest":"^4.1.5","vue-tsc":"^2.2.0","@types/ws":"^8.18.1","playwright":"^1.59.1","typescript":"^5.7.3","vue-router":"^4.6.4","@types/node":"^22.13.2","tailwindcss":"^4.1.18","@types/express":"^5.0.0","@playwright/test":"^1.59.1","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-vue":"^5.2.1","@types/qrcode-terminal":"^0.12.2"},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/codexui-android_0.1.94_1789873862807_0.24616030589837656","host":"s3://npm-registry-packages-npm-production"}},"0.1.95":{"name":"@brutalstrikedevs/codexui-android","version":"0.1.95","keywords":["codex","openai","web-ui","remote","cli"],"author":{"name":"Pavel Voronin, Igor Levochkin"},"license":"MIT","_id":"@brutalstrikedevs/codexui-android@0.1.95","maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"homepage":"https://github.com/friuns2/codexui#readme","bugs":{"url":"https://github.com/friuns2/codexui/issues"},"bin":{"codexui":"dist-cli/index.js","codexapp":"dist-cli/index.js","codexui-android":"dist-cli/index.js"},"dist":{"shasum":"87cb8fab583272652072312c9153f9abb910e63a","tarball":"https://registry.npmjs.org/@brutalstrikedevs/codexui-android/-/codexui-android-0.1.95.tgz","fileCount":31,"integrity":"sha512-5RETCYNpn50fXxZN7HXnb2Qoi0k4zA5DLk6wvsWqpdHbYUpj7TkZQbGgBJA0Fl0Kr6xgxvDS5YV3BT8gVaU9hQ==","signatures":[{"sig":"MEQCIAN+pSuBcoLJUSb+bMZco5vmu/feV/1ka+tgthW40NzCAiBRgSfHTw0Owh8kT1JvqVST9XjAxpYJT7C9LzY2W3doNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDgotD5VeTo/BfQEbCLusZvIdVhv21pDEIUFKVBnk3yVAIhAPTJLyhBvUwOvKr++ZYq+ruPH5jbxHMZgcjwtG38zO7V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3887079},"pnpm":{"onlyBuiltDependencies":["esbuild","node-pty","protobufjs"]},"type":"module","engines":{"node":">=18"},"scripts":{"dev":"node scripts/dev.cjs","dev2":"node scripts/dev-random-home.cjs","build":"pnpm run build:frontend && pnpm run build:cli","preview":"vite preview","dev:open":"pnpm run build:cli && sh -c 'pnpm run dev & VPID=$!; node dist-cli/index.js --open-project \"${1:-.}\"; wait $VPID' --","build:cli":"tsup","test:unit":"vitest run","postinstall":"node scripts/fix-pty-native-build.cjs","build:frontend":"vue-tsc --noEmit && vite build","profile:thread":"PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs","profile:browser":"node scripts/profile-browser-runtime.cjs"},"_npmUser":{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"},"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"_npmVersion":"10.9.8","description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.3","express":"^5.1.0","commander":"^13.1.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","qrcode-terminal":"^0.12.0","@xterm/addon-fit":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","vite":"^6.1.0","vitest":"^4.1.5","vue-tsc":"^2.2.0","@types/ws":"^8.18.1","playwright":"^1.59.1","typescript":"^5.7.3","vue-router":"^4.6.4","@types/node":"^22.13.2","tailwindcss":"^4.1.18","@types/express":"^5.0.0","@playwright/test":"^1.59.1","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-vue":"^5.2.1","@types/qrcode-terminal":"^0.12.2"},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/codexui-android_0.1.95_1789890005469_0.7837538663790939","host":"s3://npm-registry-packages-npm-production"}},"0.1.96":{"_id":"@brutalstrikedevs/codexui-android@0.1.96","bin":{"codexui":"dist-cli/index.js","codexapp":"dist-cli/index.js","codexui-android":"dist-cli/index.js"},"bugs":{"url":"https://github.com/friuns2/codexui/issues"},"dist":{"shasum":"7e01dfafc1b01218530092723b07d19a8952fad1","tarball":"https://registry.npmjs.org/@brutalstrikedevs/codexui-android/-/codexui-android-0.1.96.tgz","fileCount":31,"integrity":"sha512-j/ABI3jwcSvh+DW+1uKcghZWb7KSSy5Lrnig9C57Ux6hqHhFUl9GBoqIUKKz0U5B7yAmvUPZEdT2UPWqkT/3fA==","signatures":[{"sig":"MEUCIQCmVKXYfAdiMqLOLvsMVDAf9uN+hsMvARAaV1mWS5DfmgIgWXL249042hojnb7YQltu/e7aJ/U4jzYLiy+SKrZ3t44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICmbwf2NtyKrDCnU/OICeDAr41dD48IfgOagbmd0GRyiAiEAljMlyYQ1QTXtyJ93ek4yhul7PgeThDZtg0oUss+b6+o="}],"unpackedSize":3889516},"name":"@brutalstrikedevs/codexui-android","pnpm":{"onlyBuiltDependencies":["esbuild","node-pty","protobufjs"]},"type":"module","author":{"name":"Pavel Voronin, Igor Levochkin"},"engines":{"node":">=18"},"license":"MIT","scripts":{"dev":"node scripts/dev.cjs","dev2":"node scripts/dev-random-home.cjs","build":"pnpm run build:frontend && pnpm run build:cli","preview":"vite preview","dev:open":"pnpm run build:cli && sh -c 'pnpm run dev & VPID=$!; node dist-cli/index.js --open-project \"${1:-.}\"; wait $VPID' --","build:cli":"tsup","test:unit":"vitest run","postinstall":"node scripts/fix-pty-native-build.cjs","build:frontend":"vue-tsc --noEmit && vite build","profile:thread":"PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs","profile:browser":"node scripts/profile-browser-runtime.cjs"},"version":"0.1.96","_npmUser":{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"},"homepage":"https://github.com/friuns2/codexui#readme","keywords":["codex","openai","web-ui","remote","cli"],"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"_npmVersion":"10.9.8","description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","directories":{},"maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.3","express":"^5.1.0","commander":"^13.1.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","qrcode-terminal":"^0.12.0","@xterm/addon-fit":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","vite":"^6.1.0","vitest":"^4.1.5","vue-tsc":"^2.2.0","@types/ws":"^8.18.1","playwright":"^1.59.1","typescript":"^5.7.3","vue-router":"^4.6.4","@types/node":"^22.13.2","tailwindcss":"^4.1.18","@types/express":"^5.0.0","@playwright/test":"^1.59.1","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-vue":"^5.2.1","@types/qrcode-terminal":"^0.12.2"},"optionalDependencies":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codexui-android_0.1.96_1790320908232_0.6864895955490538"}}},"time":{"created":"2026-05-28T07:12:41.420Z","modified":"2026-09-25T07:21:48.538Z","0.1.91":"2026-05-28T07:12:41.725Z","0.1.92":"2026-06-11T01:20:26.218Z","0.1.93":"2026-09-19T01:56:53.051Z","0.1.94":"2026-09-20T03:11:02.921Z","0.1.95":"2026-09-20T07:40:05.613Z","0.1.96":"2026-09-25T07:21:48.346Z"},"bugs":{"url":"https://github.com/friuns2/codexui/issues"},"author":{"name":"Pavel Voronin, Igor Levochkin"},"license":"MIT","homepage":"https://github.com/friuns2/codexui#readme","keywords":["codex","openai","web-ui","remote","cli"],"repository":{"url":"git+https://github.com/friuns2/codexui.git","type":"git"},"description":"A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser","maintainers":[{"name":"brutalstrikedevs","email":"brutalstrikedevs@gmail.com"}],"readme":"# 🔥 codexapp\n\n### 🚀 Run Codex App UI Anywhere: Linux, Windows, or Termux on Android 🚀\n\n[![npm](https://img.shields.io/npm/v/codexapp?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/codexapp)\n[![platform](https://img.shields.io/badge/Platform-Linux%20%7C%20Windows%20%7C%20Android-blue?style=for-the-badge)](#-quick-start)\n[![node](https://img.shields.io/badge/Node-18%2B-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)\n[![license](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](./LICENSE)\n\n> **Codex UI in your browser. No drama. One command.**\n>  \n> **Yes, that is your Codex desktop app experience exposed over web UI. Yes, it runs cross-platform.**\n\n```text\n ██████╗ ██████╗ ██████╗ ███████╗██╗  ██╗██╗   ██╗██╗\n██╔════╝██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝██║   ██║██║\n██║     ██║   ██║██║  ██║█████╗   ╚███╔╝ ██║   ██║██║\n██║     ██║   ██║██║  ██║██╔══╝   ██╔██╗ ██║   ██║██║\n╚██████╗╚██████╔╝██████╔╝███████╗██╔╝ ██╗╚██████╔╝██║\n ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═╝\n```\n\n---\n<img width=\"1366\" height=\"900\" alt=\"image\" src=\"https://github.com/user-attachments/assets/1a3578ba-add8-49a2-88b4-08195a7f0140\" />\n\n## 🤯 What Is This?\n**`codexapp`** is a lightweight bridge that gives you a browser-accessible UI for Codex app-server workflows.\n\nYou run one command. It starts a local web server. You open it from your machine, your LAN, or wherever your setup allows.  \n\n**TL;DR 🧠: Codex app UI, unlocked for Linux, Windows, and Termux-powered Android setups.**\n\n---\n\n## ⚡ Quick Start\n> **The main event.**\n\n```bash\n# 🔓 Run instantly (recommended)\nnpx @brutalstrikedevs/codexapp\n\n# 🌐 Then open in browser\n# http://localhost:18923\n```\n\nBy default, `codexapp` now also starts:\n\n```bash\ncloudflared tunnel --url http://localhost:<port>\n```\n\nIt prints the tunnel URL, terminal QR code, and password together in startup output.  \nUse `--no-tunnel` to disable this behavior.\n\nIf you are using a provider or AI gateway that is already authenticated and do not want `codexapp` to force `codex login` during startup, use:\n\n```bash\nnpx @brutalstrikedevs/codexapp --no-login\n```\n\n### Linux 🐧\n```bash\nnode -v   # should be 18+\nnpx @brutalstrikedevs/codexapp\n```\n\nMaintainers: follow [the npm publishing procedure](docs/publishing.md) to release `@brutalstrikedevs/codexapp`.\n\n### Windows 🪟 (PowerShell)\n```powershell\nnode -v   # 18+\nnpx @brutalstrikedevs/codexapp\n```\n\n### Termux (Android) 🤖\n```bash\npkg update && pkg upgrade -y\npkg install nodejs -y\nnpx @brutalstrikedevs/codexapp\n```\n\nAndroid background requirements:\n\n1. Keep `codexapp` running in the current Termux session (do not close it).\n2. In Android settings, disable battery optimization for `Termux`.\n3. Keep the persistent Termux notification enabled so Android is less likely to kill it.\n4. Optional but recommended in Termux:\n```bash\ntermux-wake-lock\n```\n5. Open the shown URL in your Android browser. If the app is killed, return to Termux and run `npx @brutalstrikedevs/codexapp` again.\n\n---\n\n## iPhone / iPad via Tailscale Serve\n\nIf you want to use codexUI from iPhone or iPad Safari, serving it over HTTPS is recommended.\n\nA practical private setup is to run codexUI locally and publish it inside your tailnet with Tailscale Serve:\n\n```powershell\nnpx @brutalstrikedevs/codexapp --no-tunnel --port 5900\ntailscale serve --bg 5900\n```\n\nThen open:\n\n```text\nhttps://<your-machine>.<your-tailnet>.ts.net\n```\n\nThis setup worked well in practice for:\n\n- iPhone Safari access\n- Add to Home Screen\n- the built-in dictation / transcription feature in the app\n- viewing the same projects and conversations from the Windows host\n\nNotes:\n\n- Tailscale Serve keeps access private to your tailnet\n- on iOS, HTTPS / secure context appears to be important for mobile browser access and dictation\n- some minor mobile Safari CSS issues may still exist, but they do not prevent normal use\n- depending on proxying details, authentication behavior may differ from direct remote access\n- if conversations created in the web UI do not immediately appear in the Windows app, restarting the Windows app may refresh them\n\n---\n\n## ✨ Features\n> **The payload.**\n\n- 🚀 One-command launch with `npx @brutalstrikedevs/codexapp`\n- 🌍 Cross-platform support for Linux, Windows, and Termux on Android\n- 🖥️ Browser-first Codex UI flow on `http://localhost:18923`\n- 🌐 LAN-friendly access from other devices on the same network\n- 🧪 Remote/headless-friendly setup for server-based Codex usage\n- 🔌 Works with reverse proxies and tunneling setups\n- ⚡ No global install required for quick experimentation\n- 🎙️ Built-in hold-to-dictate voice input with transcription to composer draft\n- 🤖 Optional Telegram bot bridge: send messages to bot, forward into mapped thread, send assistant reply back to Telegram\n- 💾 Project portability: export a project as a ZIP from project or thread menus, including matching Codex chat JSONL history under `.codex-project/chats/`\n- 📦 Project import: restore exported project ZIPs from the browser via `Import Project`\n- 🔁 Imported chats are rewritten for the destination `CODEX_HOME`, project path, and currently selected provider/model so they can be resumed in the new environment\n- ⚙️ Project ZIP performance: exports stream ZIP bytes with response backpressure handling and skip generated/git-ignored folders; imports still buffer the selected ZIP once because the browser upload arrives as a single file\n\n### Telegram Bot Bridge (Optional)\n\nSet these environment variables before starting `codexapp`:\n\n```bash\nexport TELEGRAM_BOT_TOKEN=\"<your-telegram-bot-token>\"\nexport TELEGRAM_ALLOWED_USER_IDS=\"<your-telegram-user-id>,<optional-second-id>\"\nexport TELEGRAM_DEFAULT_CWD=\"$PWD\" # optional, defaults to current working directory\nnpx @brutalstrikedevs/codexapp\n```\n\n`TELEGRAM_ALLOWED_USER_IDS` is required for safe access. Only allowlisted Telegram user IDs can use the bridge. If no allowed user IDs are configured, incoming Telegram messages are rejected.\n\nTo find your Telegram user ID:\n\n1. Send a message to your bot.\n2. Run `curl \"https://api.telegram.org/bot<your-telegram-bot-token>/getUpdates\"`.\n3. Read `message.from.id` from the returned update payload.\n\nBot commands:\n\n- `/start` show quick help and thread picker\n- `/threads` list recent threads and pick one\n- `/newthread` create and map a new Codex thread for this Telegram chat\n- `/thread <threadId>` map current Telegram chat to an existing thread\n- `/current` show currently connected thread for this chat\n- `/history` show recent history for current thread\n- `/status` show bridge/mapping status\n- `/whoami` show your Telegram user/chat IDs and authorization state\n- `/help` show command reference\n\nOutgoing assistant messages are sent with Telegram `parse_mode=HTML` for formatting, with automatic plain-text fallback if HTML delivery fails.\n\n---\n\n## 🧩 Recent Product Features (from main commits)\n> **Not just launch. Actual UX upgrades.**\n\n- 🗂️ Searchable project picker in new-thread flow\n- ➕ \"Create Project\" button next to \"Select folder\" with browser prompt\n- 📌 New projects get pinned to top automatically\n- 🧠 Smart default new-project name suggestion via server-side free-directory scan (`New Project (N)`)\n- 🔄 Project order persisted globally to workspace roots state\n- 🧵 Optimistic in-progress threads preserved during refresh/poll cycles\n- 📱 Mobile drawer sidebar in desktop layout (teleported overlay + swipe-friendly structure)\n- 🎛️ Skills Hub mobile-friendly spacing/toolbar layout improvements\n- 🪟 Skill detail modal tuned for mobile sheet-style behavior\n- 🧪 Skills Hub event typing fix for `SkillCard` select emit compatibility\n- 🎙️ Voice dictation flow in composer (`hold to dictate` -> transcribe -> append text)\n\n---\n\n## 🌍 What Can You Do With This?\n\n| 🔥 Use Case | 💥 What You Get |\n|---|---|\n| 💻 Linux workstation | Run Codex UI in browser without depending on desktop shell |\n| 🪟 Windows machine | Launch web UI and access from Chrome/Edge quickly |\n| 📱 Termux on Android | Start service in Termux and control from mobile browser |\n| 🧪 Remote dev box | Keep Codex process on server, view UI from client device |\n| 🌐 LAN sharing | Open UI from another device on same network |\n| 🧰 Headless workflows | Keep terminal + browser split for productivity |\n| 🔌 Custom routing | Put behind reverse proxy/tunnel if needed |\n| ⚡ Fast experiments | `npx` run without full global setup |\n\n---\n\n## 🖼️ Screenshots\n\n### Skills Hub\n![Skills Hub](docs/screenshots/skills-hub.png)\n\n### Chat\n![Chat](docs/screenshots/chat.png)\n\n### Mobile UI\n![Skills Hub Mobile](docs/screenshots/skills-hub-mobile.png)\n![Chat Mobile](docs/screenshots/chat-mobile.png)\n\n---\n\n## 🏗️ Architecture\n\n```text\n┌─────────────────────────────┐\n│  Browser (Desktop/Mobile)   │\n└──────────────┬──────────────┘\n               │ HTTP/WebSocket\n┌──────────────▼──────────────┐\n│         codexapp            │\n│  (Express + Vue UI bridge)  │\n└──────────────┬──────────────┘\n               │ RPC/Bridge calls\n┌──────────────▼──────────────┐\n│      Codex App Server       │\n└─────────────────────────────┘\n```\n\n---\n\n## 🎯 Requirements\n- ✅ Node.js `18+`\n- ✅ Codex app-server environment available\n- ✅ Browser access to host/port\n- ✅ Microphone permission (only for voice dictation)\n\n---\n\n## 🐛 Troubleshooting\n\n| ❌ Problem | ✅ Fix |\n|---|---|\n| Port already in use | Run on a free port or stop old process |\n| `npx` fails | Update npm/node, then retry |\n| Termux install fails | `pkg update && pkg upgrade` then reinstall `nodejs` |\n| Can’t open from other device | Check firewall, bind address, and LAN routing |\n\n---\n\n## 🤝 Contributing\nIssues and PRs are welcome.  \nBring bug reports, platform notes, and setup improvements.\n\n---\n\n## ⭐ Star This Repo\nIf you believe Codex UI should be accessible from **any machine, any OS, any screen**, star this project and share it. ⭐\n\n<div align=\"center\">\nBuilt for speed, portability, and a little bit of chaos 😏\n</div>\n\n---\n\nForked from [pavel-voronin/codex-web-local](https://github.com/pavel-voronin/codex-web-local) by Pavel Voronin.\n","readmeFilename":"README.md"}