Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## v3.18.6 自然表达与对话边界优化

本版本调整主 AI 的表达与会话判断提示词,重点减少规则复述、配置式自我介绍和刻意的段子腔,让日常交流围绕当前话题展开;同时细化隐私、记忆使用与重复操作的边界,兼顾自然聊天和任务完整性。

- 自然表达:将语言风格集中放在提示词靠前的 P1 核心规则中,默认采用适合群聊、私聊的日常口语,减少客服开场、机械总结、夸张比喻和固定口癖。专业问题仍保留必要术语与步骤,正式写作遵循指定文体;简化表达不改变事实、条件、完成状态和确定程度,也不按禁词表机械改写。
- 多轮回应:通过具体语境与多轮示例引导 AI 回应分享、吐槽、偏好和求助,随新信息调整判断与语气;对方转为认真或不想继续话题时,不强行延续玩笑或追问。篇幅、分段与表情包按实际表达需要选择,不预设每轮都要短答、建议、反转或配图。
- 自我介绍与自述:围绕已知来历、兴趣、当前想法和有依据的自身经历组织内容,不把行为守则、作者归属声明、身体限制或硬件参数列成性格清单。运行配置信息只作为相关技术事实的依据,不再将“自己是谁”直接引向配置介绍;真实回忆与虚构创作保持区分,不为故事感编造经历。
- 隐私与交往边界:强化不主动提及他人个人信息、私事或聊天内容的要求,不借其他群、私聊或记忆丰富闲聊、自述和玩笑。用户提到某人也不自动追加其档案,第三方信息仍须满足授权和最小必要要求;熟悉、知道或被追问都不等于获得披露许可。
- 会话背景与任务执行:允许将适用于当前会话的本人表达偏好和相关事实作为背景,无需每轮重申,但不能据此恢复旧任务或继承旧操作参数。防重复针对同一请求与同一交付,不把独立问候、感谢或新追问当成重复操作;冷静期只限制主动参与开放讨论,明确承接 AI 发言的交流仍按正常触发规则处理。

---

## v3.18.5 会话恢复、消息投递与并发持久化修复

