Commit Graph

88 Commits

Author SHA1 Message Date
e54550a835 refactor: 重构PromptXToolCommand为ToolCommand并移至标准目录
📁 文件重构
- 移动: src/lib/commands/PromptXToolCommand.js → src/lib/core/pouch/commands/ToolCommand.js
- 重命名: PromptXToolCommand → ToolCommand
- 统一: 与其他Command文件保持相同目录结构

🔧 代码更新
Class:
- class PromptXToolCommand → class ToolCommand
- 更新module.exports导出名称

Imports:
- 修正BasePouchCommand相对路径引用
- 修正getGlobalResourceManager相对路径引用
- 修正ToolExecutor和logger相对路径引用

References:
- src/lib/core/pouch/commands/index.js: 更新import和export
- src/lib/core/pouch/PouchCLI.js: 更新commands.ToolCommand引用

📂 目录结构统一
src/lib/core/pouch/commands/
├── ActionCommand.js
├── InitCommand.js
├── LearnCommand.js
├── RecallCommand.js
├── RememberCommand.js
├── ToolCommand.js          # 新位置
├── WelcomeCommand.js
└── index.js

 验证通过
- @tool://calculator 减法功能正常: 100 - 58 = 42
- 所有引用路径正确
- 命名规范统一
- 目录结构规范

💡 重构收益
- 遵循项目命名约定
- 统一Command文件组织
- 简化类名提升可读性
- 便于维护和扩展

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 14:31:57 +08:00
7964cf8dba refactor: 重构MCPOutputAdapter到mcp目录 - 优化代码组织结构
📁 目录重构
- 移动: src/lib/adapters/MCPOutputAdapter.js → src/lib/mcp/MCPOutputAdapter.js
- 删除: src/lib/adapters/ 空目录
- 整合: 所有MCP相关组件统一在mcp目录下

🔧 引用更新
Components:
- src/lib/commands/MCPServerCommand.js: 更新import路径
- src/lib/commands/MCPStreamableHttpCommand.js: 更新import路径

🎯 重构目标
- 统一MCP相关代码组织
- 提升代码可维护性
- 优化目录结构逻辑

📂 新的mcp目录结构
src/lib/mcp/
├── MCPOutputAdapter.js     # MCP输出适配器
└── toolDefinitions.js      # MCP工具定义

 验证通过
- @tool://calculator 除法功能正常: 84 ÷ 2 = 42
- MCP Server功能完全正常
- 所有引用路径正确更新

💡 架构收益
- MCP组件集中管理
- 代码职责更清晰
- 便于后续MCP功能扩展

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 14:29:09 +08:00
b18983bdac refactor: 系统性移除DACP架构 - 简化框架专注@tool协议
🗑️ 核心清理
- 完全移除DACP服务架构和HTTP模式
- 删除DACPCommand、DACPConfigManager等核心组件
- 清理所有DACP相关文件、测试和文档
- 从CLI移除dacp命令,精简为6大核心锦囊

📁 删除内容
Core:
- src/dacp/ - 整个DACP服务目录
- src/lib/core/pouch/commands/DACPCommand.js
- src/lib/utils/DACPConfigManager.js

Tests:
- src/tests/commands/DACPCommand.unit.test.js
- src/tests/integration/dacp-integration.test.js
- src/tests/e2e/dacp-*-e2e.test.js
- src/tests/unit/DACPConfigManager.unit.test.js

Scripts & Docs:
- scripts/test-*dacp*.js
- docs/dacp-*.md
- prompt/core/dacp-*.execution.md

🔧 代码清理
CLI:
- src/bin/promptx.js: 移除dacp命令和--with-dacp选项
- 帮助信息更新:7大命令→6大核心命令

Core:
- src/lib/core/pouch/PouchCLI.js: 移除dacp命令注册
- src/lib/core/pouch/commands/index.js: 清理DACPCommand引用

