Commit Graph

33 Commits

Author SHA1 Message Date
67f54f83d1 feat: 实现基于文件模式的灵活资源发现架构
## 🏗️ 新增 FilePatternDiscovery 基类
- 统一的文件模式识别逻辑,支持 .role.md, .thought.md, .execution.md, .knowledge.md, .tool.js
- 递归扫描任意目录结构,完全基于文件扩展名识别资源类型
- 统一的资源验证和引用路径生成机制

## 🔄 重构 ProjectDiscovery 和 PackageDiscovery
- 继承 FilePatternDiscovery 基类,大幅简化代码
- 子类只需重写 _getBaseDirectory() 指定扫描目录
- 移除重复的文件扫描和验证逻辑,提升维护性

## 🎯 实现完全灵活的目录结构支持
- resource/ 下支持任意目录组织方式
- 目录名称仅有语义意义,不影响资源发现
- 支持深层嵌套和扁平化结构

## 🔧 修复 InitCommand 参数处理
- 优化空对象参数的处理逻辑
- 保持向后兼容的同时提升健壮性

##  测试验证
- welcome/action/init 命令全面测试通过
- 包级61个资源 + 项目级8个资源正确发现
- project 协议和工具文件识别正常工作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 15:46:40 +08:00
559c146af1 refactor: 重构resource/domain为resource/role - 提升目录语义化
## 核心改进
- 将resource/domain重命名为resource/role,语义更清晰直观
- 统一更新所有硬编码路径引用,确保系统完整性
- 重新生成注册表,所有61个资源引用路径完全更新

## 目录结构优化
- resource/role (原domain) - 角色定义和专家能力
- resource/tool - JavaScript工具资源
- resource/protocol - 协议规范文档
- resource/core - 核心思维和执行模式

## 技术实现
### 发现器更新
- ProjectDiscovery.js: _scanDomainDirectory → _scanRoleDirectory
- PackageDiscovery.js: 同步更新函数名和路径引用
- 所有@project://.promptx/resource/domain/ → @project://.promptx/resource/role/
- 所有@package://resource/domain/ → @package://resource/role/

### 协议处理器
- PromptProtocol.js: domain注册表映射 → role注册表映射
- 更新协议示例和描述信息

### 注册表重新生成
- 使用generate-package-registry.js重新生成
- 61个资源路径引用全部更新为resource/role/
- 保持所有功能完全兼容

## 验证结果
-  角色发现功能正常:8个系统角色+1个项目角色
-  资源加载完全正常:61个资源正确识别
-  零功能影响:所有现有功能继续工作

这个重构显著提升了代码的语义化程度,role比domain更直观地表达目录用途,
同时建立了清晰的资源分类体系:role、tool、protocol、core。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 15:24:19 +08:00
5779aa837c fix: 全面清理prompt关键词引用 - 完成prompt→resource重构
核心修复:
- 修复PackageDiscovery._isValidDevelopmentRoot()检查resource目录而非prompt
- 更新package.json files字段从prompt/改为resource/
- 修复RegisterCommand.js中的资源路径引用
- 更新WelcomeCommand.js中的@package://prompt/为@package://resource/
- 修复PromptProtocol.js中所有@package://prompt/路径引用
- 更新PackageProtocol.js示例路径
- 批量更新docs/目录下26个文档的路径引用

技术价值:
- 解决PackageDiscovery无法加载系统级角色的问题
- 消除PackageProtocol的Access denied错误
- 实现prompt→resource语义重构的100%完整性
- 确保所有8个系统级角色正常加载和激活

验证结果:
-  61个系统级资源正常加载
-  8个角色完全可用(assistant,frontend-developer,java-backend-developer,noface,nuwa,sean,xiaohongshu-marketer,product-manager)
-  welcome和action命令完全正常工作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 15:12:17 +08:00
54b77e7096 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>
2025-06-28 15:02:34 +08:00
40e0c01c59 feat: 实现@tool协议完整功能 - JavaScript工具执行框架
 核心功能
- 新增ToolProtocol处理器,支持@tool://协议解析
- 实现PromptXToolCommand,统一MCP/CLI工具调用
- 完善ToolExecutor,支持工具实例化和参数验证
- 新增calculator和send-email示例工具

🔧 技术改进
- 优化PackageDiscovery统一资源扫描逻辑
- 增强CrossPlatformFileScanner支持.tool.js文件
- 完善ResourceManager集成ToolProtocol
- 更新MCP工具定义支持promptx_tool

📋 详细变更
Core:
- src/lib/core/resource/protocols/ToolProtocol.js: 新增工具协议处理器
- src/lib/commands/PromptXToolCommand.js: 新增工具命令处理器
- src/lib/tool/ToolExecutor.js: 增强工具执行器兼容性

Discovery:
- src/lib/core/resource/discovery/PackageDiscovery.js: 统一资源扫描
- src/lib/core/resource/discovery/CrossPlatformFileScanner.js: 支持tool文件
- src/lib/core/resource/discovery/ProjectDiscovery.js: 增加tool验证

