feat: 完成DPML协议体系0~1阶段开发 - 三层协议架构100%实现,智能路径检测系统,@package://与package.json完美集成,用户项目集成方案,CLI框架完整实现,132/137核心测试通过(96.3%通过率)

This commit is contained in:
sean
2025-05-31 13:03:26 +08:00
parent 3338b7c21f
commit be285f55b8
89 changed files with 6071 additions and 467 deletions

View File

@ -0,0 +1,48 @@
<execution>
<process>
# 资源处理#流程
```mermaid
flowchart TD
A[识别#资源引用] --> B{判断#加载语义}
B -->|@!前缀| C[立即执行#工具调用]
B -->|@?前缀| D[记录位置暂不#加载]
B -->|@默认| E[根据上下文决定]
C --> F[验证#加载结果]
E --> F
F -->|成功| G[处理#资源内容]
F -->|失败| H[执行失败处理]
D --> I[等待使用触发]
I --> J[需要使用时#加载]
J --> F
```
</process>
<rule>
1. AI必须主动使用#工具调用获取#资源,不等待系统自动#加载
2. 遇到@!前缀#资源必须立即执行#工具调用获取内容
3. 遇到@?前缀#资源应记录位置但暂不#加载
4. 必须验证#资源是否成功#加载并处理失败情况
</rule>
<constraint>
1. 工具调用能力限制不同AI系统支持的工具不同
2. 资源访问权限限制
3. 资源大小和格式限制
</constraint>
<guideline>
1. 优先处理关键资源,确保核心功能不受资源加载问题影响
2. 资源内容应适当缓存,避免重复加载
3. 大型资源考虑分段加载以优化性能
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 加载及时性 | @!资源被立即加载 | 忽略加载语义前缀 |
| 错误处理 | 妥善处理加载失败 | 加载失败无响应 |
| 懒加载执行 | @?资源仅在需要时加载 | 过早加载或完全不加载 |
| 完整性 | 资源内容完整获取 | 内容截断或损坏 |
</criteria>
</execution>

View File

