feat(codex): /personality slash + in-session app-server params (#1265)

* feat(codex): support /personality via in-session override

Intercept /personality in the Codex slash layer, keep the value in CLI
memory only, and forward it on thread/turn start when set. Unset means
omit the field so Codex config/thread defaults apply—no Hub DB or web UI.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(codex): refuse fake /personality clear (sticky thread setting)

turn/start.personality sticks for later turns; omitting the field does not
restore config.toml. Drop default|auto|clear success paths and require an
explicit friendly|pragmatic|none instead.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
SSU-WEI HUANG
2026-08-01 23:26:32 +08:00
committed by GitHub
co-authored by Cursor
parent 0537ddf84a
commit bbe99f5c4c
7 changed files with 136 additions and 8 deletions
+7
View File
@@ -212,6 +212,9 @@ export function buildThreadStartParams(args: {
if (args.mode.model) {
params.model = args.mode.model;
}
if (args.mode.personality) {
params.personality = args.mode.personality;
}
const threadServiceTier = toAppServerServiceTier(args.mode.serviceTier);
if (threadServiceTier !== undefined) {
@@ -293,5 +296,9 @@ export function buildTurnStartParams(args: {
params.serviceTier = turnServiceTier;
}
if (args.mode?.personality) {
params.personality = args.mode.personality;
}
return params;
}