Skip to content

Add Codex CLI provider#166

Merged
nashsu merged 1 commit into
nashsu:mainfrom
SIGMAREAL:add-codex-cli-provider
May 14, 2026
Merged

Add Codex CLI provider#166
nashsu merged 1 commit into
nashsu:mainfrom
SIGMAREAL:add-codex-cli-provider

Conversation

@SIGMAREAL
Copy link
Copy Markdown
Contributor

Summary

  • add a local Codex CLI provider preset that uses the existing \ login instead of an API key
  • add a Tauri subprocess transport for \ with detect/spawn/kill commands
  • wire the frontend streaming path, settings status pill, provider typing, and no-key provider checks

Testing

  • \

llm-wiki@0.4.9 typecheck
tsc --build --pretty

  • \

llm-wiki@0.4.9 test:mocks
vitest run --exclude='**/*.real-llm.test.ts' --run src/lib/codex-cli-transport.test.ts src/lib/has-usable-llm.test.ts src/lib/tests/llm-providers.test.ts

RUN v4.1.4 /Users/zhuyuxiang/Projects/LLM-wiki/llm_wiki_repo

Test Files 3 passed (3)
Tests 53 passed (53)
Start at 13:19:06
Duration 287ms (transform 225ms, setup 118ms, import 192ms, tests 19ms, environment 0ms)

  • \

llm-wiki@0.4.9 build
npm run typecheck && vite build

llm-wiki@0.4.9 typecheck
tsc --build --pretty