Integration:
- src/lib/core/resource/resourceManager.js: 集成ToolProtocol
- src/lib/mcp/toolDefinitions.js: 新增promptx_tool定义
- src/lib/commands/MCPServerCommand.js: 支持tool参数转换
- src/bin/promptx.js: 新增tool命令行支持

Tools:
- prompt/tool/calculator.tool.js: 数学计算工具示例
- prompt/tool/send-email.tool.js: 邮件发送工具示例

Registry:
- src/package.registry.json: 自动生成包含2个tool资源

🧪 测试验证
-  @tool://calculator 数学计算: 25 + 37 = 62
-  @tool://send-email 邮件发送演示版本
-  CLI和MCP双模式支持
-  完整的错误处理和执行元数据
-  资源自动发现和注册

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 14:15:24 +08:00
d6455987ab feat: noface角色重命名及file://协议路径转换优化
## 主要变更
- **角色重命名**: wumian → noface,更符合英文命名规范
- **file://协议优化**: 新增FileProtocol.js支持本地文件访问
- **路径转换修复**: 智能处理Shell反斜杠转义问题
- **ResourceManager增强**: 支持基础协议直接处理

## 技术改进
- 修复复杂路径格式兼容性(如WeChat路径、中文字符、特殊符号)
- 自动清理反斜杠转义符(Application\ Support → Application Support)
- 完善错误处理机制和用户提示

## 文件变更
- 新增: noface角色完整文件结构(role + 2个execution文件)
- 新增: FileProtocol.js协议处理器
- 更新: ResourceManager.js基础协议支持
- 更新: package.registry.json角色注册信息

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 17:26:04 +08:00
b5845a7523 🚀 feat: 记忆系统架构升级 + declarative.dpml命名重构 + MCP边界条件Bug修复
## 📊 变更概览
- declarative.dpml架构升级:memory.xml → declarative.dpml (认知科学语义精准)
- MCP环境边界条件Bug修复:解决空文件导致的记忆保存失败问题
- 跨项目角色发现Bug修复:优化环境检测顺序,MCP环境角色发现从1个→9个
- XML转义处理增强:完整的存储-显示分离架构,数据安全+用户友好

## 🎯 核心成就
 declarative.dpml升级:100%测试验证通过
 边界条件修复:三重保护机制,文件状态自动检测修复
 角色发现修复:环境检测顺序优化,跨项目使用稳定
 存储分离架构:XML转义安全存储 + AI友好显示

## 📁 主要文件变更
- RememberCommand.js/RecallCommand.js: declarative.dpml升级 + 边界条件修复
- PackageDiscovery.js: 环境检测顺序优化
- 新增思维模式文件: recall-xml.thought.md, remember-xml.thought.md
- 新增测试: memory-dpml-integration.test.js
- 完整文档: PR文档 + Bug报告 + 修复总结

🎉 架构升级验证:MCP重启测试100%通过,零中断平滑切换
2025-06-26 14:07:47 +08:00
11d8c9a75e fix: 修复 recall 和 learn 的 bug 2025-06-19 15:25:48 +08:00
734f1f2bee Merge branch 'revolution-feature' into develop 2025-06-19 14:54:25 +08:00
c8f6545dd5 feat: 更新DACP演示服务,重命名服务和描述,简化功能,删除不必要的日历和文档操作,增强演示效果。同时,优化了API接口和README文档,确保用户更易于理解和使用。 2025-06-18 17:29:31 +08:00
9972922067 重构ActionCommand和LearnCommand,更新DPMLContentParser和SemanticRenderer的导入路径,确保模块结构一致性。删除不再使用的DPMLContentParser和SemanticRenderer文件,优化代码结构,提升可维护性。 2025-06-16 12:18:32 +08:00
d6a1f91722 重构:引入DirectoryService以优化路径解析和项目根目录查找
- 在多个协议实现中(如ProjectProtocol、PackageProtocol等)引入DirectoryService,替换了直接的路径处理逻辑,增强了路径解析的智能性和可靠性。
- 更新了相关方法以支持异步操作,确保在查找项目根目录和注册表路径时能够优雅地处理错误并回退到默认路径。
- 在PromptXConfig中动态计算.promptx目录路径,提升了配置管理的灵活性。

此改动旨在提升代码的可读性和一致性,同时为未来的扩展打下基础。
2025-06-15 12:16:01 +08:00
041ece9af1 重构:引入统一的DirectoryService以优化目录管理
- 在InitCommand、RecallCommand、RememberCommand和PouchStateMachine中替换了直接路径处理逻辑,改为使用DirectoryService进行目录解析。
- 更新了ProjectDiscovery以使用新的getProjectRoot方法,标记旧方法为已弃用。
- 在executionContext中重构了工作目录获取逻辑,增强了兼容性和可维护性。
- 确保了对用户主目录的避免处理,提升了目录定位的智能性和可靠性。

