Skip to content

feat(wework): add Codex plugin runtime - #1844

Merged
qdaxb merged 8 commits into
mainfrom
agent/wework-codex-plugins
Jul 10, 2026
Merged

qdaxb merged 8 commits into
mainfrom
agent/wework-codex-plugins

Conversation

@qdaxb

@qdaxb qdaxb commented Jul 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • add Wework plugin marketplace, create, detail, and management surfaces backed by Codex app-server
  • wire Codex plugin/skill/app listing, install/uninstall, app-server allowlisting, and structured chat mentions into local runtime execution
  • complete plugin trial flow: single plugin://plugin@marketplace mention, chat draft hydration, template strip, and sent-message badge rendering
  • add Wework Codex home initialization with native Codex migration choice, auth symlink handling, and remote apps configuration
  • document the Wework Codex plugin runtime, migration flow, and chat mention protocol

Validation

  • pnpm --dir wework run lint
  • pnpm --dir wework run typecheck
  • pnpm --dir wework exec vitest run src/components/chat/MessageList.test.tsx --testNamePattern "renders (sent local skill mentions|local skill markdown links|plugin markdown links)"
  • pnpm --dir wework exec vitest run src/App.apps.test.tsx src/App.plugins.test.tsx src/components/plugins/PluginsWorkspace.test.tsx
  • pre-push quality gate: ESLint, TypeScript, Wework unit tests, cargo fmt --check, cargo test --all-features --lib, cargo clippy
  • pushed with AI_VERIFIED=1 after updating plugin runtime docs

Summary by CodeRabbit

  • New Features
    • Added a plugin marketplace for browsing, searching, publishing, installing, and managing Codex plugins.
    • Enabled plugin navigation across desktop and mobile, with plugin creation and marketplace management workflows.
    • Added support for Codex plugin packages, richer metadata, apps, templates, and plugin trial prompts.
    • Added Codex home setup and migration options, including remote apps configuration.
    • Improved chat mentions for skills, apps, and plugins, with autocomplete and readable rendering.
  • Documentation
    • Added English and Chinese documentation for the Codex plugin runtime and workflows.
  • Bug Fixes
    • Improved local asset handling, plugin state synchronization, and marketplace installation status.

@coderabbitai

coderabbitai Bot commented Jul 9, 2026 •

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 04fdd6ef-c44a-47dd-8fff-119e01bebf6d

📥 Commits

Reviewing files that changed from the base of the PR and between d80f4ee and 8663734.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (69)
  • AGENTS.md
  • backend/app/api/endpoints/installed_plugins.py
  • backend/app/schemas/installed_plugin.py
  • backend/app/services/claude_plugin_parser.py
  • backend/app/services/installed_plugin_service.py
  • backend/tests/services/test_installed_plugin_upload.py
  • docs/en/developer-guide/wework-codex-plugins.md
  • docs/zh/developer-guide/wework-codex-plugins.md
  • executor/src/agents/codex.rs
  • executor/src/local/app_ipc.rs
  • executor/src/local/backend/capability.rs
  • executor/src/local/backend/client.rs
  • executor/src/local/local_skills.rs
  • executor/src/runtime_work/handler.rs
  • executor/tests/local_app_ipc_contract.rs
  • wework/package.json
  • wework/src-tauri/src/lib.rs
  • wework/src-tauri/src/local_executor.rs
  • wework/src-tauri/tauri.conf.json
  • wework/src/App.apps.test.tsx
  • wework/src/App.plugins.test.tsx
  • wework/src/App.tsx
  • wework/src/api/local/codexPlugins.ts
  • wework/src/api/plugins.ts
  • wework/src/components/chat/ChatInput.test.tsx
  • wework/src/components/chat/ChatInput.tsx
  • wework/src/components/chat/MessageList.test.tsx
  • wework/src/components/chat/MessageList.tsx
  • wework/src/components/chat/composer/CompactChatComposer.tsx
  • wework/src/components/chat/composer/ComposerSkillNode.tsx
  • wework/src/components/chat/composer/ComposerTextarea.tsx
  • wework/src/components/chat/composer/ProjectChatComposer.tsx
  • wework/src/components/chat/composer/composerAutocomplete.ts
  • wework/src/components/chat/composer/composerLexicalSerialization.ts
  • wework/src/components/chat/composer/useAutoResizeTextarea.ts
  • wework/src/components/layout/BufferedChatInput.test.tsx
  • wework/src/components/layout/BufferedChatInput.tsx
  • wework/src/components/layout/DesktopSidebar.test.tsx
  • wework/src/components/layout/DesktopSidebar.tsx
  • wework/src/components/layout/MobileWorkbenchLayout.test.tsx
  • wework/src/components/plugins/PluginCreateWorkspace.tsx
  • wework/src/components/plugins/PluginDetailView.tsx
  • wework/src/components/plugins/PluginManagementRows.tsx
  • wework/src/components/plugins/PluginManagementWorkspace.tsx
  • wework/src/components/plugins/PluginUploadDialog.tsx
  • wework/src/components/plugins/PluginsWorkspace.test.tsx
  • wework/src/components/plugins/PluginsWorkspace.tsx
  • wework/src/components/plugins/plugin-assets.ts
  • wework/src/components/settings/ConnectionsSettingsPage.test.tsx
  • wework/src/components/settings/MobileSettingsPage.test.tsx
  • wework/src/components/settings/SkillSettingsPage.tsx
  • wework/src/features/local-runtime/CodexHomeInitializer.test.tsx
  • wework/src/features/local-runtime/CodexHomeInitializer.tsx
  • wework/src/features/plugins/pluginTrial.test.ts
  • wework/src/features/plugins/pluginTrial.ts
  • wework/src/features/plugins/visibility.ts
  • wework/src/features/workbench/WorkbenchProvider.test.tsx
  • wework/src/features/workbench/WorkbenchProvider.tsx
  • wework/src/features/workbench/workbenchContextTypes.ts
  • wework/src/features/workbench/workbenchRuntimeHelpers.test.ts
  • wework/src/features/workbench/workbenchRuntimeHelpers.ts
  • wework/src/i18n/locales/en/common.json
  • wework/src/i18n/locales/zh-CN/common.json
  • wework/src/pages/PluginCreatePage.tsx
  • wework/src/pages/PluginManagementPage.tsx
  • wework/src/pages/PluginsPage.tsx
  • wework/src/pages/WorkbenchPage.tsx
  • wework/src/test/setup.ts
  • wework/src/types/api.ts