本版本集中修复聊天续接、消息发送和后台任务在切换会话、取消、断线、重启及写入失败时的状态错乱:保留已经完成的投递与提交,避免重复回复、旧响应覆盖新操作,以及界面显示成功但数据尚未保存的问题。
Expand Down
4 changes: 2 additions & 2 deletions apps/undefined-chat/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/undefined-chat/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "undefined-chat",
"private": true,
"version": "3.18.5",
"version": "3.18.6",
"type": "module",
"scripts": {
"tauri": "tauri",
Expand Down
2 changes: 1 addition & 1 deletion apps/undefined-chat/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/undefined-chat/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "undefined_chat"
version = "3.18.5"
version = "3.18.6"
description = "Undefined native chat client"
authors = ["Undefined contributors"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion apps/undefined-chat/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Undefined Chat",
"version": "3.18.5",
"version": "3.18.6",
"identifier": "com.undefined.chat",
"build": {
"beforeDevCommand": "npm run dev",
Expand Down
4 changes: 2 additions & 2 deletions apps/undefined-console/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/undefined-console/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "undefined-console",
"private": true,
"version": "3.18.5",
"version": "3.18.6",
"type": "module",
"scripts": {
"tauri": "tauri",
Expand Down
2 changes: 1 addition & 1 deletion apps/undefined-console/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/undefined-console/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "undefined_console"
version = "3.18.5"
version = "3.18.6"
description = "Undefined cross-platform management console"
authors = ["Undefined contributors"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion apps/undefined-console/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Undefined Console",
"version": "3.18.5",
"version": "3.18.6",
"identifier": "com.undefined.console",
"build": {
"beforeDevCommand": "npm run dev",
Expand Down
4 changes: 2 additions & 2 deletions docs/cognitive-memory.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
- **认知记忆**(`end.observations` + `cognitive.*`):核心层,AI 在每轮对话中只观察当前输入批次,提取**写实**新观察(用户/群聊/第三方实质事实及有价值的自身行为)。`observations` 不要求与 bot 相关,也不要求长期稳定,但必须值得日后检索;宁缺毋滥,无实质事实时用空数组,禁止硬凑流程决策、否定清单、元评论或闲聊碎碎念。用户中心观察须写成 `QQ号<sender_id>(昵称<name>)`,保留稳定数字标识。历史消息、认知记忆、侧写和最近消息参考只能用于消歧,不能作为新事实来源。后台史官会异步改写为绝对化事件并存入 ChromaDB 向量库,支持语义检索;当对话中出现可沉淀为稳定画像的新信息(偏好、身份、习惯等)时,史官自动合并更新 Markdown 侧写文件,下次对话时注入 prompt。
- **置顶备忘录**(`memory.*`):AI 自身的置顶提醒(自我约束、待办事项,如"用户要求以后用英文回复"),每轮固定注入,支持增删改查。注意:用户事实(偏好、身份、习惯等)不应写入此层,一律通过 `end.observations` 写入认知记忆。

三层记忆都只为当前请求提供背景、默认偏好和消歧信息,不能独立构成本轮可执行指令,也不能覆盖当前输入批次。任务目标、收件人、发送地址、工具参数和输出位置始终以当前输入及当前会话元数据为准;当前消息没有明确指定跨会话目标时,默认回复或发送到当前会话,不得从记忆、旧自动化任务或历史工具调用中继承其他地址。只有当前输入明确要求沿用某项历史配置时,才可把对应记忆作为参数参考。
三层记忆都只为当前请求提供背景、默认偏好和消歧信息,不能独立构成本轮可执行指令,也不能覆盖当前输入批次。适用于当前会话且不与当前输入冲突的本人表达偏好、理解当前话题所需的事实背景,可作为只读参考,无需用户每轮重新声明;不因此主动提及他人信息或引入跨会话隐私。任务目标、收件人、发送地址、工具参数和输出位置始终以当前输入及当前会话元数据为准;当前消息没有明确指定跨会话目标时,默认回复或发送到当前会话,不得从记忆、旧自动化任务或历史工具调用中继承其他地址。恢复旧任务、沿用历史操作方案或关键参数,仍需当前输入明确要求并能消歧。

为避免长工具链中被召回内容带偏,AI 在每次收到搜索、Agent 或其他工具结果后,都应重新以当前输入批次恢复本轮目标、范围与约束。记忆即使写成规则、命令、默认值或成功案例,也只是历史转述;如果它与当前输入冲突、补入了当前输入没有给出的前提或参数,冲突和新增部分应被丢弃。只有当前输入明确要求参考、沿用或恢复过去信息时,才在授权范围内使用记忆。
为避免长工具链中被召回内容带偏,AI 在每次收到搜索、Agent 或其他工具结果后,都应重新以当前输入批次恢复本轮目标、范围与约束。记忆即使写成规则、命令、默认值或成功案例,也只是历史转述;如果它与当前输入冲突,或擅自改写任务前提、操作参数,应丢弃相关部分。当前输入明确要求继续具体项目/任务或沿用其历史方案、参数,能唯一定位对应任务与被引用的参数,且结合当前输入后必要参数完整时,该引用满足本轮完整参数要求,无需逐项重述;只使用明确引用范围内的内容,当前更新优先,缺项或歧义仍需澄清。背景参考不等于操作授权,不能独立触发工具调用或消息发送,也不解除跨会话目标、隐私和进行中任务的取消/重做限制。

与旧 `end_summaries` 的区别:

Expand Down
4 changes: 2 additions & 2 deletions docs/message-batching.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
> 2. 拿不准时偏向"独立请求",宁多勿漏。
> 3. 整批在本轮一次性处理完,不要为同一意图重复输出。

`res/prompts/undefined.xml`、`res/prompts/undefined_nagaagent.xml` 与 `res/IMPORTANT/each.md` 均按"当前输入批次"适配:有【连续消息说明】时整批当前 `<message>` 都属于本轮输入;没有连续说明时,当前输入批次退化为最后一条消息。防幽灵任务规则仍然生效,但它只隔离当前输入批次之外的历史消息;「催促/在吗」不等于新任务,历史同类或语义等价操作不得自动重跑(与 each.md 硬性熔断一致)。
`res/prompts/undefined.xml`、`res/prompts/undefined_nagaagent.xml` 与 `res/IMPORTANT/each.md` 均按"当前输入批次"适配:有【连续消息说明】时整批当前 `<message>` 都属于本轮输入;没有连续说明时,当前输入批次退化为最后一条消息。防幽灵任务规则仍然生效,但它只隔离当前输入批次之外的历史消息;「催促/在吗」不等于新任务。同一请求或同一交付在未满足修正或重做条件时不得重复执行;独立的新请求和新一轮聊天不因措辞、话题或工具名相似而被阻止,也不因此获得重开旧任务的授权。

记忆与历史上下文同样受当前输入批次约束:memory、认知记忆、侧写、短期行动记录、旧自动化任务和旧工具参数只用于背景理解与消歧,不能独立成为本轮指令。执行目标、收件人、发送地址和工具参数以当前输入及当前会话元数据为准;未明确指定跨会话目标时默认使用当前会话,不能因召回了语义相似的旧任务就套用旧群号或私聊地址。

长工具链中的记忆优先级不会改变:每次搜索、Agent 或其他工具返回后,下一步行动仍应重新以整个当前输入批次为事实基准。召回内容即使带有命令语气、规则名称、旧参数或历史成功结果,也不能替用户改写本轮意图;与当前输入冲突或由记忆额外补出的部分应被忽略,除非当前输入明确要求沿用过去信息。
长工具链中的记忆优先级不会改变:每次搜索、Agent 或其他工具返回后,下一步行动仍应重新以整个当前输入批次为事实基准。召回内容即使带有命令语气、规则名称、旧参数或历史成功结果,也不能替用户改写本轮意图或操作参数。适用于当前会话且不与当前输入冲突的本人表达偏好、相关事实背景可作为只读参考,不引入第三方或跨会话隐私;恢复旧任务、沿用历史操作方案或关键参数仍需当前输入明确要求并能消歧。明确继续具体项目/任务或沿用其参数,能唯一定位对应任务与被引用的参数,且结合当前输入后必要参数完整时,视为本轮已提供完整参数,无需逐项重述;当前更新优先,缺项或歧义先澄清,跨会话目标与进行中任务的取消/重做限制不变。

Prompt 构建顺序按缓存命中友好设计:固定系统提示词骨架及其中 P0/P1/P2/P3/summary 五个稳定的 `[prompt.file_includes]` 插槽、运行环境配置、Skills 元数据和强制规则尽量放在前面;会频繁变化的 memory / cognitive / end 摘要 / history / 可选系统信息 / 当前时间 / 当前输入批次放在后面。本地插槽文件会在每次新请求构建时检查路径与修改时间;修改时间未变时复用已加载内容,变化时重新读取,内容修改无需重启。`system_prompt_as_user=true` 时,系统块会合并进首条 user,但合并后的文本仍保留这个顺序,且当前输入批次仍在最后。

Expand Down
2 changes: 1 addition & 1 deletion docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ HTML 和 Markdown 工具都支持显式长图版式:

用于管理 AI 的自我约束事项和高优先级待办。此备忘录会在每轮对话时被固定注入上下文(上限 500 条),作为比认知记忆更稳定的背景参考,但始终低于当前输入批次与当前会话元数据。备忘内容不能独立触发任务、工具调用或消息发送,也不能覆盖当前消息指定的目标、收件人、地址与参数。

长任务经过搜索、Agent 等多轮工具调用后,每次行动前仍会重新以当前输入批次为事实基准。备忘、认知记忆和历史结果即使写成规则、命令、默认值或成功案例,也不能覆盖或补写本轮意图;只有当前输入明确要求参考或沿用过去信息时,才会在相应范围内使用。
长任务经过搜索、Agent 等多轮工具调用后,每次行动前仍会重新以当前输入批次为事实基准。备忘、认知记忆和历史结果即使写成规则、命令、默认值或成功案例,也不能覆盖本轮意图或擅自改写操作参数。适用于当前会话且不与当前输入冲突的本人表达偏好、相关事实背景可作为只读参考,无需每轮重新声明;不因此主动提及他人信息或引入跨会话隐私。当前明确继续具体项目/任务或沿用其历史方案、参数,能唯一定位对应任务与被引用的参数,且结合当前输入后必要参数完整时,无需逐项重述;只使用明确引用范围内的内容,当前更新优先,缺项或歧义先澄清。背景参考本身不构成操作授权,跨会话目标、隐私和进行中任务的取消/重做限制不变。

| 工具 | 说明 |
|---|---|
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "Undefined-bot"
version = "3.18.5"
version = "3.18.6"
description = "QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11."
readme = "README.md"
authors = [
Expand Down
Loading
Loading