此改动旨在提升代码的可读性和一致性,同时为未来的扩展打下基础。
2025-06-15 11:23:19 +08:00
714c01c4f4 重构:更新前端开发者角色文档,移除冗余的执行策略,新增微信小程序专项开发部分;更新资源注册表,统一时间戳格式,移除不再使用的资源注册逻辑,优化工具定义获取方式,提升代码可读性和维护性。 2025-06-13 22:57:17 +08:00
2ecebac50b 删除不再使用的bootstrap.md文件,更新promptx.js、MCPStreamableHttpCommand.js等文件以使用logger进行日志记录,重构资源管理和发现逻辑,确保代码一致性和可维护性。 2025-06-13 09:33:56 +08:00
cdd748d0dc refactor: 更新ResourceManager和DiscoveryManager,简化资源注册流程,新增无状态资源刷新方法 2025-06-12 18:52:29 +08:00
09e119d50f refactor: 更新ResourceManager架构,移除forceRefresh方法并整合初始化逻辑 2025-06-12 17:57:16 +08:00
29652ca8fb fix:刷新缓存 2025-06-12 17:31:02 +08:00
f9bbc55069 refactor: 重构整个资源引用协议 2025-06-12 16:33:50 +08:00
d0a6b0b304 fix: 修复 package协议解析问题 2025-06-12 14:46:42 +08:00
c46cd24fe4 refector:@ refrence 架构重构 2025-06-12 14:18:19 +08:00
5d6e678bd2 fix: 重构 资源的注册,发现,解析架构,解决兼容性问题 2025-06-12 12:28:53 +08:00
88874ff7ec fix: 修复Windows路径解析兼容性问题 (Issue #31)
- 增强PackageProtocol的Windows NPX环境检测逻辑
  - 添加Windows特定的.cmd/.bat文件检测
  - 标准化环境变量路径处理(Windows反斜杠)
  - 支持LOCALAPPDATA、APPDATA、TEMP等Windows目录

- 优化跨平台路径规范化
  - 新增normalizePathForComparison方法统一路径比较
  - 使用Node.js原生API确保路径处理正确性
  - 改进文件访问权限验证的跨平台兼容性

- 增强NPX模式下的访问权限处理
  - NPX模式下采用警告而非错误的宽松策略
  - 优化开发和生产环境的权限检查差异

- 新增全面的Windows兼容性测试套件
  - 创建Issue #31专项测试覆盖关键场景
  - 模拟Windows环境进行跨平台测试验证
  - 覆盖NPX检测、路径解析、资源加载、角色激活等核心流程

修复了Windows用户在NPX环境下激活角色时出现的"思维模式未在注册表中找到"等路径解析错误。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-12 10:28:20 +08:00
ef39222b83 优化ExecutionProtocol、RoleProtocol和ThoughtProtocol中的@package://路径处理逻辑,新增PackageProtocol以解析路径,提升路径解析的准确性和灵活性。 2025-06-11 22:04:06 +08:00
283374bf09 优化角色注册,发现,nuwa 角色的提示词等 2025-06-11 18:03:55 +08:00
64b6b20247 更新资源管理器和协议处理逻辑:优化角色资源的合并方式,支持直接处理thought和execution的路径字符串,同时增强对@project://前缀的处理,提升路径解析的灵活性和准确性。 2025-06-11 00:00:25 +08:00
192eb2a0df 更新资源管理器和命令逻辑:新增角色创建和生成相关功能,优化资源加载流程,支持用户自定义资源的发现与合并,同时增强错误处理和描述提取逻辑,提升系统的灵活性和用户体验。 2025-06-10 23:58:29 +08:00
7ed85c127a feat: 使用env-paths替代platform-folders,增强跨平台用户目录支持,新增标准目录获取方法 2025-06-02 09:49:33 +08:00
d8481b89bb feat: 更新资源管理器和协议处理逻辑,增强错误处理和缓存机制,优化CLI测试用例 2025-06-01 14:13:16 +08:00
0466cd3289 feat: 更新命令名称为dpml-prompt,保持PromptX品牌名称 2025-05-31 18:59:25 +08:00
dcd5f8ce1f feat: 准备snapshot发布 - 简化角色系统,完善核心命令 2025-05-31 18:51:31 +08:00
323c4e569c 🎯 PromptX v0.0.1 完整实现 - 五大锦囊命令、AI记忆系统、角色系统、PATEOAS状态机、DPML协议全部完成 2025-05-31 16:48:21 +08:00
be285f55b8 feat: 完成DPML协议体系0~1阶段开发 - 三层协议架构100%实现,智能路径检测系统,@package://与package.json完美集成,用户项目集成方案,CLI框架完整实现,132/137核心测试通过(96.3%通过率) 2025-05-31 13:03:26 +08:00