新闻详情

新闻详情

首页 / 资讯中心 / 详情

一个核心、三个入口:Codex Provider Sync 的 Node Core + Electron 架构深度拆解

发布时间:2026/11/13 10:23:49来源:尧图网络
一个核心、三个入口:Codex Provider Sync 的 Node Core + Electron 架构深度拆解
一个核心、三个入口Codex Provider Sync 的 Node Core Electron 架构深度拆解【免费下载链接】codex-provider-syncSynchronize Codex session provider metadata across rollout files and SQLite state.项目地址: https://gitcode.com/gh_mirrors/co/codex-provider-syncCodex Provider Sync是一款 Codex 会话元数据同步工具切换 Provider 后它负责把会话文件与 SQLite 聊天索引中的 Provider 信息对齐回当前配置。这个项目最有意思的地方在于它的架构——一个 Node Core 核心 三个用户入口Windows 桌面版、Local Web、CLI用 Electron 承载桌面体验却不让界面代码碰任何业务逻辑。为什么必须是单一核心在深入架构之前先理解这个项目要对抗的诱惑功能重复实现。这个项目早期同时维护了 Node 和 .NET 两套桌面实现都理解同一套同步业务。结果就是同一套锁、备份、恢复、SQLite 规则要写两份两个入口的行为容易漂移发布流水线也被拆成两套世界。因此项目在 ADR-0002Node Core 是唯一业务权威 中做出了关键裁决CLI、Local Web UI 和 Electron Desktop 必须通过稳定 Public API 调用同一 CoreNode Core 负责所有同步、备份、恢复和数据安全规则其他入口只负责各自的交互方式。这个决策带来一个非常清爽的依赖关系完整路线见 vNext 架构基线文档层职责明确禁止React RendererUI、交互、表单、展示直接操作文件、SQLite、shellPreload最小、类型化、白名单 API暴露原始 Electron/Node APIElectron Main窗口、生命周期、安全策略、进程监督执行长时间核心业务Core Utility Process执行 Node Core、进度、取消创建窗口、操作 RendererNode Core所有业务与数据安全规则依赖 Electron、DOM、ReactCLI / Web Adapter参数解析、HTTP、输出格式复制核心业务一句话总结React 负责看见什么、如何交互Electron 负责窗口和桌面能力Node Core 负责数据怎么安全地变。一个核心Node Core 怎么组织Node Core 的业务用例位于packages/core/src/application/每个文件对应一个完整用户操作provider-sync.js —— 同步只对齐 rollout 会话文件与 SQLite 中的 Providerprovider-switch.js —— 切换修改 config 根级 Provider 后复用同步backups.js / restore.js —— 受管备份查询与恢复operation-runtime.js —— Plan 生命周期、并发控制与取消而成熟的存储算法rollout 流式扫描、原地覆盖、SQLite 事务、写入前备份仍保留在根src/目录通过端口层静态接入不为了目录整齐而重写。当前模块归属见 Node Core 当前架构文档。所有入口共享的输入/输出类型则统一放在 packages/contracts/src/dto.ts防止 CLI、Web、Electron 各自理解一套不同的结果结构。写入前的 Plan → Confirm → Apply 模型Core 最重要的安全设计是任何写入都分为 Prepare 和 Apply 两步。读取当前状态 → 生成不可变 Plan → 展示影响范围和警告 → 用户确认 → 重新校验 Revision/Snapshot → 执行写入 → 验证与结果报告Plan 是一个随机不透明 ID默认 TTL 10 分钟、进程内单次消费Apply 时不得盲信几秒前的扫描结果必须重新核对 Profile Revision、config 哈希、文件快照等任一变化就返回STALE_STATE要求用户刷新后重新确认修改前自动创建备份默认保留 2 份无需修改则不备份。这意味着无论你在桌面版点按钮、在浏览器里操作还是用 CLI 脚本执行预览 → 确认 → 落盘的安全路径完全一致。三个入口同一份逻辑三种打开方式入口一Windows 桌面版Electron桌面版是日常双击即用的完整产品支持概览、聊天记录、备份恢复、诊断修复等页面用户无需安装 Node.js。桌面版最值得拆解的是进程结构ADR-0005Renderer (React) → Preload (Typed Bridge) → Main (IPC Router Supervisor) → Utility Process (Core Runtime Host) → Node Core为什么要把 Node Core 放进 Utility Process因为 rollout 扫描、SQLite 操作、备份复制可能长时间运行——放在 Main 会卡住窗口生命周期放在 Renderer 会破坏安全边界。utilityProcess是 Electron 自带的 Node 运行时加载的仍然是同一个codex-provider-sync/core包不是 Sidecar也不是第二套核心。Main 中的 Supervisor 负责懒启动、协议版本握手、请求路由、进度转发、崩溃归类Core 进程崩溃时所有 pending 请求统一归类为CORE_RUNTIME_CRASHED而不是让 UI 假死。核心宿主实现见 apps/desktop/src/runtime/host.tsIPC 路由见 apps/desktop/src/main/ipc-router.ts。安全边界同样严格ADR-0004Renderer 只能通过 Preload 暴露的白名单方法如getStatus、prepareSync、applySync调用核心拿不到fs、sqlite、ipcRenderer等任何原始能力。入口二Local Web UI安装 npm 包后运行codex-provider web默认只监听本机127.0.0.1:8791浏览器完成配对后即可操作适合不想装桌面版的跨平台环境。HTTP 服务端实现src/web-server.js浏览器端入口apps/web/src/main.tsx使用指南Web UI 中文指南Local Web 的 UI 层复用与桌面版相同的 React 应用包HTTP 适配器只负责配对、DTO 映射和路由不解释业务规则。入口三CLI / 脚本 / WSLCLI 是最古老的入口也是 npm 发布包的直接产物npm install -g dailin521/codex-provider-sync codex-provider status codex-provider sync命令入口src/cli.js唯一受支持的 Core 导入面src/public-api.jsCLI 指南与 JSON 输出/退出码约定CLI 中文指南CLI 的特别之处在于它可以在同一进程中连续 Prepare/Apply即预览后直接执行无需等待 UI 确认但消费的仍是同一个 Core Plan 与同一套并发控制。共享 UI一套页面服务两个宿主三个入口共享的还不只是 Core还有界面。packages/app-ui/提供概览、同步、切换、历史、备份恢复等全部页面组件App 根组件Electron Renderer 和 Local Web 分别通过packages/core-client/中的 IPC 客户端 和 HTTP 客户端 接入——UI 代码对请求是走 IPC 还是 HTTP完全无感知。这正是三个入口带来的复利修一个 bug、加一个功能一处改动三个入口同时受益。快速上手从哪开始读这个仓库想做什么去哪里理解总体架构路线docs/VNEXT_ELECTRON_NODE_ARCHITECTURE_ZH.md看当前模块真实归属与约束docs/architecture/NODE_CORE_ARCHITECTURE_ZH.md查架构决策ADR 0001–0046docs/adr/找业务用例实现packages/core/src/application/看桌面进程通信apps/desktop/src/main/ 与 apps/desktop/src/runtime/跑防漂移门禁仓库根目录执行npm run architecture:check与npm test项目根 package.json 采用 npm workspaces 组织apps/*cli、desktop、web与packages/*core、contracts、core-client、app-ui 等依赖方向由 scripts/verify-workspace-boundaries.js 强制校验——core禁止依赖 Electron/React/DOMrenderer禁止依赖node:*从工程层面锁死了架构边界。小结这个架构给中小项目的三条启示让唯一权威写在 ADR 里不是口头约定而是 ADR-0002 这样的正式决策 自动化边界检查防止双核心悄悄复活。把长任务隔离到独立进程Electron Utility Process 方案让窗口永远流畅也让核心崩溃与 UI 崩溃互不牵连。入口只是适配器CLI 解析参数、Web 处理 HTTP、Electron 管理窗口业务规则一处实现、处处一致——选择入口只影响操作方式不影响同步结果。这就是 Codex Provider Sync 的一个核心、三个入口用最少的重复代码交付三种体验一致的产品入口。【免费下载链接】codex-provider-syncSynchronize Codex session provider metadata across rollout files and SQLite state.项目地址: https://gitcode.com/gh_mirrors/co/codex-provider-sync创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