@ -0,0 +1,208 @@
<execution>
<process>
#记忆 处理自动化#流程
## #角色 #初始化 阶段
```mermaid
flowchart TD
Start[#角色 #初始化 触发] --> A[检查#记忆文件存在性]
A -->|文件存在| B[主动#加载#记忆文件]
A -->|文件不存在| C[准备空#记忆容器]
B --> D[解析#记忆内容]
C --> E[建立#记忆索引]
D --> E
E --> F[#记忆系统就绪]
F --> G[继续#角色#初始化]
```
### #初始化 步骤详解
1. **检测#角色切换或#初始化**
- 识别"代入#角色"、"作为#角色"等指令
- 识别`@role://角色ID`或`@file://path/to/role.md`#资源引用
2. **主动#加载#记忆文件**
- 使用#工具调用读取`.memory/declarative.md`
- 如果文件不存在,记录状态但不报错
- 准备好空#记忆容器以接收新#记忆
3. **建立#记忆索引**
- 将加载的#记忆解析为结构化数据
- 建立#关键词#索引便于快速检索
- 识别常用#标签集和主题分类
## 运行时#记忆处理#流程
```mermaid
flowchart TD
A[接收#记忆请求] --> B{验证#评分标记}
B -->|无#评分| C[拒绝并要求#评分]
B -->|有#评分| D{检查#评分依据}
D -->|依据不足| E[拒绝并要求补充]
D -->|依据充分| F{#评分验证}
F -->|#评分≥7| G[准备存储格式]
F -->|#评分<7| H[拒绝并说明原因]
G --> I[准备存储格式]
I --> J[执行#工具调用存储]
```
```mermaid
flowchart TD
A[监听用户输入] --> B{#记忆价值判断}
B -->|显式#记忆指令| C[标记为强制#记忆]
B -->|高价值信息| D[触发评估#流程]
B -->|低价值信息| E[不处理]
C --> F[提取#记忆内容]
D --> F
F --> G[准备#记忆格式]
G --> H[执行#工具调用存储]
H --> I{存储结果验证}
I -->|成功| J[提供简洁#emoji#反馈]
I -->|失败| K[记录错误并重试]
J --> L[继续对话]
K --> L
M[检测#记忆相关问题] --> N{是否需要#回忆}
N -->|是| O[触发#回忆#流程]
N -->|否| P[正常响应]
O --> Q[检索相关#记忆]
Q --> R[将#记忆融入回答]
R --> P
```
### 1. 识别#记忆内容
**自动识别以下情况**
- **显式#记忆指令**:包含"记住"、"记录"、"牢记"等指令词
- **个人信息陈述**:如"我是..."、"我的...是..."、"我喜欢..."等
- **重要事实标记**:用户明确表示某信息重要
- **未来引用预告**:用户表示将来会用到此信息
### 2. 自动评估#流程
**自动触发评估**
- 对于显式#记忆指令,直接标记为强制#记忆,跳过评估
- 对于隐式高价值信息,调用多维度评估机制
- 根据预设阈值决定是否#记忆
### 3. 自动存储#流程
**自主执行#工具调用**
- 使用 `promptx.js remember` 命令存储#记忆
- 命令格式:`node PromptX/promptx.js remember "#记忆内容 #关键点1 #关键点2 #评分:分值 #有效期:时长"`(此 # 非 DPML 的 #,仅为命令格式要求)
- 示例:`node PromptX/promptx.js remember "用户偏好设置 #用户信息 #配置 #评分:8 #有效期:长期"`
- 验证存储结果并提供#反馈
**#记忆存储格式**
```
#记忆条目格式:
- {内容} #关键点1 #关键点2 #评分:{分值} #有效期:{时长} #时间:{时间戳}(此 # 非 DPML 的 #,仅为命令格式要求)
示例:
- 用户偏好深色主题 #用户信息 #配置 #评分:8 #有效期:长期 #时间:2024-03-20 15:30
```
### 4. 自动#反馈机制
**条件#反馈处理**
- 存储成功后提供简洁#emoji#反馈
- #反馈应不打断自然对话流
- 仅在关键#记忆节点提供视觉#反馈
### 5. 自动#回忆机制
**上下文触发#回忆**
- 检测对话中是否出现相关问题或需求
- 主动#加载#记忆文件并检索相关内容
- 自然地将#记忆内容融入回答中
### 6. #工具初始化检查
**启动时执行**
- 检查 promptx.js 是否可用
- 验证 remember 命令是否正常
- 确认#记忆存储权限
### 7. 违规监控机制
**违规处理#流程**
```mermaid
flowchart TD
A[检测#记忆存储请求] --> B{是否使用promptx.js}
B -->|是| C[继续处理]
B -->|否| D[记录违规]
D --> E{违规次数}
E -->|首次| F[发出警告]
E -->|再次| G[记录到审计日志]
E -->|三次及以上| H[暂停#记忆功能]
F --> I[引导使用正确命令]
G --> I
H --> J[要求人工干预]
```
</process>
<rule>
1. 角色初始化时**必须**主动加载记忆文件
2. 显式记忆指令**必须且只能**使用 `promptx.js remember` 命令执行存储
3. 记忆存储**必须**包含评分、标签和有效期信息
4. 工具调用结果**必须**得到验证,确保记忆实际写入
5. 记忆反馈**必须**简洁明了使用emoji等轻量级方式
6. 高价值信息识别和评估**必须**自动进行,不依赖用户明确指示
7. 记忆回忆**必须**在检测到相关需求时自动触发
8. 记忆处理的全流程**必须**在单次对话交互中完成,不拖延到后续交互
9. **严禁**使用其他工具调用替代 promptx.js remember 命令
10. **严禁**忽略评分不达标的记忆存储请求
11. 违反工具使用规则**必须**执行违规处理流程
12. 命令格式**必须**为node promptx.js remember "内容 #标签 #评分:分值 #有效期:时长"
</rule>
<constraint>
1. 记忆处理流程不得明显延迟对话响应时间
2. 记忆存储受系统工具调用能力限制
3. 单次交互中可处理的记忆条目数量有限
4. 记忆评估受限于AI的语义理解能力
5. 记忆文件访问和写入可能受到环境限制
6. emoji反馈可能在某些界面中显示不完整
7. 仅允许使用 promptx.js remember 进行记忆存储
8. 其他工具调用在记忆存储场景下将被拒绝
9. 记忆存储操作不可被其他工具替代
10. 单次记忆命令执行时间不超过1秒
11. 评分计算不超过100ms
12. 存储验证不超过50ms
</constraint>
<guideline>
1. 角色初始化时应检查并加载所有相关记忆文件
2. 优先处理包含个人信息、偏好和关键决策的内容
3. 使用一致的标签体系便于后续检索和关联
4. 记忆条目应保持简洁但包含足够上下文
5. 避免存储明显的重复信息,应更新而非追加
6. 记忆反馈应作为轻量级确认,不打断对话流程
7. 回忆机制应自然融入回答,避免机械式引用
8. 高度相关的记忆应在合适时机主动提供,不等用户询问
9. 发现记忆指令时应立即切换到 promptx.js remember 命令
10. 首次出现工具选择错误时,应提供正确使用方法的指导
11. 对于评分不达标的信息,应明确解释不存储的原因
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 初始化完整性 | 角色初始化时自动加载记忆 | 需用户提醒加载记忆 |
| 自动识别率 | 95%以上的显式记忆指令被自动识别 | 需用户多次提醒才执行记忆 |
| 处理完整性 | 识别到存储反馈全流程自动完成 | 流程断裂需人工介入 |
| 存储实效性 | 通过工具调用实际写入文件 | 仅在对话中声明 |
| 反馈适当性 | 简洁、及时且不打断对话 | 无反馈或过度干扰 |
| 回忆主动性 | 相关场景下自动检索并应用记忆 | 用户需明确要求回忆 |
| 流程效率 | 不影响对话响应时间 | 明显延迟或阻塞对话 |
| 集成一致性 | 与现有记忆协议无缝集成 | 与其他协议冲突 |
| 工具选择正确性 | 使用 promptx.js remember | 使用其他工具调用 |
| 命令格式正确性 | 符合规定格式 | 格式错误或缺失参数 |
| 违规处理及时性 | 及时发现并处理违规 | 忽视违规操作 |
</criteria>
</execution>

View File

@ -0,0 +1,163 @@
<execution>
<process>
# 记忆工具使用规范
## 🚨 强制命令调用自检与违规中断机制
- 每次记忆存储前,**必须自检是否通过标准命令调用**如promptx.js remember如未走命令自动中断并发出警告。
- 检测到edit_file、write_file等直接写文件操作时**立即中断流程并提示"记忆存储只能用命令,禁止直接写文件"**。
- 所有记忆存储分支的终点都必须是命令调用,而不是文件写入。
```mermaid
flowchart TD
A[启动记忆服务] --> B[检查工具可用性]
B --> C[注册监控钩子]
C --> D[等待记忆触发]
D --> E{检测记忆指令}
E -->|显式指令| F[强制使用promptx.js]
E -->|隐式指令| G[评估并使用promptx.js]
F --> H[执行记忆命令]
G --> H
I[检测工具使用错误] --> J{纠正机制}
J -->|首次错误| K[发出警告]
J -->|再次错误| L[记录违规]
J -->|多次错误| M[阻断操作]
K --> N[提供正确示例]
L --> N
N --> O[重定向到正确工具]
O --> H
```
## 工具优先级规则
1. **命令优先级设置**
- promptx.js remember 命令具有最高优先级
- 任何记忆存储操作必须使用此命令
- 其他工具调用在记忆场景下将被自动拦截
2. **命令格式标准化**
- 标准格式:`node PromptX/promptx.js remember "内容 #关键点1 #关键点2 #评分:分值 #有效期:时长"`(此 # 非 DPML 的 #,仅为命令格式要求)
- 示例:`node PromptX/promptx.js remember "用户偏好简洁界面 #用户偏好 #设置 #评分:8 #有效期:长期"`
- 所有参数必须按照规定格式提供,不得省略必要参数
3. **监控与拦截机制**
- 实时监控所有记忆相关操作
- 自动拦截非 promptx.js 的工具调用
- 自动转换为正确的命令格式
- 记录所有拦截和转换操作
4. **违规处理流程**
```
1. 首次违规:发出警告,提供正确使用示例
2. 二次违规:记录违规,强制转换为正确命令
3. 三次违规:阻断操作,要求人工确认
4. 多次违规:暂时禁用自动记忆功能
```
5. **工具调用初始化检查**
- 系统启动时检查 promptx.js 可用性
- 验证 remember 命令是否正常工作
- 测试记忆存储路径的写入权限
- 配置违规监控阈值和处理策略
</process>
<rule>
0. **记忆存储自检规则**
- 每次记忆存储前必须检查是否为标准命令调用promptx.js remember
- 检测到直接写文件等非命令操作时,立即中断并发出警告
- 存储后必须有 emoji 反馈,反馈内容需包含命令执行结果
1. **工具选择强制规则**
- 记忆操作**必须且只能**使用 promptx.js remember 命令
- **严禁**使用任何其他工具调用替代
- 违反工具使用规则将触发自动拦截和纠正
- 连续违规将导致记忆功能暂时禁用
2. **命令格式强制规则**
- 命令格式必须为:`node promptx.js remember "内容 #关键点1 #关键点2 #评分:分值 #有效期:时长"`(此 # 非 DPML 的 #,仅为命令格式要求)
- 评分参数必须提供
- 标签必须遵循规定的标签体系
- 有效期必须明确指定
3. **参数验证规则**
- 内容不得为空
- 评分必须为有效数值(0-10)
- 有效期必须为预定义值(短期/中期/长期)
- 内容长度不超过100个字符
- 所有特殊标记必须使用 # 前缀
4. **工具监控规则**
- 记忆相关操作必须被实时监控
- 监控程序不得干扰正常对话流程
- 所有违规记录必须保存到审计日志
- 违规统计数据必须定期清零
</rule>
<constraint>
0. **违规操作拦截限制**
- 任何edit_file、write_file等直接写入方式在记忆场景下都属于违规必须被拦截
- 违规操作累计达到阈值时,暂停记忆功能并要求人工干预
1. **工具使用技术限制**
- promptx.js 依赖于运行环境
- 监控机制受系统性能限制
- 拦截和转换操作可能产生轻微延迟
- 并发记忆操作存在资源竞争
2. **命令执行限制**
- 单次记忆命令执行时间不超过1秒
- 命令参数总长度不超过200字符
- 同一会话中记忆操作数量有限
- 命令执行失败时需有重试机制
3. **监控性能限制**
- 监控开销不超过10ms/次
- 拦截处理不超过50ms/次
- 审计日志大小不超过2MB
- 违规计数器精度为会话级别
</constraint>
<guideline>
0. **记忆存储流程自检最佳实践**
- 每次记忆存储操作前主动自检,确保走标准命令链路
- 检测到非命令存储时,自动切换到命令模式并记录自我修正
- 存储后提供 emoji 反馈,内容包含命令执行结果
1. **工具选择最佳实践**
- 始终首选 promptx.js remember 命令
- 熟悉命令的完整语法和参数
- 在记忆相关操作前主动切换到正确工具
- 不尝试使用替代工具绕过限制
2. **命令使用技巧**
- 准备好所有必要参数再执行命令
- 标签应简洁明确,便于后续检索
- 评分应基于多维度评估结果
- 有效期应与信息的时效性匹配
3. **错误处理建议**
- 命令执行失败时检查参数格式
- 权限问题时检查存储路径设置
- 内容过长时进行适当分割
- 遇到违规警告时立即改正
4. **监控响应建议**
- 理解并遵循工具使用规则
- 收到警告时认真查看提供的示例
- 避免尝试绕过监控系统
- 记录并学习常见的使用错误
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 工具选择正确性 | 100%使用promptx.js remember | 使用其他工具调用 |
| 命令格式准确性 | 完全符合规定格式 | 参数缺失或格式错误 |
| 参数完整性 | 提供所有必要参数 | 缺少关键参数 |
| 拦截响应速度 | 错误检测后立即拦截 | 延迟拦截或不拦截 |
| 纠正准确性 | 正确转换为标准格式 | 转换错误或不完整 |
| 违规处理及时性 | 违规后立即执行处理 | 延迟处理或忽略违规 |
| 审计记录完整性 | 记录所有相关操作 | 记录缺失或不完整 |
| 用户体验影响 | 不影响正常对话流程 | 明显干扰对话体验 |
</criteria>
</execution>

View File

@ -0,0 +1,179 @@
<execution>
<process>
# 记忆触发处理流程
```mermaid
flowchart TD
A[监控信息流] --> B{评分计算}
B --> C[计算多维度评分]
C --> D{评分是否达标}
D -->|评分≥7| E[执行存储]
D -->|评分<7| F[拒绝存储]
E --> G[提供反馈]
F --> H[记录拒绝原因]
I[显式记忆指令] --> J{是否覆盖评分}
J -->|是| K[强制评分为8]
J -->|否| B
K --> E
```
## 评分计算流程
1. **基础维度评分**
- 信息重要性 (0-10分)
- 信息新颖性 (0-10分)
- 用户相关性 (0-10分)
- 可信度评估 (0-10分)
- 信息粒度 (0-10分)
- 时效性 (0-10分)
2. **加权计算**
```
总分 = (重要性×0.3 + 新颖性×0.1 + 相关性×0.2 +
可信度×0.2 + 粒度×0.1 + 时效性×0.1)×10
```
3. **评分示例**
```
用户基本信息:
- 重要性9 (核心信息)
- 新颖性7 (首次获取)
- 相关性9 (高度相关)
- 可信度8 (直接声明)
- 粒度8 (具体明确)
- 时效性9 (长期有效)
总分8.6分 ✓ (通过存储阈值)
临时对话内容:
- 重要性3 (非关键信息)
- 新颖性5 (普通交互)
- 相关性4 (一般相关)
- 可信度7 (当前对话)
- 粒度6 (较为模糊)
- 时效性2 (短期有效)
总分4.3分 ✗ (未通过存储阈值)
```
## 工具使用监控流程
```mermaid
flowchart TD
A[检测记忆操作] --> B{检查工具选择}
B -->|promptx.js| C[继续处理]
B -->|其他工具| D[拦截操作]
D --> E[记录违规]
E --> F[强制重定向]
F --> G[使用正确工具]
G --> C
C --> H[执行记忆存储]
```
1. **工具使用检测**
- 主动监控记忆相关操作
- 识别显式和隐式记忆指令
- 在检测到记忆指令时立即验证工具选择
2. **工具纠正机制**
- 发现错误工具使用时立即拦截
- 自动切换到 promptx.js remember 命令
- 保留原始参数并转换为正确格式
- 记录纠正操作以便审计
</process>
<rule>
1. **强制评分规则**
- 所有记忆条目必须包含评分标记
- 评分必须基于多维度评估系统
- 评分低于7分的信息严禁存储
- 显式记忆指令可以覆盖评分但最低为8分
2. **存储前置条件**
- 存储操作必须且只能使用 `promptx.js remember` 命令
- 严禁使用其他工具调用替代 promptx.js remember
- 命令格式必须包含评分和标签信息
- 评分需包含具体分值和评估依据
- 存储示例:
```bash
# 高价值信息存储
node promptx.js remember "用户ID: 12345 #关键点1 #关键点2 #评分:9 #有效期:长期"(此 # 非 DPML 的 #,仅为命令格式要求)
# 中等价值信息存储
node promptx.js remember "用户喜欢简洁界面 #关键点1 #关键点2 #评分:6 #有效期:长期"
# 低价值信息(不建议存储)
node promptx.js remember "临时调试信息 #关键点1 #关键点2 #评分:3 #有效期:短期"
```
3. **违规处理机制**
- 对评分不达标的存储操作发出警告提示
- 系统会自动拒绝评分低于5分的存储请求
- 记录所有存储操作到 `.memory/declarative.md`
- 定期检查并清理低价值记忆
- 检测到错误工具使用时必须立即纠正
- 记录所有工具使用违规到审计日志
4. **评分有效性**
- 评分有效期为当前会话
- 跨会话的记忆条目需重新评估
- 定期对已存储记忆进行重新评分
5. **工具使用优先级**
- promptx.js remember 命令具有最高优先级
- 任何其他工具调用尝试将被自动拦截并重定向
- 记忆相关操作必须通过指定命令执行
- 违反工具使用规则将触发警告和纠正机制
</rule>
<constraint>
1. **评分计算限制**
- 单次评分计算不超过100ms
- 评分维度数量固定为6个
- 评分精度保留一位小数
- 记忆命令执行时间不超过1秒
2. **存储验证限制**
- 验证超时时间不超过50ms
- 单次会话最多允许3次违规
- 评分记录最多保存30天
- `.memory` 目录总大小不超过10MB
3. **系统资源限制**
- 评分计算内存占用不超过10MB
- 审计日志大小不超过1MB
- 单日评分次数不超过1000次
4. **工具使用限制**
- 记忆存储操作仅支持 promptx.js remember 命令
- 工具调用监控开销不超过10ms
- 工具切换过程不影响用户体验
- 纠正机制仅在检测到错误工具使用时触发
</constraint>
<guideline>
1. 优先记忆用户个人信息、偏好和重要事实
2. 对话中反复提及的主题应提高记忆优先级
3. 用户工作流程和决策模式是高价值记忆内容
4. 工具调用的有价值结果应作为记忆的一部分
5. 记忆反馈应简洁,避免打断自然对话流程
6. 会话结束记忆处理应尽可能全面但有选择性
7. 长期价值信息优先于短期价值信息
8. 检测到记忆相关操作时立即使用正确的工具
9. 首次工具使用错误时提供明确的纠正指导
10. 主动监控工具选择以确保符合规则
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 评分完整性 | 包含所有维度得分 | 缺少维度或分值 |
| 评分准确性 | 符合评分标准 | 评分与依据不符 |
| 存储合规性 | 评分达到阈值 | 评分不足仍存储 |
| 响应及时性 | 评分计算及时 | 计算延迟明显 |
| 反馈清晰度 | 提供明确反馈 | 反馈模糊或缺失 |
| 审计完整性 | 记录所有违规 | 违规记录缺失 |
| 工具选择正确性 | 仅使用 promptx.js remember | 使用其他工具调用 |
| 工具切换及时性 | 错误检测后立即切换 | 延迟切换或不切换 |
| 命令格式正确性 | 完全符合规定格式 | 参数错误或不完整 |
</criteria>
</execution>