MCP:
- src/lib/mcp/toolDefinitions.js: 移除promptx_dacp工具定义
- src/lib/commands/MCPServerCommand.js: 清理所有DACP方法和引用
- src/lib/commands/MCPStreamableHttpCommand.js: 移除DACP参数映射

Registry:
- src/package.registry.json: 自动更新,移除2个DACP execution资源
- package.json: 移除dacp相关npm脚本

📊 架构简化结果
- 资源总数:63个 → 61个 (移除2个DACP execution)
- CLI命令:7个 → 6大核心锦囊
- 代码复杂度显著降低,专注核心功能

 验证通过
- @tool://calculator 计算功能正常: 6 × 7 = 42
- @tool://send-email 邮件工具正常
- MCP Server启动正常
- 所有锦囊命令工作正常

🎯 新架构重点
1. 角色系统 - AI专业能力激活
2. 记忆系统 - 知识学习和回忆
3. @tool协议 - JavaScript工具执行
4. MCP集成 - AI应用连接

💡 技术收益
- 移除HTTP服务复杂度
- 统一@tool协议标准
- 简化维护和扩展
- 提升性能和稳定性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 14:26:25 +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
70093018f8 WIP: promptx tools 开发中的代码
- 正在开发 promptx tools 功能
- 包含 bin、commands、DACP 相关修改
- 新增 tool 目录结构

🚧 这是开发中的代码,需要继续完善
2025-06-28 09:25:54 +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
5181bfeff1 fix: 系统化优化角色输出显示,解决角色名称混淆问题
- 优化WelcomeCommand输出格式,角色列表显示为 `id` - name 格式
- 优化ActionCommand输出格式,激活成功时显示 `id` (name) 格式
- 更新package.registry.json中7个角色的name和description:
  * nuwa: "Nuwa 角色" → "女娲",描述更新为专业的角色创造能力
  * sean: "Sean 角色" → "Sean",描述更新为CEO身份
  * product-manager: 更新为"产品经理",描述强调价值平衡能力
  * java-backend-developer: 更新为"Java后端开发工程师",描述强调架构能力
  * frontend-developer: 更新为"前端开发工程师",描述强调用户体验
  * xiaohongshu-marketer: 更新为"小红书营销专家",描述强调平台运营
  * assistant: 更新为"总经理秘书",描述强调执行和协调能力
- 解决角色名称显示不一致和描述过于通用的问题
- 提升用户体验,避免角色身份混淆

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 16:24:07 +08:00
1cc01bf1ef fix: 修复记忆时的问题处理合并的问题 2025-06-26 16:04:50 +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
901a278d6d Optimize: 优化 sean 提示词 2025-06-22 15:45:49 +08:00
b03fb37d3f Optimize: 优化 sean 提示词 2025-06-22 13:03:47 +08:00
aed3d0f1d6 fix: 修复 这几个命令使用了废弃的项目路径定位方案 2025-06-22 11:14:55 +08:00
ef370d6af8 Optimize:优化女娲提示词,为 Sean 添加 Github Issues 矛盾分析方法论 2025-06-21 20:54:31 +08:00
320fe9e552 refactor: 优化DACP工具提示词,去除诱导性描述
- 将DACP工具描述从功能介绍改为使用条件
- 强调需要专业知识才能正确使用
- 避免AI在不了解服务配置时盲目尝试
- 符合"先学会使用工具再做事"的设计理念

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 16:34:21 +08:00
376244205a fix: 统一Pouch命令路径获取机制,解决Issue #69记忆持久化问题
修复多实例MCP环境下的路径不一致问题:
- RememberCommand: 使用ResourceManager替代DirectoryService直接调用
- RecallCommand: 使用ResourceManager替代DirectoryService直接调用
- RegisterCommand: 使用ResourceManager+DirectoryService统一路径获取

