mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-07-19 21:07:28 +08:00
chore(evolution): lower trigger thresholds to 6 turns / 10 min idle
This commit is contained in:
@@ -13,8 +13,8 @@ from typing import Any
|
|||||||
# Defaults — conservative (see executor module docstring). Disabled by default
|
# Defaults — conservative (see executor module docstring). Disabled by default
|
||||||
# until release; enable via ``self_evolution_enabled``.
|
# until release; enable via ``self_evolution_enabled``.
|
||||||
DEFAULT_ENABLED = False
|
DEFAULT_ENABLED = False
|
||||||
DEFAULT_IDLE_MINUTES = 15
|
DEFAULT_IDLE_MINUTES = 10
|
||||||
DEFAULT_MIN_TURNS = 8
|
DEFAULT_MIN_TURNS = 6
|
||||||
# Max review steps for the isolated evolution agent. Kept small (not exposed as
|
# Max review steps for the isolated evolution agent. Kept small (not exposed as
|
||||||
# config): the review is meant to be cheap and focused, not a long autonomous run.
|
# config): the review is meant to be cheap and focused, not a long autonomous run.
|
||||||
DEFAULT_MAX_STEPS = 12
|
DEFAULT_MAX_STEPS = 12
|
||||||
|
|||||||
@@ -285,7 +285,7 @@
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Docs Link -->
|
<!-- Docs Link -->
|
||||||
<a href="https://docs.cowagent.ai" target="_blank" rel="noopener noreferrer"
|
<a id="docs-link" href="https://docs.cowagent.ai" target="_blank" rel="noopener noreferrer"
|
||||||
class="p-2 rounded-lg text-slate-500 dark:text-slate-400 hover:bg-slate-100 dark:hover:bg-white/10
|
class="p-2 rounded-lg text-slate-500 dark:text-slate-400 hover:bg-slate-100 dark:hover:bg-white/10
|
||||||
cursor-pointer transition-colors duration-150" title="Documentation">
|
cursor-pointer transition-colors duration-150" title="Documentation">
|
||||||
<i class="fas fa-book text-base"></i>
|
<i class="fas fa-book text-base"></i>
|
||||||
|
|||||||
@@ -470,6 +470,9 @@ function applyI18n() {
|
|||||||
installCfgTipPortal();
|
installCfgTipPortal();
|
||||||
const langLabel = document.getElementById('lang-label');
|
const langLabel = document.getElementById('lang-label');
|
||||||
if (langLabel) langLabel.textContent = currentLang === 'zh' ? '中文' : 'EN';
|
if (langLabel) langLabel.textContent = currentLang === 'zh' ? '中文' : 'EN';
|
||||||
|
// Point the docs link to the locale-specific documentation site.
|
||||||
|
const docsLink = document.getElementById('docs-link');
|
||||||
|
if (docsLink) docsLink.href = currentLang === 'zh' ? 'https://docs.cowagent.ai/zh' : 'https://docs.cowagent.ai';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Single entry point for switching language. Updates the in-memory language,
|
// Single entry point for switching language. Updates the in-memory language,
|
||||||
|
|||||||
@@ -253,8 +253,8 @@ available_setting = {
|
|||||||
"knowledge": True, # whether to enable the knowledge base feature
|
"knowledge": True, # whether to enable the knowledge base feature
|
||||||
# Self-evolution: review idle conversations to learn memory/skills. Flat keys.
|
# Self-evolution: review idle conversations to learn memory/skills. Flat keys.
|
||||||
"self_evolution_enabled": False, # switch to enable/disable self-evolution
|
"self_evolution_enabled": False, # switch to enable/disable self-evolution
|
||||||
"self_evolution_idle_minutes": 15, # idle time before a session is reviewed
|
"self_evolution_idle_minutes": 10, # idle time before a session is reviewed
|
||||||
"self_evolution_min_turns": 8, # min user turns (or context pressure) to trigger
|
"self_evolution_min_turns": 6, # min user turns (or context pressure) to trigger
|
||||||
"skill": {}, # Per-skill runtime config; nested keys flatten to SKILL_<NAME>_<KEY> env vars at startup
|
"skill": {}, # Per-skill runtime config; nested keys flatten to SKILL_<NAME>_<KEY> env vars at startup
|
||||||
"mcp_servers": [], # MCP server list; each entry supports type "stdio" (local process) or "sse" (remote URL)
|
"mcp_servers": [], # MCP server list; each entry supports type "stdio" (local process) or "sse" (remote URL)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ description: Self-Evolution — 会話がアイドル状態になった後に振
|
|||||||
|
|
||||||
自律進化は定時実行ではなく、**会話が自然に終わってアイドル状態になった後**にのみ起動するため、進行中のやり取りを妨げることはありません。次の 2 つの条件を同時に満たす必要があります:
|
自律進化は定時実行ではなく、**会話が自然に終わってアイドル状態になった後**にのみ起動するため、進行中のやり取りを妨げることはありません。次の 2 つの条件を同時に満たす必要があります:
|
||||||
|
|
||||||
- **会話がアイドル状態**:最後のやり取りから、設定したアイドル時間(デフォルトは 15 分)以上が経過している
|
- **会話がアイドル状態**:最後のやり取りから、設定したアイドル時間(デフォルトは 10 分)以上が経過している
|
||||||
- **振り返るだけの内容がある**:前回の進化から十分なターン数が蓄積されている、またはコンテキストが容量の上限に近づいている
|
- **振り返るだけの内容がある**:前回の進化から十分なターン数が蓄積されている、またはコンテキストが容量の上限に近づいている
|
||||||
|
|
||||||
両方の条件を満たしたときにのみ振り返りが始まります。これにより、振り返る価値のある内容を確保しつつ、会話の途中で邪魔をしないようにしています。
|
両方の条件を満たしたときにのみ振り返りが始まります。これにより、振り返る価値のある内容を確保しつつ、会話の途中で邪魔をしないようにしています。
|
||||||
@@ -41,8 +41,8 @@ description: Self-Evolution — 会話がアイドル状態になった後に振
|
|||||||
| パラメータ | 説明 | デフォルト値 |
|
| パラメータ | 説明 | デフォルト値 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `self_evolution_enabled` | 自律進化を有効にするかどうか(新規インストールはデフォルトで有効) | `false` |
|
| `self_evolution_enabled` | 自律進化を有効にするかどうか(新規インストールはデフォルトで有効) | `false` |
|
||||||
| `self_evolution_idle_minutes` | 会話がアイドル状態になってからトリガーするまでの時間(分) | `15` |
|
| `self_evolution_idle_minutes` | 会話がアイドル状態になってからトリガーするまでの時間(分) | `10` |
|
||||||
| `self_evolution_min_turns` | トリガーに必要な最小会話ターン数 | `8` |
|
| `self_evolution_min_turns` | トリガーに必要な最小会話ターン数 | `6` |
|
||||||
|
|
||||||
<Tip>
|
<Tip>
|
||||||
Web コンソールでは有効・無効のスイッチのみを提供しています。アイドル時間やターン数のしきい値を変更したい場合は、設定ファイルを編集してください。変更は即時に反映され、再起動は不要です。
|
Web コンソールでは有効・無効のスイッチのみを提供しています。アイドル時間やターン数のしきい値を変更したい場合は、設定ファイルを編集してください。変更は即時に反映され、再起動は不要です。
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ Once a review is done, if it actually changed something, the Agent tells you in
|
|||||||
|
|
||||||
Self-Evolution does not run on a fixed schedule. It only kicks in **after a conversation naturally ends and goes idle**, so it never interrupts an ongoing exchange. Two conditions must both hold:
|
Self-Evolution does not run on a fixed schedule. It only kicks in **after a conversation naturally ends and goes idle**, so it never interrupts an ongoing exchange. Two conditions must both hold:
|
||||||
|
|
||||||
- **The conversation is idle**: more time has passed since the last interaction than the configured idle window (15 minutes by default)
|
- **The conversation is idle**: more time has passed since the last interaction than the configured idle window (10 minutes by default)
|
||||||
- **There is enough to review**: enough turns have accumulated since the last evolution, or the context is close to its capacity
|
- **There is enough to review**: enough turns have accumulated since the last evolution, or the context is close to its capacity
|
||||||
|
|
||||||
Only when both are met does a review begin. This makes sure there is something worth reviewing while keeping it from bothering you mid-conversation.
|
Only when both are met does a review begin. This makes sure there is something worth reviewing while keeping it from bothering you mid-conversation.
|
||||||
@@ -45,8 +45,8 @@ You can toggle Self-Evolution in the Web console under **Settings → Agent Conf
|
|||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `self_evolution_enabled` | Whether Self-Evolution is enabled (on by default for new installs) | `false` |
|
| `self_evolution_enabled` | Whether Self-Evolution is enabled (on by default for new installs) | `false` |
|
||||||
| `self_evolution_idle_minutes` | How long the conversation must be idle before it triggers (minutes) | `15` |
|
| `self_evolution_idle_minutes` | How long the conversation must be idle before it triggers (minutes) | `10` |
|
||||||
| `self_evolution_min_turns` | Minimum conversation turns required to trigger | `8` |
|
| `self_evolution_min_turns` | Minimum conversation turns required to trigger | `6` |
|
||||||
|
|
||||||
<Frame>
|
<Frame>
|
||||||
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/en/web-console-evolution-config.png" alt="Enable Self-Evolution in the Web console" />
|
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/en/web-console-evolution-config.png" alt="Enable Self-Evolution in the Web console" />
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ description: Self-Evolution:自动复盘,沉淀记忆、优化技能、处
|
|||||||
|
|
||||||
自主进化不是定时执行,而是在**一段对话自然结束、进入空闲后**才触发,避免打断正在进行的交流。需要同时满足:
|
自主进化不是定时执行,而是在**一段对话自然结束、进入空闲后**才触发,避免打断正在进行的交流。需要同时满足:
|
||||||
|
|
||||||
- **对话已空闲** — 距离最后一次互动超过设定的空闲时长(默认 15 分钟)
|
- **对话已空闲** — 距离最后一次互动超过设定的空闲时长(默认 10 分钟)
|
||||||
- **对话有足够内容** — 自上次进化以来累积了足够轮次(默认 8 轮),或上下文已接近容量上限
|
- **对话有足够内容** — 自上次进化以来累积了足够轮次(默认 6 轮),或上下文已接近容量上限
|
||||||
|
|
||||||
只有两个条件都满足,才会启动一次复盘。这样既保证有足够的内容值得复盘,又不会在你还在对话时打扰你。
|
只有两个条件都满足,才会启动一次复盘。这样既保证有足够的内容值得复盘,又不会在你还在对话时打扰你。
|
||||||
|
|
||||||
@@ -46,8 +46,8 @@ description: Self-Evolution:自动复盘,沉淀记忆、优化技能、处
|
|||||||
| 参数 | 说明 | 默认值 |
|
| 参数 | 说明 | 默认值 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `self_evolution_enabled` | 是否启用自主进化 | `false` |
|
| `self_evolution_enabled` | 是否启用自主进化 | `false` |
|
||||||
| `self_evolution_idle_minutes` | 对话空闲多久后触发(分钟) | `15` |
|
| `self_evolution_idle_minutes` | 对话空闲多久后触发(分钟) | `10` |
|
||||||
| `self_evolution_min_turns` | 触发所需的最少对话轮次 | `8` |
|
| `self_evolution_min_turns` | 触发所需的最少对话轮次 | `6` |
|
||||||
|
|
||||||
<Frame>
|
<Frame>
|
||||||
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/zh/web-console-evolution-config-zh.png" alt="在 Web 控制台开启自主进化" />
|
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/zh/web-console-evolution-config-zh.png" alt="在 Web 控制台开启自主进化" />
|
||||||
|
|||||||
Reference in New Issue
Block a user