






















@@ -322,15 +322,18 @@ export async function executePreparedCliRun(
322322const resolvedArgs = useResume
323323 ? baseArgs.map((entry) => entry.replaceAll("{sessionId}", resolvedSessionId ?? ""))
324324 : baseArgs;
325-const claudeSkillsPlugin = await prepareClaudeCliSkillsPlugin({
326-backendId: context.backendResolved.id,
327-skillsSnapshot: params.skillsSnapshot,
328-});
329-let claudeSkillsPluginCleanupOwned = false;
325+const fallbackClaudeSkillsPlugin =
326+context.claudeSkillsPluginArgs === undefined
327+ ? await prepareClaudeCliSkillsPlugin({
328+backendId: context.backendResolved.id,
329+skillsSnapshot: params.skillsSnapshot,
330+})
331+ : undefined;
332+let fallbackClaudeSkillsPluginCleanupOwned = false;
333+const claudeSkillsPluginArgs =
334+context.claudeSkillsPluginArgs ?? fallbackClaudeSkillsPlugin?.args ?? [];
330335const baseArgsWithSkills =
331-claudeSkillsPlugin.args.length > 0
332- ? [...resolvedArgs, ...claudeSkillsPlugin.args]
333- : resolvedArgs;
336+claudeSkillsPluginArgs.length > 0 ? [...resolvedArgs, ...claudeSkillsPluginArgs] : resolvedArgs;
334337const executionBaseArgs =
335338context.backendResolved.resolveExecutionArgs?.({
336339config: params.config,
@@ -453,7 +456,7 @@ export async function executePreparedCliRun(
453456model: context.modelId,
454457backend: context.backendResolved.id,
455458});
456-claudeSkillsPluginCleanupOwned = true;
459+fallbackClaudeSkillsPluginCleanupOwned = true;
457460const ownedPreparedBackendCleanup = context.preparedBackend.cleanup;
458461context.preparedBackend.cleanup = undefined;
459462const liveResult = await runClaudeLiveSessionTurn({
@@ -482,7 +485,7 @@ export async function executePreparedCliRun(
482485},
483486cleanup: async () => {
484487try {
485-await claudeSkillsPlugin.cleanup();
488+await fallbackClaudeSkillsPlugin?.cleanup();
486489} finally {
487490await ownedPreparedBackendCleanup?.();
488491}
@@ -753,8 +756,8 @@ export async function executePreparedCliRun(
753756}
754757});
755758} finally {
756-if (!claudeSkillsPluginCleanupOwned) {
757-await claudeSkillsPlugin.cleanup();
759+if (!fallbackClaudeSkillsPluginCleanupOwned) {
760+await fallbackClaudeSkillsPlugin?.cleanup();
758761}
759762if (systemPromptFile) {
760763await systemPromptFile.cleanup();
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。