首页 / 资讯中心 / 文章详情

OpenCreator 深度拆解:以 Codex 为执行内核的本地优先开源 AI 工作台

OpenCreator 深度拆解:以 Codex 为执行内核的本地优先开源 AI 工作台 ★ FEATURED ARTICLE
OpenCreator 深度拆解以 Codex 为执行内核的本地优先开源 AI 工作台【免费下载链接】OpenCreatorFormerly KrillinAI, VideoTranslation and Dubbing Tool for 120 Languages. Open-source AI workspace for creators, powered by Codex. Video downloader, video translation, create videos, images, audios, and edits with Agents in one place. For your Social Media like YouTube, TikTok, Instagram, etc.项目地址: https://gitcode.com/GitHub_Trending/kr/OpenCreatorOpenCreator原 KrillinAI是一个本地优先的开源 AI 创作工作台视频翻译、媒体下载、图像/视频生成与 Agent 对话共用同一套状态机执行内核直接复用 Codex CLI。本文以源码为证据核实它的分层架构、安全边界与本地跑通方式。它做的那一个决定OpenCreator 不重写 Agent loop。模型访问、推理、工具调用、会话、Skills 与 MCP 全部交给 Codex CLI 进程apps/daemon只负责在其上做编排、持久化、审批与事件标准化——即不再维护第二套执行引擎。这个决定的代价是硬依赖apps/daemon/src/main.ts启动时先对 Codex CLI 做版本探测超时 3 秒失败即输出CODEX_VERSION_CHECK_FAILED并置process.exitCode 1daemon 拒绝启动。它锁定的收益同样明确MCP 管理直接读写$CODEX_HOMEapps/daemon/src/codex/mcp/manager.ts技能市场安装指向同一目录OpenCreator 与用户已有的 Codex 配置完全同构没有翻译层。与 Codex 的通信走常驻 app-servermain.ts中persistentAppServerEnabled: process.env.OPENCREATOR_PERSISTENT_APP_SERVER ! 0——即默认常驻显式设0才回退到一次性进程。客户端在apps/daemon/src/codex/app-server-client.ts能力探测缓存写入${dataDir}/codex-capabilities.json并按二进制指纹失效。三条用户能感知到的线开源 AI 工作台的能力不必按九个功能罗列收敛后是三条用户意图线创作内容视频翻译、视频下载、封面生成、图像生成、智能配音、Seedance 视频生成六个工作区每个背后是一个 Executor执行器。典型场景导入一段 46 分钟本地视频 → Whisper 转写 → LLM 断句对齐与翻译 → 双语字幕 配音 → 横竖屏合成导出 SRT/音频/成片全程无手工字幕调整。让 Agent 替你干活按项目组织会话Run 在后台持续执行可排队追加或立即打断计划任务cron各拥有一个长期专属会话触发、手动运行、追问复用同一会话。典型场景定时任务夜间自动产出第二天在任务中心统一查看。管好本地数据数据库、Run 日志、附件、托管工作区默认留在本机审批门控敏感操作Run 日志与诊断导出前脱敏每次修正生成新版本而非覆盖。工作台与对话共享同一状态机apps/web是唯一前端服务端状态机在apps/daemon/src/creator/两侧向同一组状态发事件从结构上杜绝两份互相冲突的任务状态。从你敲下的那条命令开始git clone https://gitcode.com/GitHub_Trending/kr/OpenCreator cd OpenCreator corepack enable pnpm install pnpm web:devpnpm web:dev展开为pnpm --filter opencreator/web dev即vite --host 127.0.0.1见apps/web/package.json。开发服务器按需拉起 daemon终端打印连接地址与临时 token同源代理注入后即可在输入框直接对话无需手工复制连接信息。你看到的每个行为都有明确驱动代码每次启动生成一次性凭据apps/daemon/src/security/token.ts的createRuntimeToken()用randomBytes(32)生成 base64url 字符串main.ts最后将其与监听地址一起打印到 stdout。daemon 只监听回环main.ts中server.listen({ host: 127.0.0.1, port: 0 })——即端口由系统随机分配局域网不可达。首个任务提交后进入 Run 生命周期状态机、并发控制与终态判定都在apps/daemon/src/runs/manager.ts事件经apps/daemon/src/events/normalizer.ts标准化后通过 Runtime API SSE 推到 Web。只调试 daemon 时用pnpm daemon:dev。拆开来看谁在哪个层干活------------------------------------------------------ | 桌面宿主 apps/desktop | | Electron窗口/托盘/原生通知/真实路径Preload 桥 | ------------------------------------------------------ | 创作体验 apps/web | | React Vite唯一前端实现Web/Desktop 同一构建 | ------------------------------------------------------ | 协作核心 | | 共享工作流状态机步骤/进度/结果/版本历史 | ------------------------------------------------------ | 本地 Agent Runtime apps/daemon | | Fastify SSE项目/Run/审批/计划任务/记忆/通知 | --------------------------------------------------- | 本地数据 | Codex 引擎 | 媒体工具链 | | SQLite | CLI/app-server| yt-dlp/FFmpeg/Whisper | | 文件存储 | Skills/MCP | AI 服务 | ---------------------------------------------------层职责关键入口文件一句话实现要点桌面宿主操作系统能力apps/desktop/src/preload/index.tsPreload 桥只做系统能力透传不复制通用业务逻辑创作体验全部 UIapps/web/src/唯一 React 前端与 Desktop 共用构建产物协作核心状态同步与版本apps/daemon/src/creator/工作台与对话是同一状态机的两个投影本地 Runtime编排与生命周期apps/daemon/src/api/server.tsFastify 服务所有创作 Executor 在此注册Codex 引擎Agent 执行真相源apps/daemon/src/codex/app-server-client.ts常驻 app-server事件标准化后外发媒体工具链下载/转写/合成apps/daemon/src/creator/yt-dlp/runtime.ts、runtime/krillinai/yt-dlp 多 Whisper 后端 FFmpeg本地数据持久化与路径packages/config/src/index.tsresolveOpenCreatorPaths统一解析全部路径核心不变量前端不直接启动 Codex也不依赖其原始 JSONL 事件格式所有事件经apps/daemon/src/events/normalizer.ts标准化后才推送。Codex 是 Agent loop、Skills 与 MCP 的唯一执行真相源OpenCreator 不持有第二套。daemon 独占进程生命周期、持久化、审批、计划任务与通知 outbox。Browser 与 Desktop 桥不分别实现通用业务逻辑两端共享同一 Web 构建。跨端一致性有测试兜底apps/web/e2e/gateway-web-desktop-parity.spec.ts、apps/desktop/e2e/desktop.spec.ts等 Parity/E2E 用例。能力清单什么能跑、什么还在路上功能状态具体能力对应 Executor / 模块视频翻译✅转写、断句对齐、术语处理、双语字幕、配音、横竖屏合成、SRT/音频/成片导出creator/templates/video-translation-actions.tscreateVideoTranslationWorkflow视频下载✅解析 YouTube/Bilibili 等公开链接比较清晰度与格式下载视频/音频creator/download/executor.tscreateDownloadExecutor封面生成✅主题 链接 参考图生成多版封面并对比选择creator/templates/cover-actions.tscreateCoverWorkflow图像生成✅GPT Image设置画幅与数量预览下载creator/image/executor.tscreateImageExecutor视频生成✅Seedance 文生视频/图生视频多版本重生成与下载creator/video/executor.tscreateVideoExecutor智能配音✅脚本转配音调整音色、节奏与情绪creator/smart-dubbing/executor.tscreateSmartDubbingExecutor火柴人动画✅角色、分镜、配音、Timeline 与 Remotion 渲染全链creator/stickman/createStickmanContentExecutor等packages/stickman-remotion自动剪辑长视频分析、高光识别、短视频再剪辑api/server.ts注册的createClipExecutor依赖本地 FFmpeg/ffprobe数字人口播文案 声音 数字人形象组合尚无对应 Executor能力边界由三者共同决定本地 Codex 环境语言模型目录见apps/daemon/src/codex/model-catalog-2026-08-05.ts、设置 → AI 服务中的服务配置apps/daemon/src/creator-services/config-store.ts、以及本机媒体组件FFmpeg、yt-dlp、Whisper 后端按runtime/krillinai/pkg/下的 whisper、whisper.cpp、faster-whisper、WhisperKit 选择。文档没说的代码说了文档说 yt-dlp每 7 天检查更新、失败保留当前版本 →apps/daemon/src/creator/yt-dlp/update-manager.ts中CHECK_INTERVAL_MS 7 * 24 * 60 * 60 * 1_000即 604,800,000 ms同文件还有TRUSTED_REDIRECT_HOSTS仅允许 api.github.com 等主机与 64 位SHA256校验正则 → 确认周期无误且更新下载有主机白名单 哈希双校验失败不切换版本。文档说数据目录默认.runtime→api/server.ts中dataDir ?? .runtime只是buildServer的兜底参数生产路径实际走packages/config/src/index.ts的resolveOpenCreatorPaths默认根目录为~/.opencreatordevelopment channel 为~/.opencreator/development→ 备份与迁移应以~/.opencreator为基准而非仓库下的.runtime。文档表格标注火柴人动画即将接入 →apps/daemon/src/api/server.ts生产模式默认注册整链执行器createStickmanContentExecutor、createStickmanImageExecutor、createStickmanAudioExecutor、createStickmanTimelineExecutor、createStickmanRemotionExecutor、createStickmanDeliveryExecutorpackages/stickman-remotion渲染包也在 → 代码领先于文档火柴人管线已具备完整执行链文档状态滞后。文档未提托管项目根默认位置 →api/server.ts中join(input.defaultProjectRoot ?? join(homedir(), Documents), OpenCreator)→ 未配置时托管工作区落在~/Documents/OpenCreator/而不是仓库目录。文档未提 Codex 进程模型 →main.ts显示 app-server 常驻是默认值OPENCREATOR_PERSISTENT_APP_SERVER ! 0→ 长期会话复用同一 Codex 进程thread 轮换阈值由apps/daemon/src/runs/manager.ts的DEFAULT_CODEX_THREAD_ROTATION_RUN_THRESHOLD 50控制可用OPENCREATOR_CODEX_THREAD_ROTATION_RUN_THRESHOLD覆盖设0关闭主动轮换。旋钮、边界与数据归属一览环境变量解析集中在apps/daemon/src/startup.ts的resolveProductionServerEnvironment变量默认值影响范围OPENCREATOR_DATA_DIR~/.opencreator/data数据库、Run、附件、能力缓存根目录OPENCREATOR_CODEX_BINcodexCodex CLI 可执行文件路径CODEX_HOME~/.opencreator/runtime/codex隔离 HomeCodex 会话、配置、Skills、MCP 真相源OPENCREATOR_DEFAULT_CWD当前工作目录daemon 默认执行目录OPENCREATOR_DEFAULT_PROJECT_ROOT~/Documents托管项目根目录实际使用其下OpenCreator/子目录OPENCREATOR_CODEX_THREAD_ROTATION_RUN_THRESHOLD50长期计划任务底层 Codex thread 的终态 Run 轮换阈值OPENCREATOR_PERSISTENT_APP_SERVER启用设0关闭Codex app-server 是否常驻数据落盘路径存了什么备份注意~/.opencreator/config.toml、credentials.json、data/、runtime/、logs/产品数据根可整体迁移~/.opencreator/data/项目库、Run 数据、附件、codex-capabilities.json与 Codex 自身数据分开备份~/.opencreator/runtime/codex隔离 Codex Home会话/技能/MCP即该实例的$CODEX_HOME~/Documents/OpenCreator/托管项目工作区与Exports/独立于数据根迁移需单独处理用户已有$CODEX_HOME如~/.codexCodex 全局配置与历史共享实例修改技能/MCP 前确认影响范围安全边界daemon 只监听127.0.0.1端口系统分配局域网不可达。健康检查以外的 API 全部经apps/daemon/src/api/auth.ts的requireAuth校验Bearer tokentoken 每次启动随机生成。Run 日志与诊断导出前脱敏apps/daemon/src/diagnostics/redactor.ts、apps/daemon/src/security/redaction.ts。托管父进程守护main.ts的installManagedParentWatch监听OPENCREATOR_MANAGED_PARENT_PIDElectron 宿主退出时 daemon 自动关闭不留孤儿进程。想改它 / 想集成它最短路径是 daemon protocolpackages/protocol/是 Web、daemon、Desktop 三方共享的 Runtime 契约apps/harness/提供 Runtime 命令行验证工具。命令用途pnpm web:dev启动 Web按需拉起 daemonpnpm daemon:dev只启动 daemonpnpm desktop:devElectron 开发模式pnpm test全工作区单元与集成测试pnpm typecheck全仓 TypeScript 类型检查pnpm build构建全部 workspaceprebuild先编译runtime/krillinaiGo 运行时pnpm e2eWeb Playwright E2Epnpm smoke:cifake Codex Runtime smokeapps/daemon/test/unit/codex-smoke.test.tspnpm perf:check对照已记录的性能基线提交前至少跑pnpm test、pnpm typecheck、pnpm build。涉及 Host Bridge、Runtime 代理或通用前端流程的改动必须追加 Web/Desktop 一致性 E2Eapps/web/e2e/下的 parity 用例与实际打包 App 验证——只通过 Web 单测不能证明 Desktop 可发布Desktop 打包会重新构建 Web 并校验apps/web/dist与内嵌资源哈希不一致直接失败。真实 Codex smoke 默认不运行需显式开启见apps/daemon/test/smoke/。依赖安全方面根package.json用 pnpmoverrides锁定了undici、tar、ws等一批存在已知漏洞区间的传递依赖。Codex 是唯一执行内核这一点划定了项目边界OpenCreator 不是第二个 Agent 框架也不是云端 SaaS——它是 Codex 之上可持久化、可审批、可编排的本地创作层。技能、MCP 与会话的真相源仍在$CODEX_HOME删掉 daemon 你丢的是编排与状态机删掉 Codex它什么都不是。这正是不维护第二套执行引擎这句架构承诺的全部含义。【免费下载链接】OpenCreatorFormerly KrillinAI, VideoTranslation and Dubbing Tool for 120 Languages. Open-source AI workspace for creators, powered by Codex. Video downloader, video translation, create videos, images, audios, and edits with Agents in one place. For your Social Media like YouTube, TikTok, Instagram, etc.项目地址: https://gitcode.com/GitHub_Trending/kr/OpenCreator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站