mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-14 08:56:08 +00:00
* feat(gateway): add generic sessions.catalog surface with plugin SDK registration seam
* feat(agents): support one-shot forked CLI session resume with successor rebinding
* feat(anthropic): adopt local Claude CLI sessions into native chats via catalog continue
* feat(codex): register the session catalog provider independently of supervision
* refactor(ui): delete the retired custom Claude/Codex session tab views
* feat(ui): render external session catalogs as native sidebar sessions and chat panes
* docs: describe the unified native session catalog
* fix: harden forked CLI resume and catalog transcript mapping after review
* fix: satisfy strict typecheck for catalog source guard and imported message cast
* chore(i18n): regenerate session catalog locales
* fix(codex): simplify session source guard type
* fix(ui): paginate sidebar session catalogs
* chore(i18n): refresh catalog metadata after main merge
* fix(ui): harden session catalog pagination refresh
* test(agents): use sqlite session accessor in fork tests
* fix(ci): refresh session catalog generated surfaces
* fix(ui): align session catalog locales
* fix: address session catalog review findings
* fix(sessions): roll back failed plugin catalog adoption
* test(sessions): preserve CLI binding literals
* fix(ui): restore native session pagination label
* docs: note external session catalogs
* Revert "docs: note external session catalogs"
This reverts commit cfb503f160.
698 lines
24 KiB
JSON
698 lines
24 KiB
JSON
{
|
|
"id": "codex",
|
|
"name": "Codex",
|
|
"description": "Codex app-server harness, model provider, and native session catalog.",
|
|
"providers": ["codex"],
|
|
"contracts": {
|
|
"mediaUnderstandingProviders": ["codex"],
|
|
"migrationProviders": ["codex"],
|
|
"tools": [
|
|
"codex_threads",
|
|
"codex_endpoint_probe",
|
|
"codex_sessions_list",
|
|
"codex_session_read",
|
|
"codex_session_send",
|
|
"codex_session_interrupt"
|
|
],
|
|
"webSearchProviders": ["codex"]
|
|
},
|
|
"mediaUnderstandingProviderMetadata": {
|
|
"codex": {
|
|
"capabilities": ["image"],
|
|
"defaultModels": {
|
|
"image": "gpt-5.6-sol"
|
|
}
|
|
}
|
|
},
|
|
"providerCatalogEntry": "./provider-discovery.ts",
|
|
"syntheticAuthRefs": ["codex"],
|
|
"nonSecretAuthMarkers": ["codex-app-server"],
|
|
"activation": {
|
|
"onStartup": false,
|
|
"onAgentHarnesses": ["codex"],
|
|
"onCommands": ["codex"],
|
|
"onConfigPaths": ["plugins.entries.codex.config.supervision.enabled"]
|
|
},
|
|
"commandAliases": [
|
|
{
|
|
"name": "codex",
|
|
"kind": "runtime-slash",
|
|
"cliCommand": "plugins"
|
|
}
|
|
],
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"codexDynamicToolsLoading": {
|
|
"type": "string",
|
|
"enum": ["searchable", "direct"],
|
|
"default": "searchable"
|
|
},
|
|
"codexDynamicToolsExclude": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"default": []
|
|
},
|
|
"discovery": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"timeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 2500
|
|
}
|
|
}
|
|
},
|
|
"computerUse": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"autoInstall": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"marketplaceDiscoveryTimeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 60000
|
|
},
|
|
"liveTestTimeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 60000
|
|
},
|
|
"toolCallTimeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 60000
|
|
},
|
|
"healthCheckEnabled": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"healthCheckIntervalMinutes": {
|
|
"type": "number",
|
|
"enum": [30, 60, 120, 240],
|
|
"default": 60
|
|
},
|
|
"pluginCacheMode": {
|
|
"type": "string",
|
|
"enum": ["shared", "independent"],
|
|
"default": "independent"
|
|
},
|
|
"strictReadiness": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"autoRepair": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"marketplaceSource": {
|
|
"type": "string"
|
|
},
|
|
"marketplacePath": {
|
|
"type": "string"
|
|
},
|
|
"marketplaceName": {
|
|
"type": "string"
|
|
},
|
|
"pluginName": {
|
|
"type": "string",
|
|
"default": "computer-use"
|
|
},
|
|
"mcpServerName": {
|
|
"type": "string",
|
|
"default": "computer-use"
|
|
}
|
|
}
|
|
},
|
|
"codexPlugins": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allow_all_plugins": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allow_destructive_actions": {
|
|
"oneOf": [{ "type": "boolean" }, { "const": "auto" }, { "const": "ask" }],
|
|
"default": true
|
|
},
|
|
"plugins": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"marketplaceName": {
|
|
"type": "string",
|
|
"enum": ["openai-curated", "workspace-directory"]
|
|
},
|
|
"pluginName": {
|
|
"type": "string"
|
|
},
|
|
"allow_destructive_actions": {
|
|
"oneOf": [{ "type": "boolean" }, { "const": "auto" }, { "const": "ask" }]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"supervision": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": { "type": "boolean", "default": false },
|
|
"endpoints": {
|
|
"type": "array",
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"label": { "type": "string" },
|
|
"transport": { "const": "stdio-proxy" },
|
|
"command": { "type": "string" },
|
|
"args": { "type": "array", "items": { "type": "string" } },
|
|
"cwd": { "type": "string" }
|
|
}
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["transport", "url"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"label": { "type": "string" },
|
|
"transport": { "const": "websocket" },
|
|
"url": { "type": "string" },
|
|
"authTokenEnv": { "type": "string" }
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"allowRawTranscripts": { "type": "boolean", "default": false },
|
|
"allowWriteControls": { "type": "boolean", "default": false }
|
|
}
|
|
},
|
|
"appServer": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["yolo", "guardian"]
|
|
},
|
|
"transport": {
|
|
"type": "string",
|
|
"enum": ["stdio", "websocket", "unix"],
|
|
"default": "stdio"
|
|
},
|
|
"homeScope": {
|
|
"type": "string",
|
|
"enum": ["agent", "user"],
|
|
"default": "agent"
|
|
},
|
|
"command": { "type": "string" },
|
|
"args": {
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
{ "type": "string" }
|
|
]
|
|
},
|
|
"url": { "type": "string" },
|
|
"authToken": { "type": ["string", "object"] },
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": ["string", "object"] }
|
|
},
|
|
"clearEnv": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"remoteWorkspaceRoot": {
|
|
"type": "string"
|
|
},
|
|
"codeModeOnly": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"requestTimeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 60000
|
|
},
|
|
"turnCompletionIdleTimeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 60000
|
|
},
|
|
"postToolRawAssistantCompletionIdleTimeoutMs": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"default": 300000
|
|
},
|
|
"approvalPolicy": {
|
|
"type": "string",
|
|
"enum": ["never", "on-request", "on-failure", "untrusted"]
|
|
},
|
|
"sandbox": {
|
|
"type": "string",
|
|
"enum": ["read-only", "workspace-write", "danger-full-access"]
|
|
},
|
|
"approvalsReviewer": {
|
|
"type": "string",
|
|
"enum": ["user", "auto_review", "guardian_subagent"]
|
|
},
|
|
"serviceTier": { "type": ["string", "null"] },
|
|
"networkProxy": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"profileName": { "type": "string" },
|
|
"baseProfile": {
|
|
"type": "string",
|
|
"enum": ["read-only", "workspace"]
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["limited", "full"]
|
|
},
|
|
"domains": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string",
|
|
"enum": ["allow", "deny"]
|
|
}
|
|
},
|
|
"unixSockets": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string",
|
|
"enum": ["allow", "none"]
|
|
}
|
|
},
|
|
"proxyUrl": { "type": "string" },
|
|
"socksUrl": { "type": "string" },
|
|
"enableSocks5": { "type": "boolean" },
|
|
"enableSocks5Udp": { "type": "boolean" },
|
|
"allowUpstreamProxy": { "type": "boolean" },
|
|
"allowLocalBinding": { "type": "boolean" },
|
|
"dangerouslyAllowNonLoopbackProxy": { "type": "boolean" },
|
|
"dangerouslyAllowAllUnixSockets": { "type": "boolean" }
|
|
}
|
|
},
|
|
"defaultWorkspaceDir": {
|
|
"type": "string"
|
|
},
|
|
"experimental": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"sandboxExecServer": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"configContracts": {
|
|
"secretInputs": {
|
|
"paths": [
|
|
{ "path": "appServer.authToken", "expected": "string" },
|
|
{ "path": "appServer.headers.*", "expected": "string" }
|
|
]
|
|
}
|
|
},
|
|
"uiHints": {
|
|
"codexDynamicToolsLoading": {
|
|
"label": "Dynamic Tools Loading",
|
|
"help": "Use searchable to defer OpenClaw dynamic tools behind Codex tool search, or direct to expose them in the initial context.",
|
|
"advanced": true
|
|
},
|
|
"codexDynamicToolsExclude": {
|
|
"label": "Dynamic Tool Excludes",
|
|
"help": "Additional OpenClaw dynamic tool names to omit from Codex app-server turns.",
|
|
"advanced": true
|
|
},
|
|
"discovery": {
|
|
"label": "Model Discovery",
|
|
"help": "Plugin-owned controls for discovering Codex app-server models."
|
|
},
|
|
"discovery.enabled": {
|
|
"label": "Enable Discovery",
|
|
"help": "When false, OpenClaw keeps the Codex harness available but uses the bundled fallback model list."
|
|
},
|
|
"discovery.timeoutMs": {
|
|
"label": "Discovery Timeout",
|
|
"help": "Maximum time to wait for Codex app-server model discovery before falling back to the bundled model list.",
|
|
"advanced": true
|
|
},
|
|
"computerUse": {
|
|
"label": "Computer Use",
|
|
"help": "Controls Codex app-server setup for the Computer Use plugin.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.enabled": {
|
|
"label": "Enable Computer Use",
|
|
"help": "When true, Codex-mode turns require the configured Computer Use MCP server to be available.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.autoInstall": {
|
|
"label": "Auto Install",
|
|
"help": "Install the configured Computer Use plugin when Codex-mode turns start.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.marketplaceDiscoveryTimeoutMs": {
|
|
"label": "Marketplace Discovery Timeout",
|
|
"help": "Maximum time to wait for Codex app-server to finish loading marketplaces during Computer Use install.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.liveTestTimeoutMs": {
|
|
"label": "Live Test Timeout",
|
|
"help": "Maximum time for the Computer Use list_apps readiness probe before status and startup treat the live test as failed.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.toolCallTimeoutMs": {
|
|
"label": "Tool Call Timeout",
|
|
"help": "Maximum expected time for real Computer Use tool calls such as list_apps before OpenClaw treats the child runtime as stale.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.healthCheckEnabled": {
|
|
"label": "Periodic Health Checks",
|
|
"help": "When true, run periodic Computer Use live probes on the configured cadence.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.healthCheckIntervalMinutes": {
|
|
"label": "Health Check Interval",
|
|
"help": "Cadence for periodic Computer Use health checks when health checks are enabled.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.pluginCacheMode": {
|
|
"label": "Plugin Cache Mode",
|
|
"help": "The default independent mode leaves each Codex home unmanaged. Choose shared to opt in to a refreshed Codex-discoverable cache copy.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.strictReadiness": {
|
|
"label": "Strict Readiness",
|
|
"help": "When true, a failed Computer Use live probe stops Codex-mode startup. The default false value preserves existing enabled setups by continuing with a warning.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.autoRepair": {
|
|
"label": "Auto Repair",
|
|
"help": "When true, failed Computer Use live tests repair stale scoped Computer Use MCP children before retrying once.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.marketplaceSource": {
|
|
"label": "Marketplace Source",
|
|
"help": "Optional Codex marketplace source to add before installing Computer Use.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.marketplacePath": {
|
|
"label": "Marketplace Path",
|
|
"help": "Optional local Codex marketplace file path containing the Computer Use plugin.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.marketplaceName": {
|
|
"label": "Marketplace Name",
|
|
"help": "Optional registered Codex marketplace name containing the Computer Use plugin.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.pluginName": {
|
|
"label": "Plugin Name",
|
|
"help": "Codex marketplace plugin name for Computer Use.",
|
|
"advanced": true
|
|
},
|
|
"computerUse.mcpServerName": {
|
|
"label": "MCP Server Name",
|
|
"help": "MCP server name exposed by the Computer Use plugin.",
|
|
"advanced": true
|
|
},
|
|
"codexPlugins": {
|
|
"label": "Native Codex Plugins",
|
|
"help": "Controls native Codex plugin availability for Codex harness turns.",
|
|
"advanced": true
|
|
},
|
|
"codexPlugins.enabled": {
|
|
"label": "Enable Native Plugins",
|
|
"help": "Expose explicit Codex plugin entries to Codex harness turns.",
|
|
"advanced": true
|
|
},
|
|
"codexPlugins.allow_all_plugins": {
|
|
"label": "Allow All Connected Apps",
|
|
"help": "Expose every currently accessible app connected to the authenticated Codex account when a new Codex thread starts.",
|
|
"advanced": true
|
|
},
|
|
"codexPlugins.allow_destructive_actions": {
|
|
"label": "Allow Destructive Plugin Actions",
|
|
"help": "Default policy for plugin app write or destructive action elicitations. Use true to accept safe schemas without prompting, false to decline, auto to ask through plugin approvals when Codex requires approval, or ask to prompt for every write/destructive action without durable approval.",
|
|
"advanced": true
|
|
},
|
|
"codexPlugins.plugins": {
|
|
"label": "Plugin Entries",
|
|
"help": "Explicit plugin entries. The wildcard key * is not supported.",
|
|
"advanced": true
|
|
},
|
|
"supervision": {
|
|
"label": "Codex Supervision",
|
|
"help": "Configure the separate user-home App Server connection used by the native session catalog and optional supervision tools.",
|
|
"advanced": true
|
|
},
|
|
"supervision.enabled": {
|
|
"label": "Enable Codex Supervision",
|
|
"help": "Enable agent-facing Codex supervision tools. The operator session catalog remains available whenever the plugin is active."
|
|
},
|
|
"supervision.endpoints": {
|
|
"label": "Legacy Supervisor Endpoints",
|
|
"help": "Advanced compatibility endpoints for migrated Codex Supervisor agent tools.",
|
|
"advanced": true
|
|
},
|
|
"supervision.allowRawTranscripts": {
|
|
"label": "Allow Raw Transcript Tools",
|
|
"help": "Allow supervision agent tools, including turn-inclusive codex_threads reads, to expose full transcripts and transcript previews.",
|
|
"advanced": true
|
|
},
|
|
"supervision.allowWriteControls": {
|
|
"label": "Allow Write Control Tools",
|
|
"help": "Allow supervision agent tools to control turns and let codex_threads fork, rename, archive, or unarchive native threads.",
|
|
"advanced": true
|
|
},
|
|
"appServer": {
|
|
"label": "App Server",
|
|
"help": "Runtime controls for connecting to Codex app-server.",
|
|
"advanced": true
|
|
},
|
|
"appServer.mode": {
|
|
"label": "Execution Mode",
|
|
"help": "Legacy Codex app-server preset. Prefer tools.exec.mode=auto for normalized Guardian-reviewed approvals.",
|
|
"advanced": true
|
|
},
|
|
"appServer.transport": {
|
|
"label": "Transport",
|
|
"help": "Use stdio to spawn Codex locally, unix for the shared local control socket, or websocket for a remote app-server.",
|
|
"advanced": true
|
|
},
|
|
"appServer.homeScope": {
|
|
"label": "Codex Home Scope",
|
|
"help": "Use agent for isolated Codex state, or user to share native Codex threads, config, and authentication with Codex Desktop and the CLI.",
|
|
"advanced": true
|
|
},
|
|
"appServer.command": {
|
|
"label": "Command",
|
|
"help": "Executable used for stdio transport. Leave unset to use OpenClaw's managed Codex binary.",
|
|
"advanced": true
|
|
},
|
|
"appServer.args": {
|
|
"label": "Arguments",
|
|
"help": "Arguments used for stdio transport. Defaults to app-server --listen stdio://.",
|
|
"advanced": true
|
|
},
|
|
"appServer.url": {
|
|
"label": "WebSocket URL",
|
|
"help": "Codex app-server WebSocket URL when transport is websocket.",
|
|
"advanced": true
|
|
},
|
|
"appServer.authToken": {
|
|
"label": "Auth Token",
|
|
"help": "Bearer token sent to the WebSocket app-server.",
|
|
"sensitive": true,
|
|
"advanced": true
|
|
},
|
|
"appServer.headers": {
|
|
"label": "Headers",
|
|
"help": "Additional headers sent to the WebSocket app-server.",
|
|
"sensitive": true,
|
|
"advanced": true
|
|
},
|
|
"appServer.clearEnv": {
|
|
"label": "Clear Environment",
|
|
"help": "Environment variable names removed from the spawned stdio app-server process after overrides are applied.",
|
|
"advanced": true
|
|
},
|
|
"appServer.remoteWorkspaceRoot": {
|
|
"label": "Remote Workspace Root",
|
|
"help": "Remote Codex app-server workspace root used to project OpenClaw cwd suffixes before starting Codex threads.",
|
|
"advanced": true
|
|
},
|
|
"appServer.codeModeOnly": {
|
|
"label": "Code Mode Only",
|
|
"help": "Expose Codex's code-mode-only tool surface. OpenClaw dynamic tools remain available through Codex nested tool calls.",
|
|
"advanced": true
|
|
},
|
|
"appServer.requestTimeoutMs": {
|
|
"label": "Request Timeout",
|
|
"help": "Maximum time to wait for Codex app-server control-plane requests.",
|
|
"advanced": true
|
|
},
|
|
"appServer.turnCompletionIdleTimeoutMs": {
|
|
"label": "Turn Completion Idle Timeout",
|
|
"help": "Maximum quiet time after Codex accepts a turn or after a turn-scoped app-server request before OpenClaw interrupts the turn while waiting for turn/completed.",
|
|
"advanced": true
|
|
},
|
|
"appServer.postToolRawAssistantCompletionIdleTimeoutMs": {
|
|
"label": "Post-Tool Continuation Idle Timeout",
|
|
"help": "Completion-idle and progress guard after a tool handoff, native tool completion, or post-tool raw assistant progress while waiting for turn/completed. Defaults to 300000 ms when unset.",
|
|
"advanced": true
|
|
},
|
|
"appServer.approvalPolicy": {
|
|
"label": "Approval Policy",
|
|
"help": "Codex native approval policy sent to thread start, resume, and turns.",
|
|
"advanced": true
|
|
},
|
|
"appServer.sandbox": {
|
|
"label": "Sandbox",
|
|
"help": "Codex native sandbox mode sent to thread start and resume.",
|
|
"advanced": true
|
|
},
|
|
"appServer.approvalsReviewer": {
|
|
"label": "Approvals Reviewer",
|
|
"help": "Use user approvals or Codex auto_review for native app-server approvals. guardian_subagent remains accepted for compatibility.",
|
|
"advanced": true
|
|
},
|
|
"appServer.serviceTier": {
|
|
"label": "Service Tier",
|
|
"help": "Optional Codex app-server service tier. Use priority, flex, or null. Legacy fast is accepted as priority.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy": {
|
|
"label": "Network Proxy",
|
|
"help": "Enable Codex permissions-profile networking for app-server commands.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.enabled": {
|
|
"label": "Network Proxy Enabled",
|
|
"help": "When enabled, OpenClaw defines a Codex permissions profile and selects it with default_permissions instead of sandbox fields.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.profileName": {
|
|
"label": "Network Proxy Profile",
|
|
"help": "Optional stable Codex permissions profile name. Leave unset to use a generated openclaw-network fingerprint name.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.baseProfile": {
|
|
"label": "Network Proxy Base",
|
|
"help": "Filesystem access used by the generated profile. Defaults to read-only for read-only sandboxes and workspace otherwise.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.domains": {
|
|
"label": "Network Domains",
|
|
"help": "Domain allow and deny rules for Codex sandboxed networking.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.unixSockets": {
|
|
"label": "Unix Sockets",
|
|
"help": "Unix socket allow and none rules for Codex sandboxed networking.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.proxyUrl": {
|
|
"label": "HTTP Proxy URL",
|
|
"help": "HTTP listener URL used by Codex sandboxed networking.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.socksUrl": {
|
|
"label": "SOCKS Proxy URL",
|
|
"help": "SOCKS listener URL used by Codex sandboxed networking.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.enableSocks5": {
|
|
"label": "Enable SOCKS5",
|
|
"help": "Expose SOCKS5 support for the generated Codex permissions profile.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.enableSocks5Udp": {
|
|
"label": "Enable SOCKS5 UDP",
|
|
"help": "Allow UDP over the SOCKS5 listener when SOCKS5 is enabled.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.allowUpstreamProxy": {
|
|
"label": "Allow Upstream Proxy",
|
|
"help": "Allow Codex sandboxed networking to chain through inherited HTTP(S)_PROXY or ALL_PROXY settings.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.allowLocalBinding": {
|
|
"label": "Allow Local Binding",
|
|
"help": "Permit broader local and private-network access through Codex sandboxed networking.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.mode": {
|
|
"label": "Network Mode",
|
|
"help": "Codex sandboxed networking mode for subprocess traffic.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.dangerouslyAllowNonLoopbackProxy": {
|
|
"label": "Allow Non-Loopback Proxy",
|
|
"help": "Permit non-loopback bind addresses for Codex sandboxed networking listeners.",
|
|
"advanced": true
|
|
},
|
|
"appServer.networkProxy.dangerouslyAllowAllUnixSockets": {
|
|
"label": "Allow All Unix Sockets",
|
|
"help": "Bypass Codex's Unix socket allowlist for tightly controlled environments.",
|
|
"advanced": true
|
|
},
|
|
"appServer.defaultWorkspaceDir": {
|
|
"label": "Default Workspace",
|
|
"help": "Workspace used by /codex bind when --cwd is omitted.",
|
|
"advanced": true
|
|
},
|
|
"appServer.experimental": {
|
|
"label": "Experimental",
|
|
"help": "Experimental Codex app-server integrations.",
|
|
"advanced": true
|
|
},
|
|
"appServer.experimental.sandboxExecServer": {
|
|
"label": "Sandbox Exec Server",
|
|
"help": "Route native Codex execution through an OpenClaw sandbox-backed exec-server when OpenClaw sandboxing is active.",
|
|
"advanced": true
|
|
}
|
|
}
|
|
}
|