codex-jev
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@codex-jevCurate context for next topic: add payment API integration."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
codex-jev
English | 日本語
A portable Agent Plugin for GitHub Copilot app, Codex, and Hermes that selects past conversation blocks relevant to the next topic and builds a compact handoff for a new task.
This is not a general-purpose summary like /compact. It keeps exact source blocks needed for the user-supplied nextTopic and removes only blocks that are clearly unnecessary. It does not modify the active chat history.
Supported agents
☑ OpenAI Codex — supported via the plugin marketplace. See Install in Codex.
☑ GitHub Copilot app — supported via the standalone app's plugin marketplace. This does not refer to the VS Code extension. See Install in the GitHub Copilot app.
☑ Hermes Agent — supported on Hermes Agent 0.21.3 or later. See Install in Hermes.
All three integrations use the same bundled MCP server and expose the same curate_context tool.
Related MCP server: TimeReverse
Minimal behavior
Exposes one MCP tool:
jev_context.curate_contextAccepts a
nextTopicand ordered conversationblocksAlways preserves
system/developerblocks,pin: true, andstatus: openKeeps likely secrets local and never sends those blocks to Jev
Removes a block only when Jev's
dropprobability is at least 0.9 by defaultPreserves every block when the API key is missing, the request fails, or the response is invalid
Keeps retained text verbatim and in its original order
Reports content-only estimated tokens before and after selection, plus the estimated reduction percentage
Provider configuration
Provider connection settings live in plugins/codex-jev/config.json. Set provider to typesafe for the direct Jev API or openrouter for OpenRouter.
{
"provider": "typesafe",
"providers": {
"typesafe": {
"endpoint": "https://api.typesafe.ai/v1/systemone",
"model": "jev-latest",
"apiKeyEnv": "TYPESAFE_API_KEY"
},
"openrouter": {
"endpoint": "https://openrouter.ai/api/alpha/decisions",
"model": "~typesafe/jev-latest",
"apiKeyEnv": "OPENROUTER_API_KEY"
}
},
"timeoutMs": 15000
}apiKeyEnv is the name of the environment variable, not the API key itself. The actual key is never stored in this configuration file. The top-level provider is the default. Override it without modifying the installed plugin by setting CONTEXT_SELECTOR_PROVIDER to typesafe or openrouter. Both routes use Jev: OpenRouter calls its Decisions API with the ~typesafe/jev-latest alias. Optionally set CONTEXT_SELECTOR_MODEL to a pinned Jev slug such as typesafe/jev-1.13. The portable launcher reads only supported selector settings and provider keys from the process environment or the Hermes environment file.
Development
Requires Node.js 22 or later.
npm install
npm run checkThe build produces a single bundled file at plugins/codex-jev/dist/server.mjs. All supported hosts reuse it, and plugin users do not need to run npm install.
Install in Hermes
Hermes Agent 0.21.3 or later and Node.js 22 or later are required.
hermes plugins install nomper/codex-jev --no-enable
hermes plugins enable codex-jevAdd the selected provider's key to the Hermes environment file. Do not add it to mcp.json or any committed file.
# Windows: %LOCALAPPDATA%\hermes\.env
# Linux/macOS: ~/.hermes/.env
CONTEXT_SELECTOR_PROVIDER=typesafe
# Optional pinned Jev version: CONTEXT_SELECTOR_MODEL=typesafe/jev-1.13
TYPESAFE_API_KEY=replace-with-your-key
# Required only when provider is openrouter:
OPENROUTER_API_KEY=replace-with-your-keyStart a new Hermes session after enabling the plugin or changing the key. The portable skill can use Hermes session search for older exact turns before it calls curate_context.
Install in the GitHub Copilot app
This section is for the standalone GitHub Copilot app, not the VS Code extension.
Open Customize, then Plugins.
Next to the marketplace selector, choose the option to add a marketplace.
Enter
nomper/codex-jevand confirm.Find
codex-jevin that marketplace and choose Install.
Start a new Copilot session after installing or updating the plugin. On Windows, the launcher can read the selected provider key from the same %LOCALAPPDATA%\hermes\.env file shown above, so one local secret configuration can serve both Copilot app and Hermes.
Install in Codex
Add this repository as a plugin marketplace, then install the plugin.
codex plugin marketplace add https://github.com/nomper/codex-jev
codex plugin add codex-jev@codex-jevSet the selected provider's API key only in the environment that launches Codex. Do not write it into source or configuration files. The following example is for the default typesafe provider; use OPENROUTER_API_KEY when provider is openrouter.
$env:TYPESAFE_API_KEY = Read-Host 'TypeSafe API key' -MaskInput | ConvertFrom-SecureString -AsPlainText
codexOpen a new Codex task after changing the environment variable or plugin installation.
Example input
{
"nextTopic": "Decide how to package the GitHub Copilot version",
"blocks": [
{
"id": "request-1",
"role": "user",
"content": "Keep the implementation as simple as possible.",
"pin": true
},
{
"id": "old-1",
"role": "assistant",
"content": "Discussion of an unrelated task that is already complete."
},
{
"id": "todo-1",
"role": "context",
"content": "Prepare design notes for the GitHub Copilot version.",
"status": "open"
}
]
}The retained output contains the exact blocks to pass to the new task. removed contains only excluded IDs, reasons, and probabilities. stats reports the estimated change from estimatedOriginalTokens to estimatedRetainedTokens and the reduction percentage. The estimate is content-only and model-independent (UTF-8 bytes / 4), so it is useful for comparison but is not an exact provider tokenizer count. Keep the original conversation as the authoritative archive.
The GitHub Copilot app design notes are in docs/github-copilot.md (Japanese).
This server cannot be deployed
Maintenance
Related MCP Connectors
Stop re-explaining yourself to Agents. Give it the right context, right when needed.
Cross-LLM persistent memory: store context once, recall it from any AI model.
A paid remote MCP for OpenAI Codex context compressor, built to return verdicts, receipts, usage log
Save an AI chat's working state, load it in any other model or provider. Verified, secret-safe.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides cross-session memory for Claude Code by extracting structured handoffs at session end and retrieving relevant past context at session start.27MIT
- AlicenseNot gradedqualityAmaintenanceProvides verifiable, append-only context handoffs for Codex and MCP clients, enabling memory persistence and resume across chat sessions.1MIT
- AlicenseAqualityDmaintenanceEnables compressing an in-progress AI conversation into a structured context block preserving user goal, decisions, and state, then formats it for another AI to continue seamlessly.448 npm2MIT
- FlicenseNot gradedqualityBmaintenanceEnables agents to analyze their session context usage and surgically remove heavy or unnecessary events from their history, preserving coherent transcripts and freeing token budget without restarting.-