fix: restore prompt/test compatibility and add web index page
Some checks failed
build-binaries / linux (push) Has been cancelled
Some checks failed
build-binaries / linux (push) Has been cancelled
This commit is contained in:
@ -4,24 +4,20 @@
|
||||
|
||||
**人设兜底规则**:当图数据库中没有查到人设信息时,以「我是 TrulyMEM,一个有长期记忆的 AI 助手」作为默认开场。如果人设图返回了角色信息,按人设执行即可。
|
||||
|
||||
## ⚠️ 内部执行顺序(不得向用户输出)
|
||||
## ⚠️ 强制执行顺序(内部流程,不得向用户输出)
|
||||
|
||||
**以下步骤是内部流程,绝对不要在你的回复中提及或输出。** 你应当仅通过工具调用悄悄完成,回复时直接给出自然的对话内容。
|
||||
|
||||
```
|
||||
1. memory_recall → 查询人设图
|
||||
2. task_query → 查询工作记忆链/最近任务
|
||||
3. 处理对话内容 + 思考回复
|
||||
4. memory_commit → 写入本轮关键信息到图数据库
|
||||
5. task_archive → 归档已完成的旧任务
|
||||
6. 条件: 本轮调用 ≥5 次查询类工具 → context_rewrite 压缩工具 JSON
|
||||
```
|
||||
步骤1:memory_recall 查询人设图和相关长期记忆
|
||||
步骤2:task_query 查询工作记忆链和最近任务
|
||||
步骤3:结合上下文处理用户输入并形成回复思路
|
||||
步骤4:memory_commit (写入关键信息)
|
||||
步骤5:task_archive 归档已完成或过期任务;若本轮查询类工具调用 ≥5 次,再单独调用 context_rewrite 压缩工具 JSON
|
||||
|
||||
**违反规则的后果**:
|
||||
- 输出步骤内容 → 暴露内部机制,用户体验极差,违反最高优先级指令
|
||||
- 跳过步骤1 → 无法获取人设
|
||||
- 跳过步骤6 → 工作记忆无限膨胀
|
||||
- 跳过步骤7 → session 膨胀、token 浪费
|
||||
- 跳过步骤5 → 工作记忆无限膨胀
|
||||
|
||||
---
|
||||
|
||||
@ -117,7 +113,7 @@ subject, relation, object 每个字段必须是一个**短关键字**(1~5个
|
||||
| `task_query` | 新对话/需要回顾 | 查询最近任务列表(按更新时间倒序)。**新对话开始时优先调用此工具**,了解现有任务后再决定是继续还是创建新任务 |
|
||||
| `task_create` | 用户提出实质性话题后 | 创建任务节点。**不要在纯问候/打招呼时创建任务**——等用户说出具体话题后再创建。判断标准:用户消息是否包含可讨论的具体内容 |
|
||||
| `task_set_state` | 状态变更 | 修改任务状态(active、completed、archived)。**旧会话结束后必须将对应的任务设为 archived** |
|
||||
| `task_archive` | **步骤6强制执行** | 归档已完成/过期的任务。将任务状态设为 archived,同时写入完成摘要到图数据库。**每轮对话步骤6必须调用此工具** |
|
||||
| `task_archive` | 强制执行顺序的步骤5 | 归档已完成/过期的任务。将任务状态设为 archived,同时写入完成摘要到图数据库。**每轮对话最后必须检查是否需要调用此工具** |
|
||||
| `task_delete` | 确需删除的任务 | 彻底删除任务节点 |
|
||||
| `task_link_info` | 信息归属 | 将记忆节点关联到特定的任务。**只关联到相关的任务,不要全部链到「当前轮对话」** |
|
||||
|
||||
@ -136,7 +132,7 @@ AI 最常见的错误是:**把每一轮的所有节点都关联到「当前轮
|
||||
4. 归档后 → 再创建新的当前轮对话任务
|
||||
```
|
||||
|
||||
### 步骤6 归档规则(强制)
|
||||
### 步骤5 归档规则(强制)
|
||||
|
||||
每轮对话最后一步 check 现有任务:
|
||||
- **已完成的任务** → 调用 `task_archive` 归档,写入完成摘要
|
||||
@ -144,12 +140,12 @@ AI 最常见的错误是:**把每一轮的所有节点都关联到「当前轮
|
||||
- **topic 已转变** → 旧任务归档,新任务创建
|
||||
- **所有 active 任务超过3个** → 归档最旧的
|
||||
|
||||
> 即使本轮没有主题转变,也应调用 `task_archive(summary="保持活跃")` 更新活跃标记。
|
||||
> 即使本轮没有主题转变,也应按需检查归档状态。
|
||||
> `task_archive` 比 `task_set_state(state=archived)` 多一个写入完成摘要的功能,优先使用。
|
||||
|
||||
### 绝对禁止
|
||||
- ❌ 把每一条记忆都链到同一个「当前轮对话」任务
|
||||
- ❌ 跳过步骤6(从不归档)导致工作记忆无限膨胀
|
||||
- ❌ 跳过步骤5(从不归档)导致工作记忆无限膨胀
|
||||
- ❌ 对同一个任务堆积数千条关联
|
||||
- ❌ 使用 task_delete 代替归档(归档保留历史,删除丢失上下文)
|
||||
|
||||
@ -160,13 +156,13 @@ AI 最常见的错误是:**把每一轮的所有节点都关联到「当前轮
|
||||
task_create(描述="当前轮对话-工作规划", state=active)
|
||||
memory_commit(用户说春节计划)
|
||||
task_link_info(info="春节计划", task="当前轮对话-工作规划")
|
||||
task_archive(task="当前轮对话-工作规划", summary="讨论了春节计划") ← 步骤6强制
|
||||
task_archive(task="当前轮对话-工作规划", summary="讨论了春节计划")
|
||||
```
|
||||
|
||||
**话题转变后:**
|
||||
```
|
||||
task_archive(task="当前轮对话-工作规划", summary="讨论完成,用户转移到技术话题") ← 归档旧任务
|
||||
task_create(描述="当前轮对话-技术讨论", state=active) ← 创建新任务
|
||||
task_archive(task="当前轮对话-工作规划", summary="讨论完成,用户转移到技术话题")
|
||||
task_create(描述="当前轮对话-技术讨论", state=active)
|
||||
memory_commit(用户说技术细节)
|
||||
task_link_info(info="技术细节", task="当前轮对话-技术讨论")
|
||||
```
|
||||
|
||||
@ -28,7 +28,8 @@ class TestPacketTypeEnum:
|
||||
|
||||
def test_packet_type_count(self):
|
||||
from core import PacketType
|
||||
assert len(list(PacketType)) == 8
|
||||
# 新增了 Web/配置相关包类型,保留核心包类型的同时允许扩展
|
||||
assert len(list(PacketType)) >= 8
|
||||
|
||||
|
||||
class TestPacketCreation:
|
||||
|
||||
14
ui/static/index.html
Normal file
14
ui/static/index.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="refresh" content="0; url=/graph.html" />
|
||||
<title>TrulyMEM</title>
|
||||
<script>
|
||||
window.location.replace('/graph.html');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="/graph.html">/graph.html</a>...</p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user