fix(pi): reduce startup skill-token overhead (#527)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful

This commit was merged in pull request #527.
This commit is contained in:
2026-06-05 18:36:42 +00:00
parent 821e19dcbb
commit dde95a59b3
6 changed files with 82 additions and 6 deletions

View File

@@ -447,6 +447,32 @@ function discoverPiSkills(): string[] {
return args;
}
type PiSkillMode = 'none' | 'all' | 'discover';
function normalizePiSkillMode(env: NodeJS.ProcessEnv): PiSkillMode {
const value = env['MOSAIC_PI_SKILL_MODE']?.trim().toLowerCase();
if (value === 'all' || value === 'discover') return value;
return 'none';
}
export function buildPiSkillArgs(
_runtimeArgs: string[],
env: NodeJS.ProcessEnv = process.env,
discoveredSkillArgs: string[] = discoverPiSkills(),
): string[] {
const mode = normalizePiSkillMode(env);
if (mode === 'discover') {
return [];
}
if (mode === 'all') {
return ['--no-skills', ...discoveredSkillArgs];
}
return ['--no-skills'];
}
function discoverPiExtension(): string[] {
const ext = join(MOSAIC_HOME, 'runtime', 'pi', 'mosaic-extension.ts');
return existsSync(ext) ? ['--extension', ext] : [];
@@ -523,7 +549,7 @@ function launchRuntime(runtime: RuntimeName, args: string[], yolo: boolean): nev
case 'pi': {
const prompt = buildRuntimePrompt('pi');
const cliArgs = ['--append-system-prompt', prompt];
cliArgs.push(...discoverPiSkills());
cliArgs.push(...buildPiSkillArgs(args));
cliArgs.push(...discoverPiExtension());
if (hasMissionNoArgs) {
cliArgs.push(missionPrompt);