mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 02:29:33 +01:00
feat(codex): let Codex sessions drive other sessions through the codeman skill
Measured on 1.47.0 with the same "spawn a shell worker, echo, read, delete" task: DeepSeek Harness and OpenCode already pass end to end; Codex 0.162 failed three ways, fixed here. - Start Codex 0.162+ with --no-daemon (new noDaemonFlag gate, fail-closed). The shared app-server daemon stopped every launch on an "incompatible feature settings" dialog when another version's daemon was running, and ran commands with another session's CODEMAN_* environment. - Evaluate registry version gates against the gated CLI's own version (resolveSessionCliVersion) instead of claude's for every entry. - Add the opt-in synced setting App Settings > Codex > Allow network access (codexNetworkAccess, default off): --config sandbox_workspace_write.network_access=true, filled as a launch default and clamped off for non-granted owners like the bypass switch. - Skill: carry on with the curl path when `codeman` is not on PATH, re-run a sandbox-blocked call once through the CLI's approval path, name the new setting. Wiki and registry docs updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f1f7eec4d6
commit
87c656283d
20 files changed
+284
-34
No files matched your search
@@ -57,7 +57,11 @@ interface CliEntry {
|
||||
// (where this CLI's own chrome names the model it runs: SessionState.displayModel)
|
||||
// .launchDefaults?: { [launchParam]: settingsKey }
|
||||
// (synced App Settings that seed a LOCAL launch's params the caller left unset;
|
||||
// codex's model and reasoning effort, via src/web/launch-defaults.ts)
|
||||
// codex's model, reasoning effort and network access, via src/web/launch-defaults.ts)
|
||||
// .gates: { [name]: { minVersion, failClosed } }
|
||||
// (version gates a `capabilityGate` launch condition names: claude's `--name`,
|
||||
// codex's `--no-daemon`. Measured against THAT CLI's own version, never claude's:
|
||||
// resolveSessionCliVersion, so an unknown version passes no fail-closed gate)
|
||||
overlays: CliOverlays; // remote-SSH / Docker pane commands, credential store
|
||||
}
|
||||
```
|
||||
|
||||
@@ -140,12 +140,22 @@ message a worker directly instead of typing into its terminal.
|
||||
|
||||
Two things to know:
|
||||
|
||||
- Codex's default sandbox blocks network access, even to this machine, so the skill needs
|
||||
**Bypass approvals and sandbox** (App Settings, Codex).
|
||||
- Codex's default sandbox blocks network access, even to this machine, so turn on
|
||||
**Allow network access** (App Settings, Codex) for a Codex session that should start and
|
||||
drive others. It applies to Codex sessions started after you switch it on, and it keeps
|
||||
Codex's sandbox and approval prompts. It opens the network only where Codex runs the
|
||||
folder in its workspace-write sandbox, which is what Codex does for a project you
|
||||
trusted. In a folder Codex runs read-only (a new case that is not a git repository, for
|
||||
one), Codex asks you to approve each call to Codeman instead; `/permissions` in Codex
|
||||
switches that session to workspace-write. **Bypass approvals and sandbox** works
|
||||
everywhere, but removes the sandbox and the approval prompts.
|
||||
- Codex 0.162 runs its commands in a shared background process, whose Codeman variables can
|
||||
belong to the session that started it.
|
||||
belong to the session that started it. Codeman starts Codex 0.162 and later with
|
||||
`--no-daemon`, so each session runs its own; with an older Codex the skill notices and
|
||||
says so instead of acting.
|
||||
|
||||
The skill checks for both and says so instead of acting.
|
||||
OpenCode and DeepSeek Harness need nothing extra: in their default setup neither keeps its
|
||||
shell commands off the network, so the skill works there as soon as it is injected.
|
||||
|
||||
## What is in the skill
|
||||
|
||||
|
||||
@@ -202,6 +202,7 @@ instead of its native cloud backend. See [Custom Model Endpoints](Custom-Model-E
|
||||
| Default Codex model | Model for new local Codex sessions; empty uses Codex's own config. Letters, digits, `.` `_` `-` `/` only. |
|
||||
| Default Codex reasoning effort | Reasoning level for new local Codex sessions; empty uses Codex's own config. |
|
||||
| Bypass approvals and sandbox | Starts new Codex sessions with `--dangerously-bypass-approvals-and-sandbox`. Read [Agent CLIs](Agent-CLIs) before enabling. |
|
||||
| Allow network access | Starts new Codex sessions with `sandbox_workspace_write.network_access=true`, so commands in Codex's workspace-write sandbox can use the network. The [Codeman Skill](Codeman-Skill) needs it to reach this server from a Codex session. It applies where Codex runs the folder in workspace-write (a project you trusted in Codex); in a folder Codex runs read-only, Codex asks for approval per command instead. The sandbox and approval prompts stay on. Synced, off by default; forced off for users without the privileged-commands grant in multi-user mode. |
|
||||
| Animated status effects | Cosmetic. |
|
||||
| MCP server sync | Copies the MCP servers each installed, enabled CLI (Claude, Codex, Gemini, OpenCode, Antigravity) and GitHub Copilot CLI has into the others' own config files. Synced, off by default, admin only in multi-user mode. Turn it on and **Apply** or **Save** (Apply keeps Settings open), then **Preview** shows what would change and **Sync now** applies it. It only adds missing servers, keeps the previous file as `.codeman-bak`, and leaves a file that receives env values or headers readable by you only. A config dir moved by `CODEX_HOME`, `CLAUDE_CONFIG_DIR`, `XDG_CONFIG_HOME`, `GEMINI_CLI_HOME` or `COPILOT_HOME` in Codeman's own environment is followed. |
|
||||
|
||||
|
||||
Reference in new issue
Block a user