refactor: 重构/prompt/目录为/resource/ - 更符合资源引用协议语义
- 重命名核心目录: /prompt/ → /resource/ - 更新PackageDiscovery中所有硬编码路径引用 - 重新生成package.registry.json,61个资源全部更新为@package://resource/路径 - 批量更新文档中的路径引用,保持一致性 - 目录结构保持不变:domain/, core/, protocol/, tool/子目录结构完全一致 重构原因: 随着tool协议的加入,prompt目录名称不再准确描述系统本质 重构价值: 为未来资源生态扩展奠定清晰的命名基础 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -30,7 +30,7 @@ ResourceRegistry.js (248行) + resource.registry.json (167行) + 内存协议注
|
||||
**当前协议处理问题**:
|
||||
```javascript
|
||||
// 问题1:协议前缀不统一
|
||||
"@package://prompt/core/role.md" // 正确
|
||||
"@package://resource/core/role.md" // 正确
|
||||
"@packages://promptx/prompt/core/" // 错误变换
|
||||
|
||||
// 问题2:循环依赖
|
||||
@ -341,7 +341,7 @@ class ResourceManager {
|
||||
registry['role:java'] = '/path/to/file'
|
||||
|
||||
// 现在:保持协议一致性
|
||||
registry['role:java'] = '@package://prompt/domain/java/java.role.md'
|
||||
registry['role:java'] = '@package://resource/domain/java/java.role.md'
|
||||
resolver.resolve('@package://...') // 统一解析
|
||||
```
|
||||
|
||||
@ -370,7 +370,7 @@ const filePath = await resolver.resolve(reference) // 所有协议
|
||||
### 4. 完全兼容现有格式
|
||||
```javascript
|
||||
// resource.registry.json 继续工作
|
||||
"java-backend-developer": "@package://prompt/domain/java/java.role.md"
|
||||
"java-backend-developer": "@package://resource/domain/java/java.role.md"
|
||||
|
||||
// 代码继续工作
|
||||
await resourceManager.loadResource('java-backend-developer')
|
||||
|
||||
@ -202,7 +202,7 @@ npx dpml-prompt@snapshot hello
|
||||
// 这是系统内部实现细节,用户不需要感知
|
||||
@prompt://core/execution/think.md
|
||||
@memory://declarative.md
|
||||
@package://prompt/domain/scrum/role.md
|
||||
@package://resource/domain/scrum/role.md
|
||||
```
|
||||
|
||||
#### 为什么不使用MCP Prompts?
|
||||
|
||||
@ -75,7 +75,7 @@
|
||||
**在`src/resource.registry.json`中的配置**:
|
||||
```json
|
||||
"nuwa": {
|
||||
"file": "@package://prompt/core/nuwa/nuwa.role.md",
|
||||
"file": "@package://resource/core/nuwa/nuwa.role.md",
|
||||
"name": "🎨 女娲",
|
||||
"description": "专业角色创造顾问,通过对话收集需求,为用户量身定制AI助手角色"
|
||||
}
|
||||
@ -91,7 +91,7 @@
|
||||
|
||||
**SimplifiedRoleDiscovery处理流程**:
|
||||
1. ✅ 从系统注册表正确加载nuwa角色配置
|
||||
2. ✅ 路径解析:`@package://prompt/core/nuwa/nuwa.role.md` → 实际文件路径
|
||||
2. ✅ 路径解析:`@package://resource/core/nuwa/nuwa.role.md` → 实际文件路径
|
||||
3. ✅ DPML格式验证:通过`<role>`标签检查
|
||||
4. ✅ 元数据提取:正确获取name和description
|
||||
|
||||
|
||||
@ -146,8 +146,8 @@ DPML (Deepractice Prompt Markup Language) 采用三层协议架构,从底层
|
||||
@package://lib/commands/hello.js
|
||||
|
||||
# 包提示词资源
|
||||
@package://prompt/core/execution/think.md
|
||||
@package://prompt/domain/scrum/role/product-owner.md
|
||||
@package://resource/core/execution/think.md
|
||||
@package://resource/domain/scrum/role/product-owner.md
|
||||
|
||||
# 包配置和模板
|
||||
@package://jest.config.js
|
||||
@ -194,25 +194,25 @@ DPML (Deepractice Prompt Markup Language) 采用三层协议架构,从底层
|
||||
```bash
|
||||
# 核心协议文档
|
||||
@prompt://protocols
|
||||
# → @package://prompt/protocol/**/*.md
|
||||
# → @package://resource/protocol/**/*.md
|
||||
|
||||
# 核心提示词模块
|
||||
@prompt://core
|
||||
# → @package://prompt/core/**/*.md
|
||||
# → @package://resource/core/**/*.md
|
||||
|
||||
# 领域提示词
|
||||
@prompt://domain/scrum
|
||||
# → @package://prompt/domain/scrum/**/*.md
|
||||
# → @package://resource/domain/scrum/**/*.md
|
||||
|
||||
# 特定角色提示词
|
||||
@prompt://domain/scrum/role/product-owner
|
||||
# → @package://prompt/domain/scrum/role/product-owner.role.md
|
||||
# → @package://resource/domain/scrum/role/product-owner.role.md
|
||||
```
|
||||
|
||||
**注册表映射:**
|
||||
- `protocols` → `@package://prompt/protocol/**/*.md`
|
||||
- `core` → `@package://prompt/core/**/*.md`
|
||||
- `domain` → `@package://prompt/domain/**/*.md`
|
||||
- `protocols` → `@package://resource/protocol/**/*.md`
|
||||
- `core` → `@package://resource/core/**/*.md`
|
||||
- `domain` → `@package://resource/domain/**/*.md`
|
||||
- `bootstrap` → `@package://bootstrap.md`
|
||||
|
||||
#### 2. `@memory://` - 记忆系统协议
|
||||
@ -248,7 +248,7 @@ DPML (Deepractice Prompt Markup Language) 采用三层协议架构,从底层
|
||||
// 1. 协议分层解析
|
||||
@prompt://core
|
||||
↓ 上层协议解析
|
||||
@package://prompt/core/**/*.md
|
||||
@package://resource/core/**/*.md
|
||||
↓ 中层协议解析
|
||||
@file://[NPM包路径]/prompt/core/**/*.md
|
||||
↓ 底层协议执行
|
||||
@ -352,7 +352,7 @@ promptx remember "重要决策" @file://[项目根]/.memory/declarative.md
|
||||
# 上层 → 中层 → 底层
|
||||
@prompt://core
|
||||
↓
|
||||
@package://prompt/core/**/*.md
|
||||
@package://resource/core/**/*.md
|
||||
↓
|
||||
@file:///usr/local/lib/node_modules/promptx/prompt/core/**/*.md
|
||||
```
|
||||
|
||||
@ -257,7 +257,7 @@ sequenceDiagram
|
||||
|
||||
Note over RM: 2. 解析逻辑协议 thought
|
||||
RM->>RR: resolve("thought:remember")
|
||||
RR->>RM: "@package://prompt/core/thought/remember.thought.md"
|
||||
RR->>RM: "@package://resource/core/thought/remember.thought.md"
|
||||
|
||||
Note over RM: 3. 解析基础协议 @package
|
||||
RM->>RM: 委托给PackageProtocol
|
||||
|
||||
@ -161,7 +161,7 @@ async loadRoleRegistry() {
|
||||
if (Object.keys(this.roleRegistry).length === 0) {
|
||||
this.roleRegistry = {
|
||||
assistant: {
|
||||
file: '@package://prompt/domain/assistant/assistant.role.md',
|
||||
file: '@package://resource/domain/assistant/assistant.role.md',
|
||||
name: '🙋 智能助手',
|
||||
description: '通用助理角色,提供基础的助理服务和记忆支持'
|
||||
}
|
||||
|
||||
@ -434,7 +434,7 @@ class SimplePackageProtocol {
|
||||
{
|
||||
"role": {
|
||||
"assistant": {
|
||||
"file": "@package://prompt/domain/assistant/assistant.role.md",
|
||||
"file": "@package://resource/domain/assistant/assistant.role.md",
|
||||
"name": "🙋 智能助手"
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ flowchart TB
|
||||
"role": {
|
||||
"registry": {
|
||||
"角色ID": {
|
||||
"file": "@package://prompt/domain/角色名/角色名.role.md",
|
||||
"file": "@package://resource/domain/角色名/角色名.role.md",
|
||||
"name": "🎭 角色显示名称",
|
||||
"description": "角色功能描述"
|
||||
}
|
||||
@ -87,7 +87,7 @@ flowchart TB
|
||||
**示例**:
|
||||
```json
|
||||
"assistant": {
|
||||
"file": "@package://prompt/domain/assistant/assistant.role.md",
|
||||
"file": "@package://resource/domain/assistant/assistant.role.md",
|
||||
"name": "🙋 智能助手",
|
||||
"description": "通用助理角色,提供基础的助理服务和记忆支持"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user