@bryanhu/codexly 0.1.0
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/CHANGELOG.md +38 -0
- package/LICENSE +21 -0
- package/README.md +87 -0
- package/README.zh-CN.md +87 -0
- package/dist/chunk-3OBVX5TN.js +15 -0
- package/dist/chunk-42AR5IS7.js +12543 -0
- package/dist/chunk-K63YBMTG.js +61287 -0
- package/dist/chunk-K6J42667.js +43 -0
- package/dist/chunk-MH54VCZJ.js +5224 -0
- package/dist/chunk-TEPSAXZZ.js +3360 -0
- package/dist/cli.js +889 -0
- package/dist/client/index.js +1010 -0
- package/dist/codex-jsonl-frame-worker.js +120 -0
- package/dist/core/index.js +5 -0
- package/dist/dist-NGSIFQU5.js +252 -0
- package/dist/protocol/index.js +5 -0
- package/dist/providers/codex/index.js +7 -0
- package/dist/server/index.js +9 -0
- package/dist/sqlite-state-worker.js +661 -0
- package/dist/web/.vite/manifest.json +829 -0
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/bash-BiGZg9Om.js +1 -0
- package/dist/web/assets/bash-BiGZg9Om.js.br +0 -0
- package/dist/web/assets/bash-BiGZg9Om.js.gz +0 -0
- package/dist/web/assets/bundle-mjs-rHxsej31.js +1 -0
- package/dist/web/assets/bundle-mjs-rHxsej31.js.br +0 -0
- package/dist/web/assets/bundle-mjs-rHxsej31.js.gz +0 -0
- package/dist/web/assets/button-CG0GNEOD.js +1 -0
- package/dist/web/assets/button-CG0GNEOD.js.br +0 -0
- package/dist/web/assets/button-CG0GNEOD.js.gz +0 -0
- package/dist/web/assets/button-group-D2LfHIjt.js +1 -0
- package/dist/web/assets/button-group-D2LfHIjt.js.br +0 -0
- package/dist/web/assets/button-group-D2LfHIjt.js.gz +0 -0
- package/dist/web/assets/c-DWGmR78Y.js +1 -0
- package/dist/web/assets/c-DWGmR78Y.js.br +1 -0
- package/dist/web/assets/c-DWGmR78Y.js.gz +0 -0
- package/dist/web/assets/c-SSSlmE39.js +1 -0
- package/dist/web/assets/c-SSSlmE39.js.br +0 -0
- package/dist/web/assets/c-SSSlmE39.js.gz +0 -0
- package/dist/web/assets/checkbox-Bvl7MRXT.js +1 -0
- package/dist/web/assets/checkbox-Bvl7MRXT.js.br +0 -0
- package/dist/web/assets/checkbox-Bvl7MRXT.js.gz +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js +131 -0
- package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.gz +0 -0
- package/dist/web/assets/code-highlighter-Cm0xdvAd.js +1 -0
- package/dist/web/assets/code-highlighter-Cm0xdvAd.js.br +0 -0
- package/dist/web/assets/code-highlighter-Cm0xdvAd.js.gz +0 -0
- package/dist/web/assets/code-languages-CfwYbccP.js +2 -0
- package/dist/web/assets/code-languages-CfwYbccP.js.br +0 -0
- package/dist/web/assets/code-languages-CfwYbccP.js.gz +0 -0
- package/dist/web/assets/cpp-BcHBJY00.js +1 -0
- package/dist/web/assets/cpp-BcHBJY00.js.br +0 -0
- package/dist/web/assets/cpp-BcHBJY00.js.gz +0 -0
- package/dist/web/assets/cpp-CIkEvbIe.js +1 -0
- package/dist/web/assets/cpp-CIkEvbIe.js.br +0 -0
- package/dist/web/assets/cpp-CIkEvbIe.js.gz +0 -0
- package/dist/web/assets/csharp-oqKa8noW.js +1 -0
- package/dist/web/assets/csharp-oqKa8noW.js.br +0 -0
- package/dist/web/assets/csharp-oqKa8noW.js.gz +0 -0
- package/dist/web/assets/css-CdtkT07m.js +1 -0
- package/dist/web/assets/css-CdtkT07m.js.br +1 -0
- package/dist/web/assets/css-CdtkT07m.js.gz +0 -0
- package/dist/web/assets/css-LbU1hoFO.js +1 -0
- package/dist/web/assets/css-LbU1hoFO.js.br +0 -0
- package/dist/web/assets/css-LbU1hoFO.js.gz +0 -0
- package/dist/web/assets/diff-woXpYk--.js +1 -0
- package/dist/web/assets/diff-woXpYk--.js.br +0 -0
- package/dist/web/assets/diff-woXpYk--.js.gz +0 -0
- package/dist/web/assets/dockerfile-IyjqRm3v.js +1 -0
- package/dist/web/assets/dockerfile-IyjqRm3v.js.br +0 -0
- package/dist/web/assets/dockerfile-IyjqRm3v.js.gz +0 -0
- package/dist/web/assets/dotenv-_5a1GRtc.js +1 -0
- package/dist/web/assets/dotenv-_5a1GRtc.js.br +0 -0
- package/dist/web/assets/dotenv-_5a1GRtc.js.gz +0 -0
- package/dist/web/assets/engine-compile-DQ0HPfe0.js +152 -0
- package/dist/web/assets/engine-compile-DQ0HPfe0.js.br +0 -0
- package/dist/web/assets/engine-compile-DQ0HPfe0.js.gz +0 -0
- package/dist/web/assets/es2015-CIXyxC_2.js +41 -0
- package/dist/web/assets/es2015-CIXyxC_2.js.br +0 -0
- package/dist/web/assets/es2015-CIXyxC_2.js.gz +0 -0
- package/dist/web/assets/file-CEs2ZXvf.js +1 -0
- package/dist/web/assets/file-CEs2ZXvf.js.br +0 -0
- package/dist/web/assets/file-CEs2ZXvf.js.gz +0 -0
- package/dist/web/assets/file-change-D7aZLgtG.js +4 -0
- package/dist/web/assets/file-change-D7aZLgtG.js.br +0 -0
- package/dist/web/assets/file-change-D7aZLgtG.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-CTL5FpHU.js +2 -0
- package/dist/web/assets/file-review-dialog-CTL5FpHU.js.br +0 -0
- package/dist/web/assets/file-review-dialog-CTL5FpHU.js.gz +0 -0
- package/dist/web/assets/file-tree-DRpR7Mu2.js +1 -0
- package/dist/web/assets/file-tree-DRpR7Mu2.js.br +0 -0
- package/dist/web/assets/file-tree-DRpR7Mu2.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js +1 -0
- package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.br +0 -0
- package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.gz +0 -0
- package/dist/web/assets/git-history-panel-BsIopLeA.js +2 -0
- package/dist/web/assets/git-history-panel-BsIopLeA.js.br +0 -0
- package/dist/web/assets/git-history-panel-BsIopLeA.js.gz +0 -0
- package/dist/web/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/web/assets/github-dark-C-LZuMrd.js.br +0 -0
- package/dist/web/assets/github-dark-C-LZuMrd.js.gz +0 -0
- package/dist/web/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/web/assets/github-light-EUqPIrTm.js.br +0 -0
- package/dist/web/assets/github-light-EUqPIrTm.js.gz +0 -0
- package/dist/web/assets/global-settings-dialog-CJA_j2dA.js +1 -0
- package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.gz +0 -0
- package/dist/web/assets/go-rLFTqkRN.js +1 -0
- package/dist/web/assets/go-rLFTqkRN.js.br +0 -0
- package/dist/web/assets/go-rLFTqkRN.js.gz +0 -0
- package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js +1 -0
- package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.br +0 -0
- package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.gz +0 -0
- package/dist/web/assets/graphql-D5qRqMLb.js +1 -0
- package/dist/web/assets/graphql-D5qRqMLb.js.br +0 -0
- package/dist/web/assets/graphql-D5qRqMLb.js.gz +0 -0
- package/dist/web/assets/graphql-f69H1Mm0.js +1 -0
- package/dist/web/assets/graphql-f69H1Mm0.js.br +0 -0
- package/dist/web/assets/graphql-f69H1Mm0.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js +1 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.gz +0 -0
- package/dist/web/assets/html-BcACZWSP.js +1 -0
- package/dist/web/assets/html-BcACZWSP.js.br +0 -0
- package/dist/web/assets/html-BcACZWSP.js.gz +0 -0
- package/dist/web/assets/html-DDNsd9lV.js +1 -0
- package/dist/web/assets/html-DDNsd9lV.js.br +0 -0
- package/dist/web/assets/html-DDNsd9lV.js.gz +0 -0
- package/dist/web/assets/index-B3NtDmQp.css +2 -0
- package/dist/web/assets/index-B3NtDmQp.css.br +0 -0
- package/dist/web/assets/index-B3NtDmQp.css.gz +0 -0
- package/dist/web/assets/index-C_O4z_mI.js +4 -0
- package/dist/web/assets/index-C_O4z_mI.js.br +0 -0
- package/dist/web/assets/index-C_O4z_mI.js.gz +0 -0
- package/dist/web/assets/ini-B5eOa1yu.js +1 -0
- package/dist/web/assets/ini-B5eOa1yu.js.br +5 -0
- package/dist/web/assets/ini-B5eOa1yu.js.gz +0 -0
- package/dist/web/assets/java-BtIQNnN0.js +1 -0
- package/dist/web/assets/java-BtIQNnN0.js.br +0 -0
- package/dist/web/assets/java-BtIQNnN0.js.gz +0 -0
- package/dist/web/assets/java-DxlWrXwe.js +1 -0
- package/dist/web/assets/java-DxlWrXwe.js.br +1 -0
- package/dist/web/assets/java-DxlWrXwe.js.gz +0 -0
- package/dist/web/assets/javascript-BzbQS41l.js +1 -0
- package/dist/web/assets/javascript-BzbQS41l.js.br +0 -0
- package/dist/web/assets/javascript-BzbQS41l.js.gz +0 -0
- package/dist/web/assets/javascript-Yelw-5ZN.js +1 -0
- package/dist/web/assets/javascript-Yelw-5ZN.js.br +0 -0
- package/dist/web/assets/javascript-Yelw-5ZN.js.gz +0 -0
- package/dist/web/assets/json-B88Oqtu5.js +1 -0
- package/dist/web/assets/json-B88Oqtu5.js.br +0 -0
- package/dist/web/assets/json-B88Oqtu5.js.gz +0 -0
- package/dist/web/assets/json-CaljABEy.js +1 -0
- package/dist/web/assets/json-CaljABEy.js.br +1 -0
- package/dist/web/assets/json-CaljABEy.js.gz +0 -0
- package/dist/web/assets/json5-BR5RXkoi.js +1 -0
- package/dist/web/assets/json5-BR5RXkoi.js.br +0 -0
- package/dist/web/assets/json5-BR5RXkoi.js.gz +0 -0
- package/dist/web/assets/jsonc-CYpm1nAK.js +1 -0
- package/dist/web/assets/jsonc-CYpm1nAK.js.br +0 -0
- package/dist/web/assets/jsonc-CYpm1nAK.js.gz +0 -0
- package/dist/web/assets/jsx-D3KKoC5L.js +1 -0
- package/dist/web/assets/jsx-D3KKoC5L.js.br +0 -0
- package/dist/web/assets/jsx-D3KKoC5L.js.gz +0 -0
- package/dist/web/assets/jsx-hEbJ82HF.js +1 -0
- package/dist/web/assets/jsx-hEbJ82HF.js.br +1 -0
- package/dist/web/assets/jsx-hEbJ82HF.js.gz +0 -0
- package/dist/web/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/web/assets/kotlin-DhhofPvG.js.br +0 -0
- package/dist/web/assets/kotlin-DhhofPvG.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-Cy_8wxLM.js +2 -0
- package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.br +0 -0
- package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.gz +0 -0
- package/dist/web/assets/lib-DrPFkMXk.js +1 -0
- package/dist/web/assets/lib-DrPFkMXk.js.br +0 -0
- package/dist/web/assets/lib-DrPFkMXk.js.gz +0 -0
- package/dist/web/assets/lua-BJObVtAx.js +1 -0
- package/dist/web/assets/lua-BJObVtAx.js.br +0 -0
- package/dist/web/assets/lua-BJObVtAx.js.gz +0 -0
- package/dist/web/assets/lua-DjuecEsk.js +1 -0
- package/dist/web/assets/lua-DjuecEsk.js.br +0 -0
- package/dist/web/assets/lua-DjuecEsk.js.gz +0 -0
- package/dist/web/assets/makefile-Dixweg8N.js +1 -0
- package/dist/web/assets/makefile-Dixweg8N.js.br +0 -0
- package/dist/web/assets/makefile-Dixweg8N.js.gz +0 -0
- package/dist/web/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/web/assets/markdown-BYOwaDjH.js.br +0 -0
- package/dist/web/assets/markdown-BYOwaDjH.js.gz +0 -0
- package/dist/web/assets/mdx-DQZ5AkYe.js +1 -0
- package/dist/web/assets/mdx-DQZ5AkYe.js.br +0 -0
- package/dist/web/assets/mdx-DQZ5AkYe.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.gz +0 -0
- package/dist/web/assets/message-response-CBOOkYPm.js +7 -0
- package/dist/web/assets/message-response-CBOOkYPm.js.br +0 -0
- package/dist/web/assets/message-response-CBOOkYPm.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js +1409 -0
- package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.gz +0 -0
- package/dist/web/assets/perl-Br95gH8g.js +1 -0
- package/dist/web/assets/perl-Br95gH8g.js.br +0 -0
- package/dist/web/assets/perl-Br95gH8g.js.gz +0 -0
- package/dist/web/assets/php-CYrBA5iX.js +1 -0
- package/dist/web/assets/php-CYrBA5iX.js.br +0 -0
- package/dist/web/assets/php-CYrBA5iX.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-CrypM5HZ.js +1 -0
- package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.gz +0 -0
- package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js +1 -0
- package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.br +0 -0
- package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.gz +0 -0
- package/dist/web/assets/provider-connection-queries-C40YvSEy.js +1 -0
- package/dist/web/assets/provider-connection-queries-C40YvSEy.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-C40YvSEy.js.gz +0 -0
- package/dist/web/assets/python-gzcpVVnB.js +1 -0
- package/dist/web/assets/python-gzcpVVnB.js.br +0 -0
- package/dist/web/assets/python-gzcpVVnB.js.gz +0 -0
- package/dist/web/assets/react-runtime-CVaUQXZF.js +9 -0
- package/dist/web/assets/react-runtime-CVaUQXZF.js.br +0 -0
- package/dist/web/assets/react-runtime-CVaUQXZF.js.gz +0 -0
- package/dist/web/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/dist/web/assets/rolldown-runtime-QTnfLwEv.js.br +0 -0
- package/dist/web/assets/rolldown-runtime-QTnfLwEv.js.gz +0 -0
- package/dist/web/assets/ruby-CbXu8Ywv.js +1 -0
- package/dist/web/assets/ruby-CbXu8Ywv.js.br +0 -0
- package/dist/web/assets/ruby-CbXu8Ywv.js.gz +0 -0
- package/dist/web/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/web/assets/rust-Cfkwpbl8.js.br +0 -0
- package/dist/web/assets/rust-Cfkwpbl8.js.gz +0 -0
- package/dist/web/assets/scss-DHtrkMkT.js +1 -0
- package/dist/web/assets/scss-DHtrkMkT.js.br +0 -0
- package/dist/web/assets/scss-DHtrkMkT.js.gz +0 -0
- package/dist/web/assets/shellscript-BiGZg9Om.js +1 -0
- package/dist/web/assets/shellscript-BiGZg9Om.js.br +0 -0
- package/dist/web/assets/shellscript-BiGZg9Om.js.gz +0 -0
- package/dist/web/assets/shellscript-CqHdAlCp.js +1 -0
- package/dist/web/assets/shellscript-CqHdAlCp.js.br +0 -0
- package/dist/web/assets/shellscript-CqHdAlCp.js.gz +0 -0
- package/dist/web/assets/shiki-bundle-DzEBOJSk.js +1 -0
- package/dist/web/assets/shiki-bundle-DzEBOJSk.js.br +0 -0
- package/dist/web/assets/shiki-bundle-DzEBOJSk.js.gz +0 -0
- package/dist/web/assets/sql-0Qcw9ht3.js +1 -0
- package/dist/web/assets/sql-0Qcw9ht3.js.br +0 -0
- package/dist/web/assets/sql-0Qcw9ht3.js.gz +0 -0
- package/dist/web/assets/sql-CP0rg-5b.js +1 -0
- package/dist/web/assets/sql-CP0rg-5b.js.br +0 -0
- package/dist/web/assets/sql-CP0rg-5b.js.gz +0 -0
- package/dist/web/assets/svelte-BUVJxsYv.js +1 -0
- package/dist/web/assets/svelte-BUVJxsYv.js.br +0 -0
- package/dist/web/assets/svelte-BUVJxsYv.js.gz +0 -0
- package/dist/web/assets/swift-DonLKvLd.js +1 -0
- package/dist/web/assets/swift-DonLKvLd.js.br +0 -0
- package/dist/web/assets/swift-DonLKvLd.js.gz +0 -0
- package/dist/web/assets/toml-CcmNWLt0.js +1 -0
- package/dist/web/assets/toml-CcmNWLt0.js.br +0 -0
- package/dist/web/assets/toml-CcmNWLt0.js.gz +0 -0
- package/dist/web/assets/tsx-5f3ulCja.js +1 -0
- package/dist/web/assets/tsx-5f3ulCja.js.br +0 -0
- package/dist/web/assets/tsx-5f3ulCja.js.gz +0 -0
- package/dist/web/assets/tsx-BOvsFOI6.js +1 -0
- package/dist/web/assets/tsx-BOvsFOI6.js.br +0 -0
- package/dist/web/assets/tsx-BOvsFOI6.js.gz +0 -0
- package/dist/web/assets/typescript-Utq2Cl8c.js +1 -0
- package/dist/web/assets/typescript-Utq2Cl8c.js.br +0 -0
- package/dist/web/assets/typescript-Utq2Cl8c.js.gz +0 -0
- package/dist/web/assets/typescript-j_1H8WHN.js +1 -0
- package/dist/web/assets/typescript-j_1H8WHN.js.br +0 -0
- package/dist/web/assets/typescript-j_1H8WHN.js.gz +0 -0
- package/dist/web/assets/vue-BpAUjojh.js +1 -0
- package/dist/web/assets/vue-BpAUjojh.js.br +0 -0
- package/dist/web/assets/vue-BpAUjojh.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js +1 -0
- package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.gz +0 -0
- package/dist/web/assets/workbench-shell--6Y1cx2L.js +12 -0
- package/dist/web/assets/workbench-shell--6Y1cx2L.js.br +0 -0
- package/dist/web/assets/workbench-shell--6Y1cx2L.js.gz +0 -0
- package/dist/web/assets/xml-CoDIzWF0.js +1 -0
- package/dist/web/assets/xml-CoDIzWF0.js.br +0 -0
- package/dist/web/assets/xml-CoDIzWF0.js.gz +0 -0
- package/dist/web/assets/xml-WY0zc4PG.js +1 -0
- package/dist/web/assets/xml-WY0zc4PG.js.br +0 -0
- package/dist/web/assets/xml-WY0zc4PG.js.gz +0 -0
- package/dist/web/assets/yaml-CxbubiML.js +1 -0
- package/dist/web/assets/yaml-CxbubiML.js.br +0 -0
- package/dist/web/assets/yaml-CxbubiML.js.gz +0 -0
- package/dist/web/assets/yaml-DijMHRDA.js +1 -0
- package/dist/web/assets/yaml-DijMHRDA.js.br +0 -0
- package/dist/web/assets/yaml-DijMHRDA.js.gz +0 -0
- package/dist/web/brand/codexly-logo.svg +34 -0
- package/dist/web/brand/codexly-logo.svg.br +0 -0
- package/dist/web/brand/codexly-logo.svg.gz +0 -0
- package/dist/web/brand/codexly-mark.svg +21 -0
- package/dist/web/brand/codexly-mark.svg.br +0 -0
- package/dist/web/brand/codexly-mark.svg.gz +0 -0
- package/dist/web/favicon.svg +20 -0
- package/dist/web/favicon.svg.br +0 -0
- package/dist/web/favicon.svg.gz +0 -0
- package/dist/web/index.html +25 -0
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +85 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
|
|
3
|
+
本文件记录 Codexly 的重要版本变化。版本号遵循 [Semantic Versioning](https://semver.org/spec/v2.0.0.html)。
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.1.0] - 2026-08-24
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- 添加 Codex 官方账号快速模式、细粒度审批策略和通知偏好,并让新任务继承项目最近一次完整设置。
|
|
12
|
+
- 支持有序的多根项目与根目录切换,接入 Codex 原生模糊文件搜索和 Git 元数据监听,按当前根精确刷新文件与仓库状态。
|
|
13
|
+
- 接入 Codex 持久化线程队列和 MCP 补充输入请求,支持跟进消息跨重启交付,并完善 Goal、异步 Hook、多 Agent 与模型切换状态同步。
|
|
14
|
+
- 添加项目归档任务管理,支持恢复、单项永久删除和批量清空全部归档任务。
|
|
15
|
+
- 支持直接添加经过验证的宿主绝对目录,并保留多根项目的目录树选择流程。
|
|
16
|
+
|
|
17
|
+
### 优化
|
|
18
|
+
|
|
19
|
+
- 确立 Codex `projectId` 为项目身份真相源,统一多根 Project Runtime、任务作用域和临时任务生命周期。
|
|
20
|
+
- 为任务历史添加游标分页与活动任务并发恢复,缓存 Codex 原生状态读取,并优化事件批次、JSONL 分片和长会话资源释放。
|
|
21
|
+
- 聚合连续工具与命令操作摘要,持久化临时任务分组状态,并整合中英文用户文档与维护者文档。
|
|
22
|
+
- 统一 Codexly 品牌标识、终端提示符和浏览器图标资产。
|
|
23
|
+
|
|
24
|
+
### 修复
|
|
25
|
+
|
|
26
|
+
- 修复文件搜索查询调度、Reviewer 与跨 Turn 历史分页,以及自定义 Provider 配置切换和登录失败回滚。
|
|
27
|
+
- 修复 Project Runtime 并发释放、任务退订、未物化任务归属、新增项目任务列表状态及多根目录选择控件。
|
|
28
|
+
- 修复未发布首版本的更新判断、历史 Turn 分页 Item 水合,以及超限 Git Diff 阻断状态读取的问题。
|
|
29
|
+
|
|
30
|
+
### 工程
|
|
31
|
+
|
|
32
|
+
- 升级内置 Codex 至 `0.149.0`,刷新真实 App Server Schema 基线,并对齐原生 Project 归属、异步消息投递和严格审核通知。
|
|
33
|
+
- 动态映射自定义 Provider 的模型思考量元数据,支持 `max`、`ultra` 和 Provider 自定义档位,并校验当前 Provider 运行时能力。
|
|
34
|
+
- 拆分全栈测试套件并限制 Vitest 并发,提升跨平台门禁稳定性;GitHub Release 改为严格提取对应版本的完整更新日志。
|
|
35
|
+
- 将最低 Node.js 版本调整为 `22.14.0`,同步 CLI、CI、发布环境和使用文档。
|
|
36
|
+
|
|
37
|
+
[Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.1.0...HEAD
|
|
38
|
+
[0.1.0]: https://github.com/BryanHoo/Codexly/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Codexly contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Codexly
|
|
2
|
+
|
|
3
|
+
English | [简体中文](README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
Codexly is a local AI coding workspace for using Codex in a browser. It organizes work by project, streams Codex activity, and provides file, code review, and Git tools while the host computer remains the source of its project filesystem.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- Run project or temporary Codex tasks and follow responses, commands, and file changes in real time
|
|
10
|
+
- Attach files and images, reference project files with `@`, and answer input requests from configured MCP servers
|
|
11
|
+
- Choose the model, reasoning effort, Fast mode, approval behavior, and file access level for each task
|
|
12
|
+
- Organize ordered multi-root projects, archive completed tasks, and permanently delete tasks when needed
|
|
13
|
+
- Inspect files and diffs, review code, manage branches and worktrees, and commit or push changes
|
|
14
|
+
- Fork a task from an AI response and continue it in a new Git worktree
|
|
15
|
+
- Access the workspace from another device on a trusted local network
|
|
16
|
+
|
|
17
|
+
## Requirements
|
|
18
|
+
|
|
19
|
+
- Node.js >=22.14.0
|
|
20
|
+
- Chrome/Chromium 116+, Firefox 124+, or Safari 17.4+
|
|
21
|
+
|
|
22
|
+
Codexly includes a supported Codex CLI through `@openai/codex`; a separate installation is not required. Use `--codex-bin <path>` or `CODEXLY_CODEX_BIN` only when you need another executable.
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
Run the latest version without installing it:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx --package @bryanhu/codexly@latest codexly start
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Codexly opens the browser automatically. If it does not, use the address printed in the terminal; the default is `http://127.0.0.1:3210`. Keep the terminal running and press `Ctrl+C` to stop.
|
|
33
|
+
|
|
34
|
+
On first launch, sign in with ChatGPT or configure an OpenAI-compatible service that supports the Responses API and `GET /models`.
|
|
35
|
+
|
|
36
|
+
For regular use, install Codexly globally:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install --global @bryanhu/codexly
|
|
40
|
+
codexly start
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Usage
|
|
44
|
+
|
|
45
|
+
Select **New task** for work that does not need a project. For repository work, add one or more host directories as ordered project roots, create a task, and submit your request with any required files, images, project references, or Skills. Archived tasks can be restored or permanently deleted from the project task list.
|
|
46
|
+
|
|
47
|
+
Task controls set the model, reasoning, Fast mode, approval, and file access behavior. Notification preferences and the last complete project settings are saved for later tasks. The right inspector provides project files, sources, code changes, Git history, review, and commit actions. Project directories and files always come from the computer running Codexly, including when the UI is opened on another device.
|
|
48
|
+
|
|
49
|
+
## Local Network Access
|
|
50
|
+
|
|
51
|
+
Start trusted LAN access with:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
codexly start --lan
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The terminal prints the LAN address and a random access password. Common options are:
|
|
58
|
+
|
|
59
|
+
| Option | Purpose |
|
|
60
|
+
| --------------------------- | ------------------------------------------------------------------------------------------ |
|
|
61
|
+
| `--port <port>` | Choose the starting port; occupied ports are skipped automatically |
|
|
62
|
+
| `--lan-password <password>` | Set a 16-128 character password containing uppercase, lowercase, number, and symbol |
|
|
63
|
+
| `--allowed-host <domain>` | Allow an exact reverse proxy domain; repeat the option for multiple domains |
|
|
64
|
+
| `--session-ttl <duration>` | Set a fixed LAN session lifetime such as `12h`; omitted sessions last until server restart |
|
|
65
|
+
|
|
66
|
+
Quote passwords containing shell-special characters. LAN mode uses unencrypted HTTP, so use it only on a trusted network and never expose it directly to the internet. Restarting Codexly invalidates the password and all sessions.
|
|
67
|
+
|
|
68
|
+
## Diagnostics and Updates
|
|
69
|
+
|
|
70
|
+
Run `codexly doctor` when startup, Codex, or local data checks fail. Run `codexly --help` for the current command and option reference.
|
|
71
|
+
|
|
72
|
+
Interactive startup and **Settings > About** check for new releases. A global installation can also be updated with:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install --global @bryanhu/codexly@latest
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Help
|
|
79
|
+
|
|
80
|
+
- [Report an issue](https://github.com/BryanHoo/Codexly/issues)
|
|
81
|
+
- [Contributing guide](CONTRIBUTING.md)
|
|
82
|
+
- [Security policy](SECURITY.md)
|
|
83
|
+
- [Changelog](CHANGELOG.md)
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
[MIT](LICENSE)
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Codexly
|
|
2
|
+
|
|
3
|
+
[English](README.md) | 简体中文
|
|
4
|
+
|
|
5
|
+
Codexly 是一个在浏览器中使用 Codex 的本地 AI 编程工作台。它按项目组织任务,实时展示 Codex 的执行过程,并提供文件、代码审查和 Git 工具;项目文件系统始终由运行端电脑提供。
|
|
6
|
+
|
|
7
|
+
## 主要功能
|
|
8
|
+
|
|
9
|
+
- 运行项目任务或临时任务,实时查看回复、命令和文件变更
|
|
10
|
+
- 添加文件与图片、使用 `@` 引用项目文件,并回答已配置 MCP 服务的补充输入请求
|
|
11
|
+
- 为每个任务选择模型、思考量、快速模式、审批方式和文件访问范围
|
|
12
|
+
- 组织有序的多根项目、归档已完成任务,并按需永久删除任务
|
|
13
|
+
- 查看文件与差异、审查代码、管理分支与 worktree,并提交或推送变更
|
|
14
|
+
- 从 AI 回复处分叉任务,在新的 Git worktree 中继续工作
|
|
15
|
+
- 从可信局域网中的其他设备访问工作台
|
|
16
|
+
|
|
17
|
+
## 环境要求
|
|
18
|
+
|
|
19
|
+
- Node.js >=22.14.0
|
|
20
|
+
- Chrome/Chromium 116+、Firefox 124+ 或 Safari 17.4+
|
|
21
|
+
|
|
22
|
+
Codexly 通过 `@openai/codex` 自带受支持的 Codex CLI,无需单独安装。仅在需要使用其他可执行文件时传入 `--codex-bin <path>` 或设置 `CODEXLY_CODEX_BIN`。
|
|
23
|
+
|
|
24
|
+
## 快速开始
|
|
25
|
+
|
|
26
|
+
无需安装,直接运行最新版本:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx --package @bryanhu/codexly@latest codexly start
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Codexly 会自动打开浏览器。若未打开,请访问终端输出的地址;默认地址为 `http://127.0.0.1:3210`。使用期间需保持终端运行,按 `Ctrl+C` 停止。
|
|
33
|
+
|
|
34
|
+
首次启动时,使用 ChatGPT 登录,或配置兼容 Responses API 和 `GET /models` 的 OpenAI-compatible 服务。
|
|
35
|
+
|
|
36
|
+
经常使用时可以全局安装:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install --global @bryanhu/codexly
|
|
40
|
+
codexly start
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 使用方式
|
|
44
|
+
|
|
45
|
+
不依赖项目时,直接选择“新建任务”。处理仓库时,先添加一个或多个运行端目录作为有序的项目根,再创建任务,并按需附加文件、图片、项目引用或 Skills 后提交需求。归档的任务可以从项目任务列表中恢复或永久删除。
|
|
46
|
+
|
|
47
|
+
任务控件用于设置模型、思考量、快速模式、审批方式和文件访问范围。通知偏好与项目最近一次完整设置会保存给后续任务。右侧检查器提供项目文件、来源、代码变更、Git 历史、审查和提交操作。即使从其他设备打开界面,项目目录和文件仍来自运行 Codexly 的电脑。
|
|
48
|
+
|
|
49
|
+
## 局域网访问
|
|
50
|
+
|
|
51
|
+
在可信局域网中启动:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
codexly start --lan
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
终端会输出局域网地址和随机访问密码。常用选项如下:
|
|
58
|
+
|
|
59
|
+
| 选项 | 用途 |
|
|
60
|
+
| --------------------------- | ----------------------------------------------------- |
|
|
61
|
+
| `--port <port>` | 指定起始端口;端口被占用时自动尝试后续端口 |
|
|
62
|
+
| `--lan-password <password>` | 设置 16 至 128 位密码,必须包含大小写字母、数字和符号 |
|
|
63
|
+
| `--allowed-host <domain>` | 允许精确的反向代理域名;多个域名可重复传入 |
|
|
64
|
+
| `--session-ttl <duration>` | 设置固定会话期限,如 `12h`;省略时持续到 Server 重启 |
|
|
65
|
+
|
|
66
|
+
密码含 Shell 特殊字符时请使用引号。局域网模式使用未加密 HTTP,只能用于可信网络,禁止直接暴露到互联网。重启 Codexly 会使密码和全部会话失效。
|
|
67
|
+
|
|
68
|
+
## 诊断与更新
|
|
69
|
+
|
|
70
|
+
启动、Codex 或本地数据检查失败时运行 `codexly doctor`。使用 `codexly --help` 查看当前命令和选项。
|
|
71
|
+
|
|
72
|
+
交互式启动和“设置 > 关于”会检查新版本。全局安装也可以通过以下命令更新:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install --global @bryanhu/codexly@latest
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 获取帮助
|
|
79
|
+
|
|
80
|
+
- [问题反馈](https://github.com/BryanHoo/Codexly/issues)
|
|
81
|
+
- [贡献指南](CONTRIBUTING.md)
|
|
82
|
+
- [安全策略](SECURITY.md)
|
|
83
|
+
- [版本记录](CHANGELOG.md)
|
|
84
|
+
|
|
85
|
+
## 许可证
|
|
86
|
+
|
|
87
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
|
|
3
|
+
createRequire(import.meta.url);
|
|
4
|
+
|
|
5
|
+
// packages/core/src/agent-provider.ts
|
|
6
|
+
var PendingRequestResolutionError = class extends Error {
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = "PendingRequestResolutionError";
|
|
11
|
+
}
|
|
12
|
+
code;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { PendingRequestResolutionError };
|