核心改进:
1. 所有命令现在使用相同的getGlobalResourceManager()初始化
2. 通过resourceManager.initializeWithNewArchitecture()确保路径一致性
3. 实现"要对一起对,要错一起错"的一致性原则

测试验证:
- 记忆写入和读取使用相同项目路径
- 多实例环境下路径解析行为完全一致
- 向后兼容,无破坏性变更

Fixes #69

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 12:10:07 +08:00
39ddc6a97f 更新DACP白皮书的更新日期至2025-01-19;在DACPConfigManager中优化配置管理,支持项目级和用户级配置的优先级处理,增强错误提示信息,更新相关方法以支持异步操作。 2025-06-19 17:15:00 +08:00
d16d425fa0 feat: 添加DACP服务启动脚本和测试命令,更新相关依赖,优化配置文件路径处理 2025-06-19 16:46:12 +08:00
90c4e5d8ab refactor: 把 hello 改成 welcome 2025-06-19 15:59:04 +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
d4bf5405e9 合并 refector-new-resource-arch 分支:重构资源架构,将 DPMLContentParser 和 SemanticRenderer 移动到 dpml 目录,解决合并冲突 2025-06-19 14:53:56 +08:00
50cade3feb feat: 添加DACP邮件发送功能,支持真实发送与Demo模式,增强邮件发送的配置管理和错误提示,优化用户体验。 2025-06-18 18:52:53 +08:00
c8f6545dd5 feat: 更新DACP演示服务,重命名服务和描述,简化功能,删除不必要的日历和文档操作,增强演示效果。同时,优化了API接口和README文档,确保用户更易于理解和使用。 2025-06-18 17:29:31 +08:00
741c1f8f54 feat: 在MCPServerCommand和MCPStreamableHttpCommand中添加'promptx_dacp'参数映射,同时在DACPCommand中优化参数处理逻辑,以支持数组参数的正确解析。 2025-06-18 16:44:41 +08:00
47582c56c9 feat: 添加DACP服务支持,允许通过命令行调用DACP专业服务,增强AI角色的执行能力,同时更新相关依赖和工具定义。 2025-06-18 15:42:49 +08:00
fb9540fd4a optimize:优化记忆格式化逻辑,确保完整记忆内容不被截断,同时更新工具定义中的描述,增强用户对记忆回想器的理解和使用指导。 2025-06-17 16:06:45 +08:00
f88860233f feature:增加 Sean 角色 2025-06-17 15:55:55 +08:00
d090de2191 更新ActionCommand和InitCommand,增强角色激活提示信息,提供详细的解决方案和使用MCP PromptX工具的建议。同时,更新toolDefinitions.js中的描述,强调在角色激活失败时需先使用init工具刷新注册表,以提升用户体验和操作指导。 2025-06-16 18:23:51 +08:00
048053f18c 更新toolDefinitions.js中的描述,增加了使用工具时的环境验证提示,以提升用户在使用专业角色选择和变身器时的安全性和准确性。同时,在DirectoryLocator.js中引入AI驱动的项目管理器,优化了项目路径查找策略,确保更高的查找优先级和灵活性。 2025-06-16 15:12:15 +08:00
3d29434d24 重构命令执行逻辑,增强项目状态检查功能。更新InitCommand以支持从MCP和CLI传递工作目录参数,确保路径有效性并提供用户友好的提示。重写多个命令的execute方法,整合项目状态提示,提升用户体验和输出格式的可读性。 2025-06-16 14:42:36 +08:00
9972922067 重构ActionCommand和LearnCommand,更新DPMLContentParser和SemanticRenderer的导入路径,确保模块结构一致性。删除不再使用的DPMLContentParser和SemanticRenderer文件,优化代码结构,提升可维护性。 2025-06-16 12:18:32 +08:00
40c3b83854 增强PromptXWorkspaceLocator中的解析逻辑,支持传递变量名以便于特定环境变量的处理;新增对字节跳动Trae及其他基于PWD的IDE的支持,优化了路径解析策略,提升了目录定位的灵活性和准确性。 2025-06-15 21:52:52 +08:00
920a41ec5a 更新.gitignore以排除.kilocode目录;在DirectoryLocator.js中增强目录查找策略的注释,增加对IDE环境变量的检测逻辑,优化路径回退策略;在DirectoryService.js中添加IDE检测信息和路径配置建议,提升用户体验和环境配置的灵活性。 2025-06-15 21:33:55 +08:00
195815def7 重构RecallCommand和RememberCommand以支持新的多行记忆格式。更新了记忆解析和格式化逻辑,增强了对标签的处理能力,提升了记忆的存储和检索体验。 2025-06-15 16:31:39 +08:00
6d88a78cca 修复RecallCommand.js中的parseMemoryLine方法,更新正则表达式以适配新的记忆格式,并增强标签解析逻辑。改动包括支持--tags标记的内容分离和标签提取,提升了记忆行解析的灵活性和准确性。 2025-06-15 16:09:36 +08:00
0828481f12 更新toolDefinitions.js中的promptx_init描述,增加使用场景说明,以提升用户理解和使用体验。 2025-06-15 15:53:08 +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
2d90a7089e fix: 修复.promptx目录定位bug,防止定位到用户主目录
🐛 修复的问题:
- PROMPTX_WORKSPACE为空时错误定位到~/目录
- 缺少对现有.promptx目录的智能发现
- 目录定位策略优先级不够合理

 改进后的策略优先级:
