Skip to content

Add Tauri desktop app with local Codex chat - #3

Draft
adrianvalentim wants to merge 8 commits into
codex/progressive-learning-contextfrom
codex/tauri-desktop
Draft

Add Tauri desktop app with local Codex chat#3
adrianvalentim wants to merge 8 commits into
codex/progressive-learning-contextfrom
codex/tauri-desktop

Conversation

@adrianvalentim

@adrianvalentim adrianvalentim commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • package the React tracker as a Tauri 2 desktop application while retaining the browser/server workflow
  • add a native Codex chat backed by the locally installed codex app-server process and the user's existing ChatGPT sign-in, with no API-key handling
  • list project-associated Codex tasks, open full history without taking over the writer, start or resume tasks, stream agent/tool activity, interrupt owned turns, and handle command, file, permission, and user-input requests
  • preserve the tracker filesystem adapter as read-only; Codex writes remain behind its own workspace-write sandbox and approval flow
  • keep terminal Codex and Claude Code workflows functional so their changes to the external vault continue to refresh in the app
  • harden process restart/disconnect behavior, task-scoped running state, background requests, external active-task handling, subscription authentication, and current-time protocol support
  • sanitize rendered session-log Markdown before HTML injection
  • retain the shared snapshot, coalesced refresh, offline fonts, CSP, and packaging improvements from the earlier desktop commits

Architecture and safety

The desktop UI talks JSON-RPC to a small Rust stdio bridge, which launches the installed Codex App Server. Authentication remains owned by Codex/ChatGPT. The app neither stores an OpenAI key nor calls the OpenAI API directly.

Learning workspaces stay external and authoritative. The Tauri filesystem capability still grants only read, metadata, and watch operations. A selected Learning folder is used as the working directory for new Codex tasks; existing tasks associated with either that folder or its project root are shown. Claude Code is not embedded, but it can continue editing the same vault externally.

Raw vault HTML is sanitized at the React render boundary, and the desktop CSP remains restrictive. No private learning data is included.

Validation

  • pnpm -C App check — 8/8 backend tests, frontend production build, and Tauri permission/native validation
  • cargo fmt --manifest-path App/src-tauri/Cargo.toml -- --check
  • cargo clippy --manifest-path App/src-tauri/Cargo.toml --all-targets -- -D warnings
  • pnpm -C App desktop:build --no-bundle — optimized native build completed
  • live read-only App Server smoke test — ChatGPT account detected, project history listed, and an ephemeral task completed with the expected streamed response
  • native visual QA — empty, historical, long-running, and streaming task states rendered correctly
  • staged whitespace, file-mode, path-scope, secret, and private-vault scans

This remains stacked on #2 so the desktop and chat diff stays isolated. It can be retargeted to main after #2 merges.

@adrianvalentim adrianvalentim changed the title Add Tauri desktop app Add Tauri desktop app with reliable workspace refreshes Aug 12, 2026
@adrianvalentim adrianvalentim changed the title Add Tauri desktop app with reliable workspace refreshes Add Tauri desktop app with local Codex chat Aug 12, 2026
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.

1 participant