mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-10 22:33:48 +02:00
Add files via upload
This commit is contained in:
@@ -211,6 +211,11 @@ multi_agent:
|
|||||||
reduction_sub_agents: true # true:子代理也挂 reduction;false:仅编排主代理使用 reduction
|
reduction_sub_agents: true # true:子代理也挂 reduction;false:仅编排主代理使用 reduction
|
||||||
summarization_trigger_ratio: 0.8 # summarization 触发比例(max_total_tokens * ratio),建议 0.75~0.85
|
summarization_trigger_ratio: 0.8 # summarization 触发比例(max_total_tokens * ratio),建议 0.75~0.85
|
||||||
summarization_emit_internal_events: true # true:发出 summarization 内部事件(便于诊断)
|
summarization_emit_internal_events: true # true:发出 summarization 内部事件(便于诊断)
|
||||||
|
summarization_user_intent_ledger_max_runes: 96000 # 压缩后注入模型上下文的「原始用户输入与约束账本」总字符上限;DB 原始消息不裁剪
|
||||||
|
summarization_user_intent_ledger_entry_max_runes: 16000 # 账本中单条用户消息的字符上限;超出仅裁剪模型可见账本,不影响 DB 原文
|
||||||
|
latest_user_message_max_runes: 48000 # 本轮最新 user 进入模型上下文的字符上限;超出时全文落盘,仅注入 head/tail 预览
|
||||||
|
latest_user_message_head_runes: 24000 # 超长本轮 user 的头部预览字符数
|
||||||
|
latest_user_message_tail_runes: 24000 # 超长本轮 user 的尾部预览字符数
|
||||||
plan_execute_user_input_budget_ratio: 0.35 # plan_execute 中 userInput 预算比例(planner/replanner/executor 共用)
|
plan_execute_user_input_budget_ratio: 0.35 # plan_execute 中 userInput 预算比例(planner/replanner/executor 共用)
|
||||||
plan_execute_executed_steps_budget_ratio: 0.2 # plan_execute 中 executed_steps 预算比例
|
plan_execute_executed_steps_budget_ratio: 0.2 # plan_execute 中 executed_steps 预算比例
|
||||||
plan_execute_max_step_result_runes: 4000 # plan_execute 每步结果最大字符数(超出截断)
|
plan_execute_max_step_result_runes: 4000 # plan_execute 每步结果最大字符数(超出截断)
|
||||||
|
|||||||
@@ -5719,6 +5719,20 @@ html[data-theme="dark"] .openapi-doc-btn:hover {
|
|||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.settings-advanced-block {
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
margin-top: 4px;
|
||||||
|
padding-top: 8px;
|
||||||
|
border-top: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-advanced-block summary {
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--accent-color);
|
||||||
|
}
|
||||||
|
|
||||||
.robot-manager {
|
.robot-manager {
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2267,6 +2267,17 @@
|
|||||||
"multiAgentPeLoopHint": "Only for plan_execute; max execute↔replan rounds.",
|
"multiAgentPeLoopHint": "Only for plan_execute; max execute↔replan rounds.",
|
||||||
"multiAgentRobotMode": "Default conversation mode for bots",
|
"multiAgentRobotMode": "Default conversation mode for bots",
|
||||||
"multiAgentRobotModeHint": "Execution mode for WeCom / DingTalk / Lark bot messages. Deep / Plan-Execute / Supervisor require multi-agent to be enabled.",
|
"multiAgentRobotModeHint": "Execution mode for WeCom / DingTalk / Lark bot messages. Deep / Plan-Execute / Supervisor require multi-agent to be enabled.",
|
||||||
|
"agentAdvanced": "Advanced settings",
|
||||||
|
"userLedgerMaxRunes": "User input ledger total character limit",
|
||||||
|
"userLedgerMaxRunesHint": "Total limit for the original user input ledger injected after compaction; 0 uses the backend default. DB-stored original messages are not truncated.",
|
||||||
|
"userLedgerEntryMaxRunes": "Per-message user input character limit",
|
||||||
|
"userLedgerEntryMaxRunesHint": "Model-visible limit for each user message in the ledger; 0 uses the backend default and does not affect DB originals.",
|
||||||
|
"latestUserMaxRunes": "Latest user input character limit",
|
||||||
|
"latestUserMaxRunesHint": "Runtime limit for the current user message sent to the model; oversized input is persisted and only a preview is injected. 0 uses the backend default.",
|
||||||
|
"latestUserHeadRunes": "Latest user input head preview",
|
||||||
|
"latestUserHeadRunesHint": "Head characters kept visible to the model for oversized current user input.",
|
||||||
|
"latestUserTailRunes": "Latest user input tail preview",
|
||||||
|
"latestUserTailRunesHint": "Tail characters kept visible to the model for oversized current user input.",
|
||||||
"multiAgentBatchUse": "Use multi-agent for batch task queues",
|
"multiAgentBatchUse": "Use multi-agent for batch task queues",
|
||||||
"multiAgentBatchUseHint": "When enabled, each sub-task executed by queue in Task Management will run through Eino DeepAgent (requires multi-agent).",
|
"multiAgentBatchUseHint": "When enabled, each sub-task executed by queue in Task Management will run through Eino DeepAgent (requires multi-agent).",
|
||||||
"enableKnowledge": "Enable knowledge retrieval",
|
"enableKnowledge": "Enable knowledge retrieval",
|
||||||
|
|||||||
@@ -2255,6 +2255,17 @@
|
|||||||
"multiAgentPeLoopHint": "仅 plan_execute 有效;execute 与 replan 之间的最大轮次。",
|
"multiAgentPeLoopHint": "仅 plan_execute 有效;execute 与 replan 之间的最大轮次。",
|
||||||
"multiAgentRobotMode": "机器人默认对话模式",
|
"multiAgentRobotMode": "机器人默认对话模式",
|
||||||
"multiAgentRobotModeHint": "企业微信 / 钉钉 / 飞书机器人每条消息使用的执行模式;Deep / Plan-Execute / Supervisor 需启用多代理。",
|
"multiAgentRobotModeHint": "企业微信 / 钉钉 / 飞书机器人每条消息使用的执行模式;Deep / Plan-Execute / Supervisor 需启用多代理。",
|
||||||
|
"agentAdvanced": "高级设置",
|
||||||
|
"userLedgerMaxRunes": "用户原文账本总字符上限",
|
||||||
|
"userLedgerMaxRunesHint": "压缩后注入模型上下文的原始用户输入账本总上限;0 使用后端默认值。DB 原始消息不裁剪。",
|
||||||
|
"userLedgerEntryMaxRunes": "单条用户原文字符上限",
|
||||||
|
"userLedgerEntryMaxRunesHint": "账本中单条用户消息的模型可见上限;0 使用后端默认值,不影响 DB 原文。",
|
||||||
|
"latestUserMaxRunes": "最新用户输入字符上限",
|
||||||
|
"latestUserMaxRunesHint": "本轮最新 user 进入模型上下文的上限;超出时全文落盘,只注入预览。0 使用后端默认值。",
|
||||||
|
"latestUserHeadRunes": "最新用户输入头部预览",
|
||||||
|
"latestUserHeadRunesHint": "超长最新 user 保留给模型看的头部字符数。",
|
||||||
|
"latestUserTailRunes": "最新用户输入尾部预览",
|
||||||
|
"latestUserTailRunesHint": "超长最新 user 保留给模型看的尾部字符数。",
|
||||||
"multiAgentBatchUse": "批量任务队列也使用多代理",
|
"multiAgentBatchUse": "批量任务队列也使用多代理",
|
||||||
"multiAgentBatchUseHint": "开启后,任务管理中按队列执行的每个子任务将走 Eino DeepAgent(需启用多代理)。",
|
"multiAgentBatchUseHint": "开启后,任务管理中按队列执行的每个子任务将走 Eino DeepAgent(需启用多代理)。",
|
||||||
"enableKnowledge": "启用知识检索功能",
|
"enableKnowledge": "启用知识检索功能",
|
||||||
|
|||||||
@@ -708,6 +708,31 @@ async function loadConfig(loadTools = true) {
|
|||||||
maRobotMode.value = mode;
|
maRobotMode.value = mode;
|
||||||
syncRobotAgentModeSelectOptions(ma.enabled === true);
|
syncRobotAgentModeSelectOptions(ma.enabled === true);
|
||||||
}
|
}
|
||||||
|
const userLedgerMaxEl = document.getElementById('summarization-user-ledger-max-runes');
|
||||||
|
if (userLedgerMaxEl) {
|
||||||
|
const v = ma.summarization_user_intent_ledger_max_runes;
|
||||||
|
userLedgerMaxEl.value = (v !== undefined && v !== null && !Number.isNaN(Number(v))) ? String(Number(v)) : '96000';
|
||||||
|
}
|
||||||
|
const userLedgerEntryMaxEl = document.getElementById('summarization-user-ledger-entry-max-runes');
|
||||||
|
if (userLedgerEntryMaxEl) {
|
||||||
|
const v = ma.summarization_user_intent_ledger_entry_max_runes;
|
||||||
|
userLedgerEntryMaxEl.value = (v !== undefined && v !== null && !Number.isNaN(Number(v))) ? String(Number(v)) : '16000';
|
||||||
|
}
|
||||||
|
const latestUserMaxEl = document.getElementById('latest-user-message-max-runes');
|
||||||
|
if (latestUserMaxEl) {
|
||||||
|
const v = ma.latest_user_message_max_runes;
|
||||||
|
latestUserMaxEl.value = (v !== undefined && v !== null && !Number.isNaN(Number(v))) ? String(Number(v)) : '48000';
|
||||||
|
}
|
||||||
|
const latestUserHeadEl = document.getElementById('latest-user-message-head-runes');
|
||||||
|
if (latestUserHeadEl) {
|
||||||
|
const v = ma.latest_user_message_head_runes;
|
||||||
|
latestUserHeadEl.value = (v !== undefined && v !== null && !Number.isNaN(Number(v))) ? String(Number(v)) : '24000';
|
||||||
|
}
|
||||||
|
const latestUserTailEl = document.getElementById('latest-user-message-tail-runes');
|
||||||
|
if (latestUserTailEl) {
|
||||||
|
const v = ma.latest_user_message_tail_runes;
|
||||||
|
latestUserTailEl.value = (v !== undefined && v !== null && !Number.isNaN(Number(v))) ? String(Number(v)) : '24000';
|
||||||
|
}
|
||||||
|
|
||||||
// 填充知识库配置
|
// 填充知识库配置
|
||||||
const knowledgeEnabledCheckbox = document.getElementById('knowledge-enabled');
|
const knowledgeEnabledCheckbox = document.getElementById('knowledge-enabled');
|
||||||
@@ -1808,6 +1833,21 @@ async function applySettings() {
|
|||||||
const peRaw = document.getElementById('multi-agent-pe-loop')?.value;
|
const peRaw = document.getElementById('multi-agent-pe-loop')?.value;
|
||||||
const peParsed = parseInt(peRaw, 10);
|
const peParsed = parseInt(peRaw, 10);
|
||||||
const peLoop = Number.isNaN(peParsed) ? 0 : Math.max(0, peParsed);
|
const peLoop = Number.isNaN(peParsed) ? 0 : Math.max(0, peParsed);
|
||||||
|
const ledgerRaw = document.getElementById('summarization-user-ledger-max-runes')?.value;
|
||||||
|
const ledgerParsed = parseInt(ledgerRaw, 10);
|
||||||
|
const ledgerMax = Number.isNaN(ledgerParsed) ? 0 : Math.max(0, ledgerParsed);
|
||||||
|
const ledgerEntryRaw = document.getElementById('summarization-user-ledger-entry-max-runes')?.value;
|
||||||
|
const ledgerEntryParsed = parseInt(ledgerEntryRaw, 10);
|
||||||
|
const ledgerEntryMax = Number.isNaN(ledgerEntryParsed) ? 0 : Math.max(0, ledgerEntryParsed);
|
||||||
|
const latestRaw = document.getElementById('latest-user-message-max-runes')?.value;
|
||||||
|
const latestParsed = parseInt(latestRaw, 10);
|
||||||
|
const latestMax = Number.isNaN(latestParsed) ? 0 : Math.max(0, latestParsed);
|
||||||
|
const latestHeadRaw = document.getElementById('latest-user-message-head-runes')?.value;
|
||||||
|
const latestHeadParsed = parseInt(latestHeadRaw, 10);
|
||||||
|
const latestHead = Number.isNaN(latestHeadParsed) ? 0 : Math.max(0, latestHeadParsed);
|
||||||
|
const latestTailRaw = document.getElementById('latest-user-message-tail-runes')?.value;
|
||||||
|
const latestTailParsed = parseInt(latestTailRaw, 10);
|
||||||
|
const latestTail = Number.isNaN(latestTailParsed) ? 0 : Math.max(0, latestTailParsed);
|
||||||
const maEnabled = document.getElementById('multi-agent-enabled')?.checked === true;
|
const maEnabled = document.getElementById('multi-agent-enabled')?.checked === true;
|
||||||
let robotMode = document.getElementById('multi-agent-robot-mode')?.value || 'eino_single';
|
let robotMode = document.getElementById('multi-agent-robot-mode')?.value || 'eino_single';
|
||||||
if (!maEnabled && ['deep', 'plan_execute', 'supervisor'].indexOf(robotMode) >= 0) {
|
if (!maEnabled && ['deep', 'plan_execute', 'supervisor'].indexOf(robotMode) >= 0) {
|
||||||
@@ -1817,7 +1857,12 @@ async function applySettings() {
|
|||||||
enabled: maEnabled,
|
enabled: maEnabled,
|
||||||
robot_default_agent_mode: robotMode,
|
robot_default_agent_mode: robotMode,
|
||||||
batch_use_multi_agent: currentConfig?.multi_agent?.batch_use_multi_agent === true,
|
batch_use_multi_agent: currentConfig?.multi_agent?.batch_use_multi_agent === true,
|
||||||
plan_execute_loop_max_iterations: peLoop
|
plan_execute_loop_max_iterations: peLoop,
|
||||||
|
summarization_user_intent_ledger_max_runes: ledgerMax,
|
||||||
|
summarization_user_intent_ledger_entry_max_runes: ledgerEntryMax,
|
||||||
|
latest_user_message_max_runes: latestMax,
|
||||||
|
latest_user_message_head_runes: latestHead,
|
||||||
|
latest_user_message_tail_runes: latestTail
|
||||||
};
|
};
|
||||||
})(),
|
})(),
|
||||||
knowledge: knowledgeConfig,
|
knowledge: knowledgeConfig,
|
||||||
|
|||||||
@@ -3053,6 +3053,36 @@
|
|||||||
</select>
|
</select>
|
||||||
<small class="form-hint" data-i18n="settingsBasic.multiAgentRobotModeHint">企业微信 / 钉钉 / 飞书机器人每条消息使用的执行模式;Deep / Plan-Execute / Supervisor 需启用多代理。</small>
|
<small class="form-hint" data-i18n="settingsBasic.multiAgentRobotModeHint">企业微信 / 钉钉 / 飞书机器人每条消息使用的执行模式;Deep / Plan-Execute / Supervisor 需启用多代理。</small>
|
||||||
</div>
|
</div>
|
||||||
|
<details class="settings-advanced-block">
|
||||||
|
<summary data-i18n="settingsBasic.agentAdvanced">高级设置</summary>
|
||||||
|
<div class="settings-form" style="margin-top: 0.75rem;">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="summarization-user-ledger-max-runes" data-i18n="settingsBasic.userLedgerMaxRunes">用户原文账本总字符上限</label>
|
||||||
|
<input type="number" id="summarization-user-ledger-max-runes" min="0" step="1000" placeholder="96000" />
|
||||||
|
<small class="form-hint" data-i18n="settingsBasic.userLedgerMaxRunesHint">压缩后注入模型上下文的原始用户输入账本总上限;0 使用后端默认值。DB 原始消息不裁剪。</small>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="summarization-user-ledger-entry-max-runes" data-i18n="settingsBasic.userLedgerEntryMaxRunes">单条用户原文字符上限</label>
|
||||||
|
<input type="number" id="summarization-user-ledger-entry-max-runes" min="0" step="1000" placeholder="16000" />
|
||||||
|
<small class="form-hint" data-i18n="settingsBasic.userLedgerEntryMaxRunesHint">账本中单条用户消息的模型可见上限;0 使用后端默认值,不影响 DB 原文。</small>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="latest-user-message-max-runes" data-i18n="settingsBasic.latestUserMaxRunes">最新用户输入字符上限</label>
|
||||||
|
<input type="number" id="latest-user-message-max-runes" min="0" step="1000" placeholder="48000" />
|
||||||
|
<small class="form-hint" data-i18n="settingsBasic.latestUserMaxRunesHint">本轮最新 user 进入模型上下文的上限;超出时全文落盘,只注入预览。0 使用后端默认值。</small>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="latest-user-message-head-runes" data-i18n="settingsBasic.latestUserHeadRunes">最新用户输入头部预览</label>
|
||||||
|
<input type="number" id="latest-user-message-head-runes" min="0" step="1000" placeholder="24000" />
|
||||||
|
<small class="form-hint" data-i18n="settingsBasic.latestUserHeadRunesHint">超长最新 user 保留给模型看的头部字符数。</small>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="latest-user-message-tail-runes" data-i18n="settingsBasic.latestUserTailRunes">最新用户输入尾部预览</label>
|
||||||
|
<input type="number" id="latest-user-message-tail-runes" min="0" step="1000" placeholder="24000" />
|
||||||
|
<small class="form-hint" data-i18n="settingsBasic.latestUserTailRunesHint">超长最新 user 保留给模型看的尾部字符数。</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user