1. WORKSPACE_FOLDER_PATHS (IDE标准环境变量)
2. PROMPTX_WORKSPACE (仅当明确配置且非空时)
3. 向上查找现有.promptx目录 (复用现有项目配置)
4. PWD环境变量
5. 项目根目录智能推测 (package.json, .git等)
6. process.cwd()回退

🔧 技术改进:
- 新增findExistingPromptxDirectory()函数专门处理现有.promptx目录发现
- 优化findProjectRoot()不再优先查找.promptx,避免重复逻辑
- 改进PROMPTX_WORKSPACE空值处理,避免expandHome('')返回主目录
- 增强目录定位的智能性和可靠性

 测试验证:
- 空PROMPTX_WORKSPACE不再错误定位
- 子目录中正确向上查找项目根目录
- 现有.promptx目录优先被发现和复用

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 22:10:47 +08:00
63ac467611 解决executionContext.js中的导入冲突
- 保留os和logger两个模块的导入
- 统一使用console.error进行日志输出(与main分支一致)
- 保留main分支中的normalizePath和expandHome函数
- 确保develop分支与main分支的兼容性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 17:17:06 +08:00
0d4c80784f 修正Logger类中的日志输出,将console.log替换为console.error,以确保错误信息的正确输出。 2025-06-14 13:39:48 +08:00
b7c41e68fe feat: 支持PROMPTX_WORKSPACE环境变量使用~家目录路径
新增normalizePath和expandHome函数,优化PROMPTX_WORKSPACE环境变量处理逻辑

感谢 @nblog 的贡献!这个功能提升了用户体验,让配置更加便捷。
2025-06-13 23:17:38 +08:00
714c01c4f4 重构:更新前端开发者角色文档,移除冗余的执行策略,新增微信小程序专项开发部分;更新资源注册表,统一时间戳格式,移除不再使用的资源注册逻辑,优化工具定义获取方式,提升代码可读性和维护性。 2025-06-13 22:57:17 +08:00
ac74f37f6c 更新MCPStreamableHttpCommand.js文件,优化工具注册描述,提升用户体验和可读性,确保工具功能的清晰表达,增强专业能力工具的吸引力和实用性。 2025-06-13 09:53:24 +08:00
2cce6df530 更新MCPStreamableHttpCommand.js文件,优化工具注册描述,提升用户体验和可读性,确保工具功能的清晰表达。 2025-06-13 09:39:12 +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