📝 Walkthrough

Walkthrough

Codex plugin support now spans package parsing, marketplace APIs, local app-server IPC, Codex home migration, marketplace UI, plugin trials, and Lexical-based skill/app mentions. Tests, localization, and English/Chinese runtime documentation were updated accordingly.

Changes

Codex plugin runtime

Layer / File(s) Summary
Backend contracts and marketplace flows
backend/app/schemas/*, backend/app/services/*, backend/app/api/endpoints/*
Adds Codex manifest metadata, marketplace schemas and APIs, package parsing for Codex/Claude layouts, marketplace visibility, publishing, listing, and installation.
Executor and Codex home integration
executor/src/*, wework/src-tauri/src/*
Adds Codex home selection, auth reuse, filesystem migration/configuration, app-server IPC routing, method allowlisting, and structured mention conversion.
Local plugin API and plugin pages
wework/src/api/*, wework/src/pages/*, wework/src/components/plugins/*
Adds local app-server-backed plugin state, marketplace operations, plugin creation, management, app listings, trial actions, and plugin asset resolution.
Composer and trial workflow
wework/src/components/chat/*, wework/src/features/plugins/*, wework/src/features/workbench/*
Replaces the textarea mention implementation with Lexical, supports skill/app mentions, queues plugin trials, displays trial templates, and loads local Codex capabilities.
Validation and supporting updates
backend/tests/*, wework/src/**/*.test.*, wework/src/i18n/*, docs/*, AGENTS.md
Adds marketplace, migration, app-server, composer, trial, settings, and navigation coverage, plus localization and runtime documentation updates.

Estimated code review effort: 5 (Critical) | ~120 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant PluginsPage
  participant LocalCodexPluginAPI
  participant AppIpcServer
  participant CodexAppServer
  User->>PluginsPage: open plugins workspace
  PluginsPage->>LocalCodexPluginAPI: readState
  LocalCodexPluginAPI->>AppIpcServer: codex.app_server_request
  AppIpcServer->>CodexAppServer: request plugin/marketplace methods
  CodexAppServer-->>LocalCodexPluginAPI: marketplaces and installed plugins
  LocalCodexPluginAPI-->>PluginsPage: normalized plugin state
  PluginsPage-->>User: render marketplace and management views
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/wework-codex-plugins

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qdaxb
qdaxb marked this pull request as ready for review July 10, 2026 06:00
@qdaxb
qdaxb merged commit c03faa1 into main Jul 10, 2026
15 checks passed
@qdaxb
qdaxb deleted the agent/wework-codex-plugins branch July 10, 2026 06:15
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