feat(examples): add Codex memory plugin example#1080
feat(examples): add Codex memory plugin example#10800xble wants to merge 6 commits intovolcengine:mainfrom
Conversation
|
|
|
Failed to generate code suggestions for PR |
|
Thanks for the contribution. Before this is merged, could you please supplement a few reviewer-facing details so the example is easier to verify end to end?
That additional context would make the feature much easier to review and validate. |
Thanks, that makes sense. I’ll add the missing reviewer-facing validation context up next |
Wait for memory_forget deletions to settle before reporting success so the Codex adapter does not claim a delete while content/read can still see the memory in the same context.
|
I just updated the PR to address the reviewer-facing gaps you called out A few implementation details changed since the original PR, so one clarification up front: this is no longer just an MCP-only example. Because Codex’s practical integration point for “memory that just works” is lifecycle hooks, the example evolved from a manual MCP demo into a hook-first plugin flow, with MCP tools kept as the explicit control layer The default path is now:
I also renamed the explicit manual tools to make the boundary clearer:
What was added or clarified:
Two current limitations are also stated explicitly:
|
|
Recorded a demo video here: https://screen.studio/share/xGfDrJQG |
Description
Add a Codex memory plugin example for OpenViking that follows the same product
model as the Claude and OpenClaw integrations:
UserPromptSubmitStopThe example stays isolated under
examples/and includes the practical hookinstaller and runtime bootstrap needed for Codex today.
Related Issue
N/A
Type of Change
Changes Made
examples/codex-memory-pluginbundle with.codex-plugin/plugin.json,.mcp.json,hooks/,scripts/, TypeScript source, and built server output.UserPromptSubmitrecall andStopcapture instead of an MCP-only workflow.openviking_recall,openviking_store,openviking_forget, andopenviking_healthto make the OpenViking boundary explicit.fullandrecall_onlymodes so the plugin can either own live capture or act as a recall-only layer on top of an existing OpenViking deployment.Testing
Manual validation performed on macOS:
cd examples/codex-memory-plugin npm ci npm run build npm run install:hooksHook-first end-to-end validation was exercised with fresh Codex sessions
against a running local OpenViking server:
Session 1:
Session 2:
Observed result:
Additional macOS validation covered:
openviking_health,openviking_recall,openviking_store, andopenviking_forgetrecall_onlymode behavior, includingStophook removal and manual store/delete rejectionNo automated tests were added for this example because the repository does not currently provide a stable CI harness that can authenticate Codex, install hooks into a temporary Codex home, and exercise stdio MCP plus hook-driven behavior end to end. This PR uses execution-backed manual validation instead.
Checklist
Screenshots (if applicable)
A full terminal demo video was recorded for the hook-first Codex flow on macOS:
https://screen.studio/share/xGfDrJQG
Additional Notes
~/.codex/hooks.jsonin this flow; the plugin manifest alone does not install lifecycle hooks yet.