vite v8.0.3 building client environment for production...
�[2K
transforming...✓ 4235 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html 2.46 kB │ gzip: 0.69 kB
dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB
dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB
dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB
dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB
dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB
dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB
dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB
dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB
dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB
dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB
dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB
dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB
dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB
dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB
dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB
dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB
dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB
dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB
dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB
dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB
dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB
dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB
dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB
dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB
dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB
dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB
dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB
dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB
dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB
dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB
dist/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 14.69 kB
dist/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 15.30 kB
dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB
dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB
dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB
dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB
dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB
dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB
dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB
dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB
dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB
dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB
dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB
dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB
dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB
dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB
dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB
dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB
dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB
dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB
dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB
dist/assets/geist-latin-wght-normal-Dm3htQBi.woff2 28.40 kB
dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB
dist/assets/logo-DuXFhhUB.jpg 30.49 kB
dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB
dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB
dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB
dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB
dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB
dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB
dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB
dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB
dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB
dist/assets/index-BXZNe86V.css 123.52 kB │ gzip: 23.65 kB
dist/assets/ingest-EqGv7OqW.js 0.06 kB │ gzip: 0.07 kB
dist/assets/llm-presets-DyBsRxNt.js 0.06 kB │ gzip: 0.08 kB
dist/assets/preset-resolver-C_sJ6ZjH.js 0.06 kB │ gzip: 0.08 kB
dist/assets/search-C9JSiMzr.js 0.06 kB │ gzip: 0.08 kB
dist/assets/update-store-KAdhN41X.js 0.06 kB │ gzip: 0.08 kB
dist/assets/wiki-store-5V6ZX2JJ.js 0.07 kB │ gzip: 0.08 kB
dist/assets/clone-C3g6YeAR.js 0.09 kB │ gzip: 0.10 kB
dist/assets/update-check-CrmtRX58.js 0.10 kB │ gzip: 0.11 kB
dist/assets/array-o2rfyIz3.js 0.10 kB │ gzip: 0.11 kB
dist/assets/channel-BZcFXpda.js 0.11 kB │ gzip: 0.12 kB
dist/assets/pie-ZZUOXDRM-DO_cuJng.js 0.11 kB │ gzip: 0.11 kB
dist/assets/info-OMHHGYJF-qFQ4wai5.js 0.11 kB │ gzip: 0.11 kB
dist/assets/radar-PYXPWWZC-6yCKZVKU.js 0.11 kB │ gzip: 0.12 kB
dist/assets/packet-4T2RLAQJ-uSJ0bOgN.js 0.12 kB │ gzip: 0.12 kB
dist/assets/treemap-W4RFUUIX-BEnC21nC.js 0.12 kB │ gzip: 0.12 kB
dist/assets/wardley-RL74JXVD-D1GioSMd.js 0.12 kB │ gzip: 0.12 kB
dist/assets/gitGraph-7Q5UKJZL-DMSF_94e.js 0.12 kB │ gzip: 0.12 kB
dist/assets/treeView-SZITEDCU-CYwnebjp.js 0.12 kB │ gzip: 0.12 kB
dist/assets/architecture-YZFGNWBL-GTQZTpNc.js 0.12 kB │ gzip: 0.12 kB
dist/assets/has-usable-llm-BToNJYMe.js 0.13 kB │ gzip: 0.14 kB
dist/assets/isSymbol-csiuvw5k.js 0.14 kB │ gzip: 0.14 kB
dist/assets/init-8GNx5phc.js 0.14 kB │ gzip: 0.12 kB
dist/assets/chunk-QZHKN3VN-xheSk9Md.js 0.18 kB │ gzip: 0.15 kB
dist/assets/chunk-4BX2VUAB-D9IT3xe8.js 0.21 kB │ gzip: 0.16 kB
dist/assets/chunk-55IACEB6-DTROcb7e.js 0.22 kB │ gzip: 0.19 kB
dist/assets/dedup-queue-C0VmIJyu.js 0.25 kB │ gzip: 0.18 kB
dist/assets/chunk-426QAEUC-BHtXE9gs.js 0.27 kB │ gzip: 0.23 kB
dist/assets/chunk-FMBD7UC4-BDGT74vm.js 0.35 kB │ gzip: 0.26 kB
dist/assets/ingest-queue-C4TwbSyn.js 0.35 kB │ gzip: 0.22 kB
dist/assets/project-store-xCM1TnAo.js 0.39 kB │ gzip: 0.24 kB
dist/assets/chunk-FOC6F5B3-BO2N9HLC.js 0.45 kB │ gzip: 0.31 kB
dist/assets/chunk-2KRD3SAO-DscA3ljP.js 0.45 kB │ gzip: 0.31 kB
dist/assets/chunk-67CJDMHE-Bmg8fGmn.js 0.46 kB │ gzip: 0.32 kB
dist/assets/chunk-KGLVRYIC-B3bKrToH.js 0.46 kB │ gzip: 0.31 kB
dist/assets/chunk-CIAEETIT-p8F23p3F.js 0.50 kB │ gzip: 0.35 kB
dist/assets/chunk-EDXVE4YY-Cb9cXaUG.js 0.53 kB │ gzip: 0.37 kB
dist/assets/chunk-AA7GKIK3-D1SMgBvB.js 0.60 kB │ gzip: 0.39 kB
dist/assets/min-BOPoyCWI.js 0.61 kB │ gzip: 0.37 kB
dist/assets/infoDiagram-42DDH7IO-Dc3REY8t.js 0.61 kB │ gzip: 0.40 kB
dist/assets/tauri-fetch-BQSIUS3t.js 0.62 kB │ gzip: 0.39 kB
dist/assets/chunk-ORNJ4GCN-CIIhEVGC.js 0.65 kB │ gzip: 0.40 kB
dist/assets/stateDiagram-v2-QKLJ7IA2-XNSTAjmg.js 0.67 kB │ gzip: 0.40 kB
dist/assets/wiki-cleanup-0RBoj6Di.js 0.71 kB │ gzip: 0.41 kB
dist/assets/classDiagram-6PBFFD2Q-U6798MiO.js 0.74 kB │ gzip: 0.43 kB
dist/assets/classDiagram-v2-HSJHXN6E-DjJHWOG6.js 0.74 kB │ gzip: 0.43 kB
dist/assets/isObject-D0A9g1OR.js 0.74 kB │ gzip: 0.38 kB
dist/assets/chunk-CFjPhJqf.js 0.87 kB │ gzip: 0.48 kB
dist/assets/chunk-7N4EOEYR-CmEDH82r.js 0.90 kB │ gzip: 0.49 kB
dist/assets/line-DHA3jWs6.js 0.94 kB │ gzip: 0.47 kB
dist/assets/chunk-ZZ45TVLE-DAt51nxD.js 0.95 kB │ gzip: 0.58 kB
dist/assets/event-CluvUUj6.js 0.95 kB │ gzip: 0.50 kB
dist/assets/core-i0BmTXcT.js 1.08 kB │ gzip: 0.51 kB
dist/assets/ordinal-Ck2LSlNu.js 1.17 kB │ gzip: 0.56 kB
dist/assets/preload-helper-CsoeaaUJ.js 1.19 kB │ gzip: 0.68 kB
dist/assets/isEmpty-DHz93zic.js 1.20 kB │ gzip: 0.65 kB
dist/assets/sources-merge-D5i-c5bM.js 1.42 kB │ gzip: 0.70 kB
dist/assets/chunk-LIHQZDEY-Bx0OY_RC.js 1.46 kB │ gzip: 0.78 kB
dist/assets/wiki-store-Bw-ipCg6.js 1.48 kB │ gzip: 0.63 kB
dist/assets/dist-js-DHNxvq1O.js 1.49 kB │ gzip: 0.50 kB
dist/assets/wiki-page-delete-DuPmNa8I.js 1.53 kB │ gzip: 0.78 kB
dist/assets/codex-cli-transport-BU9QUTlK.js 1.68 kB │ gzip: 0.93 kB
dist/assets/activity-store-fovN04rB.js 1.70 kB │ gzip: 0.78 kB
dist/assets/chunk-X2U36JSP-BQkE05h.js 1.83 kB │ gzip: 0.89 kB
dist/assets/dist-js-C5CyNNB
.js 1.86 kB │ gzip: 0.84 kB
dist/assets/chunk-YZCP3GAM-7ZIO5Qh6.js 1.93 kB │ gzip: 0.86 kB
dist/assets/chunk-BSJP7CBP-I7s0C_eB.js 2.09 kB │ gzip: 0.81 kB
dist/assets/dist-TlK-S7KL.js 2.16 kB │ gzip: 0.97 kB
dist/assets/path-C-grg3CZ.js 2.31 kB │ gzip: 0.99 kB
dist/assets/chat-store-3dCDz18K.js 2.55 kB │ gzip: 0.87 kB
dist/assets/claude-cli-transport-zNpSX173.js 2.56 kB │ gzip: 1.33 kB
dist/assets/fs-BjAiTbfz.js 2.67 kB │ gzip: 1.13 kB
dist/assets/diagram-5BDNPKRD-BQWDE7nG.js 2.79 kB │ gzip: 1.34 kB
dist/assets/reset-project-state-BofUumE5.js 2.81 kB │ gzip: 1.10 kB
dist/assets/project-file-sync-qR89klvn.js 3.02 kB │ gzip: 1.25 kB
dist/assets/graph-relevance-CrFaeRST.js 3.40 kB │ gzip: 1.51 kB
dist/assets/arc-DP-9ChFU.js 3.47 kB │ gzip: 1.46 kB
dist/assets/diagram-TYMM5635-DtA1UbF_.js 4.24 kB │ gzip: 1.83 kB
dist/assets/chunk-336JU56O-D_c5TlSw.js 4.28 kB │ gzip: 1.91 kB
dist/assets/mermaid-parser.core-CNm9m-ET.js 4.63 kB │ gzip: 1.47 kB
dist/assets/defaultLocale-CoF2cqkH.js 4.64 kB │ gzip: 2.12 kB
dist/assets/sweep-reviews-DAwa8LQk.js 5.21 kB │ gzip: 2.36 kB
dist/assets/pieDiagram-DEJITSTG-DM5cP4Lr.js 5.23 kB │ gzip: 2.27 kB
dist/assets/linear-BOhYfWQp.js 5.52 kB │ gzip: 2.25 kB
dist/assets/diagram-MMDJMWI5-BvUSUBge.js 5.76 kB │ gzip: 2.39 kB
dist/assets/ingest-queue-DgT_tM5c.js 6.33 kB │ gzip: 2.37 kB
dist/assets/baseFor-CqZypurl.js 6.83 kB │ gzip: 2.62 kB
dist/assets/react-0UhoXI6A.js 8.10 kB │ gzip: 3.12 kB
dist/assets/baseUniq-CM5qW-xS.js 8.56 kB │ gzip: 3.57 kB
dist/assets/graphlib-BiX5jT18.js 9.40 kB │ gzip: 3.19 kB
dist/assets/llm-client-DYQYp8M3.js 10.24 kB │ gzip: 3.72 kB
dist/assets/embedding-DDiMUJ8X.js 10.33 kB │ gzip: 3.93 kB
dist/assets/stateDiagram-FHFEXIEX-CwtZhvQB.js 10.52 kB │ gzip: 3.66 kB
dist/assets/dagre-KV5264BT-DK78l3i-.js 11.07 kB │ gzip: 4.11 kB
dist/assets/dedup-queue-DoM-UQ2j.js 13.23 kB │ gzip: 5.39 kB
dist/assets/diagram-G4DWMVQ6-fdSI4WSB.js 15.52 kB │ gzip: 5.42 kB
dist/assets/ishikawaDiagram-UXIWVN3A-BYU6e8Hr.js 17.31 kB │ gzip: 6.52 kB
dist/assets/kanban-definition-6JOO6SKY-CJvTvhZk.js 20.22 kB │ gzip: 7.13 kB
dist/assets/sankeyDiagram-XADWPNL6-DLHV7j63.js 21.69 kB │ gzip: 7.81 kB
dist/assets/journeyDiagram-VCZTEJTY-qbJ0CBLp.js 23.16 kB │ gzip: 8.16 kB
dist/assets/mindmap-definition-QFDTVHPH-Cf-SVpdI.js 23.66 kB │ gzip: 8.06 kB
dist/assets/wardleyDiagram-NUSXRM2D-BpZ74xf1.js 23.87 kB │ gzip: 6.29 kB
dist/assets/erDiagram-SMLLAGMA-kioYPULs.js 26.81 kB │ gzip: 9.33 kB
dist/assets/rough.esm-zabqYs6f.js 27.10 kB │ gzip: 8.85 kB
dist/assets/chunk-5PVQY5BW-DJkZtrws.js 28.20 kB │ gzip: 8.17 kB
dist/assets/gitGraphDiagram-UUTBAWPF-DxlDzt0B.js 28.97 kB │ gzip: 8.52 kB
dist/assets/dagre-BTKkjBe9.js 30.00 kB │ gzip: 10.75 kB
dist/assets/timeline-definition-GMOUNBTQ-o0XBRtDm.js 30.39 kB │ gzip: 9.93 kB
dist/assets/requirementDiagram-MS252O5E-Zcyn763b.js 30.96 kB │ gzip: 9.74 kB
dist/assets/mermaid.core-CebWKHi5.js 32.69 kB │ gzip: 11.38 kB
dist/assets/quadrantDiagram-34T5L4WZ-JdRjFkhp.js 33.34 kB │ gzip: 9.70 kB
dist/assets/chunk-ENJZ2VHE-CTu_4q3e.js 33.38 kB │ gzip: 7.01 kB
dist/assets/chunk-OYMX7WX6-BrpFc1_I.js 36.59 kB │ gzip: 11.80 kB
dist/assets/ingest-DmL2HOuv.js 39.57 kB │ gzip: 15.73 kB
dist/assets/xychartDiagram-5P7HB3ND-B9N4JpQe.js 40.04 kB │ gzip: 11.20 kB
dist/assets/vennDiagram-DHZGUBPP-BUa-srIF.js 40.63 kB │ gzip: 14.89 kB
dist/assets/frontmatter-DkWneFf2.js 40.90 kB │ gzip: 13.86 kB
dist/assets/chunk-XPW4576I-9WrVFHA
.js 41.85 kB │ gzip: 14.22 kB
dist/assets/src-CRKu9sKn.js 45.80 kB │ gzip: 16.04 kB
dist/assets/chunk-4TB4RGXK-BtGR3JbF.js 46.88 kB │ gzip: 15.13 kB
dist/assets/chunk-U2HBQHQK-CAe1TNAn.js 52.52 kB │ gzip: 17.13 kB
dist/assets/flowDiagram-DWJPFMVM-n-uQE_zE.js 60.22 kB │ gzip: 19.54 kB
dist/assets/ganttDiagram-T4ZO3ILL-CGi-nmXV.js 69.14 kB │ gzip: 22.64 kB
dist/assets/c4Diagram-AHTNJAMY-CZaIE4en.js 69.17 kB │ gzip: 19.34 kB
dist/assets/blockDiagram-DXYQGD6D-BWRKdcIV.js 69.87 kB │ gzip: 19.54 kB
dist/assets/cose-bilkent-S5V4N54A-DYUG28KO.js 81.39 kB │ gzip: 21.56 kB
dist/assets/chunk-5FUZZQ4R-ed0knHi
.js 97.90 kB │ gzip: 23.74 kB
dist/assets/sequenceDiagram-FGHM5R23-CkapHnvE.js 115.51 kB │ gzip: 30.51 kB
dist/assets/architectureDiagram-Q4EWVU46-X5yvfknx.js 146.78 kB │ gzip: 40.25 kB
dist/assets/chunk-ICPOFSXX-DmBV0DAW.js 214.90 kB │ gzip: 33.82 kB
dist/assets/katex-DqTq2qz5.js 257.04 kB │ gzip: 76.96 kB
dist/assets/cytoscape.esm-LMoHTWL4.js 434.29 kB │ gzip: 137.56 kB
dist/assets/chunk-K5T4RW27-DJObzpX2.js 474.02 kB │ gzip: 102.20 kB
dist/assets/index-HtizIqM3.js 1,446.82 kB │ gzip: 432.98 kB

✓ built in 973ms

Rust build was not run locally because \ is not installed in this environment.

@nashsu nashsu merged commit 8b971e3 into nashsu:main May 14, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants