發佈 0.1.12:會話模式新增「每則獨立」,ctx 達 80% 自動開新會話
根本原因: 會話越用越慢——每張生成圖都會塞回上下文,實測同一會話從 36 秒 一路漲到 135 秒,也更容易在串流時被切斷。 修法: 1. 會話模式 sharedSession 布林改為 sessionMode(per-chat / shared / stateless), stateless = 每則訊息獨立、不保留記憶,適合單張生圖這類不需上下文的 bot; 舊設定檔的 sharedSession 自動相容轉換。 2. 新增 autoResetCtxPercent(預設 80):任一會話上下文用量達門檻即自動 開新會話並在回覆末尾提示,避免無限累積。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -224,8 +224,9 @@
|
||||
<select id="f-session">
|
||||
<option value="per-chat" selected>各聊天室獨立(私訊、每個群組各自記憶)</option>
|
||||
<option value="shared">所有聊天室共用(同一條記憶,適合單一專案助理)</option>
|
||||
<option value="stateless">每則訊息獨立(不保留記憶,最快;適合單張生圖)</option>
|
||||
</select>
|
||||
<div class="hint">共用模式下 /new 會清掉所有聊天室的記憶</div>
|
||||
<div class="hint">記憶會隨對話變慢(尤其含圖);用量達 80% 時所有模式都會自動開新會話</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="check" style="margin-top:2px"><input type="checkbox" id="f-network"> 允許 Codex 連網</label>
|
||||
@@ -386,8 +387,8 @@ function renderBots(bots) {
|
||||
'<td>' + statusBadge(b.status) + '</td>' +
|
||||
'<td><span class="mono" title="' + esc(b.workDir) + '">' + esc(shortPath(b.workDir)) + '</span></td>' +
|
||||
'<td class="mono">' + esc(b.sandbox || '-') +
|
||||
((b.model || b.reasoningEffort || b.sharedSession || b.networkAccess)
|
||||
? '<br><span class="script-name">' + esc([b.model, b.reasoningEffort, b.sharedSession ? '共用會話' : '', b.networkAccess ? '可連網' : ''].filter(Boolean).join(' / ')) + '</span>'
|
||||
((b.model || b.reasoningEffort || b.sessionMode !== 'per-chat' || b.networkAccess)
|
||||
? '<br><span class="script-name">' + esc([b.model, b.reasoningEffort, b.sessionMode === 'shared' ? '共用會話' : b.sessionMode === 'stateless' ? '無記憶' : '', b.networkAccess ? '可連網' : ''].filter(Boolean).join(' / ')) + '</span>'
|
||||
: '') + '</td>' +
|
||||
'<td class="mono">' + esc(b.tokenMasked || '-') + '</td>' +
|
||||
'<td>' + fmtBytes(b.memory) + '</td>' +
|
||||
@@ -479,7 +480,7 @@ function openEdit(name) {
|
||||
document.getElementById('f-workdir').value = b.workDir || '';
|
||||
document.getElementById('f-sandbox').value = b.sandbox || 'workspace-write';
|
||||
populateModelSelects(b.model || '', b.reasoningEffort || '');
|
||||
document.getElementById('f-session').value = b.sharedSession ? 'shared' : 'per-chat';
|
||||
document.getElementById('f-session').value = b.sessionMode || 'per-chat';
|
||||
document.getElementById('f-network').checked = !!b.networkAccess;
|
||||
document.getElementById('f-timeout').value = b.timeoutMinutes || 30;
|
||||
document.getElementById('f-autostart-wrap').style.display = 'none';
|
||||
@@ -501,7 +502,7 @@ async function saveBot() {
|
||||
sandbox: document.getElementById('f-sandbox').value,
|
||||
model: document.getElementById('f-model').value,
|
||||
reasoningEffort: document.getElementById('f-effort').value,
|
||||
sharedSession: document.getElementById('f-session').value === 'shared',
|
||||
sessionMode: document.getElementById('f-session').value,
|
||||
networkAccess: document.getElementById('f-network').checked,
|
||||
timeoutMinutes: document.getElementById('f-timeout').value,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user