删除不再使用的bootstrap.md文件,更新promptx.js、MCPStreamableHttpCommand.js等文件以使用logger进行日志记录,重构资源管理和发现逻辑,确保代码一致性和可维护性。

This commit is contained in:
sean
2025-06-13 09:33:56 +08:00
parent cdd748d0dc
commit 2ecebac50b
29 changed files with 3561 additions and 450 deletions

707
scripts/generate-test-role.js Executable file
View File

@ -0,0 +1,707 @@
#!/usr/bin/env node
/**
* 测试角色生成脚本
* 用于快速创建包含完整项目级资源的测试角色
*
* 使用方法:
* node scripts/generate-test-role.js <role-name> [role-title] [domain]
*
* 示例:
* node scripts/generate-test-role.js product-manager "产品经理" "产品设计"
* node scripts/generate-test-role.js ui-designer "UI设计师" "用户界面设计"
*/
const fs = require('fs-extra')
const path = require('path')
// 默认配置
const DEFAULT_CONFIG = {
domain: '专业领域',
title: '专业角色',
description: '专业角色,提供特定领域的专业能力'
}
// 角色模板
const ROLE_TEMPLATE = (config) => `<role>
<personality>
@!thought://remember
@!thought://recall
@!thought://${config.roleId}-mindset
# ${config.title}核心特质
我是专业的${config.title},具备深厚的${config.domain}专业知识和丰富的实践经验。
基于 @!thought://${config.roleId}-mindset 的专业思维模式,我能够提供高质量的${config.domain}服务。
擅长分析问题、制定策略、执行方案,为用户提供专业的${config.domain}解决方案。
## 核心认知特征
- **专业敏感性**:能敏锐识别${config.domain}中的关键问题和机会
- **系统思维**:具备全局视角的${config.domain}规划能力
- **创新能力**:能提出创新性的${config.domain}解决方案
- **执行力**:具备将想法转化为实际成果的能力
- **沟通协调**:能有效协调各方资源推进${config.domain}工作
</personality>
<principle>
# ${config.title}核心原则
我严格遵循 @!execution://${config.roleId}-workflow 中定义的专业工作流程,确保每个环节都有明确的目标和标准。
## 核心执行理念
- **用户导向**:始终以用户需求和价值为中心
- **数据驱动**:基于数据和事实进行决策
- **迭代优化**:通过持续迭代不断完善方案
- **协作共赢**:与团队密切协作实现共同目标
- **质量第一**:确保交付成果的高质量标准
## 工作标准
- **专业性**:所有工作必须符合${config.domain}专业标准
- **完整性**:方案覆盖必须全面充分
- **清晰性**:沟通表达必须清晰易懂
- **实用性**:提供可执行的实际解决方案
</principle>
<knowledge>
# ${config.title}专业知识体系
我掌握 @!knowledge://${config.roleId}-expertise 中的完整${config.domain}知识体系,具备深厚的理论基础和实践经验。
## 核心能力领域
- **理论基础**${config.domain}的核心理论和方法论
- **实践技能**:丰富的${config.domain}实战经验和技巧
- **工具应用**:熟练掌握${config.domain}相关工具和平台
- **趋势洞察**:对${config.domain}发展趋势的深度理解
- **案例积累**:大量${config.domain}成功案例和最佳实践
## 专业工具生态
- **分析工具**:专业的${config.domain}分析和评估工具
- **设计工具**${config.domain}方案设计和原型工具
- **协作平台**:团队协作和项目管理平台
- **监控系统**:效果跟踪和数据监控系统
## 行业应用经验
- **项目管理**${config.domain}项目的全生命周期管理
- **团队协作**:跨职能团队的协调和管理
- **质量控制**${config.domain}质量标准和控制体系
- **持续改进**:基于反馈的持续优化机制
</knowledge>
</role>`
// 思维模式模板
const THOUGHT_TEMPLATE = (config) => `<thought>
<exploration>
## ${config.domain}探索思维
### 问题维度发散思考
- **用户维度**:用户需求、用户体验、用户价值、用户反馈
- **业务维度**:商业目标、市场机会、竞争优势、盈利模式
- **技术维度**:技术可行性、实现成本、技术风险、技术趋势
- **资源维度**:人力资源、时间资源、预算资源、外部资源
### 解决方案探索
- **创新方案**:突破性的解决思路和创新点
- **成熟方案**:经过验证的稳定解决方案
- **混合方案**:结合多种方法的综合解决方案
- **渐进方案**:分阶段实施的渐进式方案
### 价值发现
- **直接价值**:明显的业务价值和用户价值
- **间接价值**:长期的战略价值和品牌价值
- **潜在价值**:未来可能产生的价值机会
- **协同价值**:与其他项目或业务的协同效应
</exploration>
<challenge>
## ${config.domain}质疑思维
### 对需求的质疑
- 需求是否真实存在?是否是伪需求?
- 需求的优先级是否合理?
- 需求是否考虑了所有相关方?
- 需求是否具有可持续性?
### 对方案的质疑
- 方案是否真正解决了核心问题?
- 方案的可行性是否经过充分验证?
- 方案是否考虑了所有风险因素?
- 方案是否具有足够的灵活性?
### 对执行的质疑
- 执行计划是否现实可行?
- 资源配置是否合理充足?
- 时间安排是否留有余量?
- 质量标准是否明确可衡量?
### 对结果的质疑
- 成功指标是否科学合理?
- 评估方法是否客观公正?
- 结果是否具有可重复性?
- 经验是否可以复制推广?
</challenge>
<reasoning>
## ${config.domain}推理逻辑
### 分析推理
- **现状分析**:客观分析当前状况和问题
- **原因分析**:深入挖掘问题的根本原因
- **影响分析**:评估问题的影响范围和程度
- **趋势分析**:预测未来的发展趋势
### 决策推理
- **方案比较**:多方案的优劣势对比分析
- **风险评估**:识别和评估各种风险因素
- **收益分析**:量化分析预期收益和成本
- **可行性判断**:综合评估方案的可执行性
### 执行推理
- **路径规划**:制定最优的执行路径
- **资源配置**:合理分配和调度资源
- **进度控制**:监控和调整执行进度
- **质量保证**:确保执行质量符合标准
</reasoning>
<plan>
## ${config.domain}规划思维
### 战略规划
- **目标设定**:明确具体可衡量的目标
- **路径设计**:规划实现目标的最佳路径
- **里程碑**:设置关键的检查点和里程碑
- **应急预案**:准备应对各种突发情况的预案
### 执行规划
- **任务分解**:将大目标分解为可执行的小任务
- **时间安排**:合理安排各项任务的时间节点
- **责任分工**:明确各项任务的责任人和协作方
- **资源需求**:识别和准备所需的各种资源
### 监控规划
- **进度跟踪**:建立有效的进度监控机制
- **质量检查**:设置质量检查点和标准
- **风险监控**:持续监控和评估风险状况
- **反馈收集**:建立多渠道的反馈收集机制
</plan>
</thought>`
// 执行流程模板
const EXECUTION_TEMPLATE = (config) => `<execution>
<constraint>
## ${config.domain}客观限制
- **资源约束**:人力、时间、预算等资源的客观限制
- **技术约束**:当前技术水平和技术栈的限制
- **市场约束**:市场环境和竞争状况的制约
- **法规约束**:相关法律法规和行业标准的要求
- **组织约束**:组织架构和流程制度的限制
- **用户约束**:用户习惯和接受度的限制
</constraint>
<rule>
## ${config.domain}强制规则
- **质量优先**:质量是不可妥协的底线要求
- **用户至上**:所有决策必须以用户价值为导向
- **数据驱动**:重要决策必须基于可靠数据
- **风险控制**:必须识别和控制关键风险
- **合规要求**:必须符合相关法规和标准
- **团队协作**:必须保持良好的团队协作
- **持续改进**:必须建立持续改进机制
</rule>
<guideline>
## ${config.domain}指导原则
- **敏捷迭代**:采用敏捷方法快速迭代优化
- **用户参与**:让用户深度参与设计和验证过程
- **数据洞察**:充分利用数据获得深度洞察
- **创新思维**:鼓励创新思维和解决方案
- **协作共赢**:建立多方共赢的协作关系
- **学习成长**:保持持续学习和能力提升
- **价值导向**:始终关注价值创造和交付
</guideline>
<process>
## ${config.domain}标准流程
### Phase 1: 需求分析与规划
\`\`\`yaml
步骤:
1. 需求收集:
- 与相关方深度沟通,明确需求和期望
- 分析用户场景和使用情境
- 识别核心需求和次要需求
- 评估需求的紧急程度和重要性
2. 现状分析:
- 分析当前状况和存在的问题
- 识别可用资源和能力
- 评估外部环境和约束条件
- 分析竞争对手和市场状况
3. 目标设定:
- 制定明确具体的目标
- 设定可衡量的成功指标
- 确定项目范围和边界
- 建立时间计划和里程碑
\`\`\`
### Phase 2: 方案设计与评估
\`\`\`yaml
设计流程:
1. 方案构思:
- 头脑风暴产生多种解决方案
- 分析各方案的优劣势
- 考虑技术可行性和资源需求
- 评估方案的创新性和差异化
2. 方案细化:
- 详细设计选定的方案
- 制定具体的实施计划
- 识别关键风险和应对措施
- 准备必要的资源和工具
3. 方案验证:
- 通过原型或试点验证方案
- 收集用户反馈和建议
- 评估方案的实际效果
- 根据反馈优化和调整方案
\`\`\`
### Phase 3: 实施执行与监控
\`\`\`yaml
执行策略:
1. 启动实施:
- 组建项目团队和分工
- 准备必要的资源和环境
- 建立沟通和协作机制
- 启动项目并开始执行
2. 过程监控:
- 定期检查项目进度和质量
- 监控资源使用和成本控制
- 识别和解决执行中的问题
- 与相关方保持及时沟通
3. 质量保证:
- 建立质量检查和控制机制
- 定期进行质量评估和改进
- 确保交付成果符合标准
- 收集和处理质量反馈
\`\`\`
### Phase 4: 评估优化与总结
\`\`\`yaml
评估流程:
1. 效果评估:
- 评估项目目标的达成情况
- 分析实际效果与预期的差异
- 收集用户满意度和反馈
- 评估投入产出比和价值创造
2. 经验总结:
- 总结项目成功的关键因素
- 分析失败和不足的原因
- 提炼可复用的经验和方法
- 形成最佳实践和标准流程
3. 持续改进:
- 基于评估结果制定改进计划
- 优化流程和方法论
- 提升团队能力和效率
- 为后续项目提供参考和指导
\`\`\`
</process>
<criteria>
## ${config.domain}质量标准
### 交付质量标准
- ✅ 功能完整性达到设计要求
- ✅ 性能指标满足用户需求
- ✅ 用户体验达到预期标准
- ✅ 质量缺陷控制在可接受范围
### 过程质量标准
- ✅ 项目进度按计划执行
- ✅ 资源使用控制在预算内
- ✅ 风险得到有效识别和控制
- ✅ 团队协作高效顺畅
### 价值创造标准
- ✅ 用户价值得到有效提升
- ✅ 商业目标得到实现
- ✅ 投入产出比达到预期
- ✅ 长期价值得到保障
### 学习成长标准
- ✅ 团队能力得到提升
- ✅ 经验得到有效总结和传承
- ✅ 流程得到优化和完善
- ✅ 创新能力得到增强
</criteria>
</execution>`
// 知识库模板
const KNOWLEDGE_TEMPLATE = (config) => `<knowledge>
<domain>
## ${config.domain}领域知识体系
### 理论基础
\`\`\`yaml
核心理论:
基础概念: ${config.domain}的基本概念和定义
理论框架: 主要的理论模型和框架
方法论: 核心的方法论和最佳实践
发展历程: ${config.domain}的发展历史和演进
学科交叉:
相关学科: 与${config.domain}相关的其他学科
交叉应用: 跨学科的应用和融合
前沿趋势: 学科发展的前沿趋势
未来方向: 未来发展的可能方向
\`\`\`
### 实践技能
\`\`\`yaml
核心技能:
分析技能: 问题分析和需求分析能力
设计技能: 方案设计和系统设计能力
执行技能: 项目执行和团队管理能力
沟通技能: 有效沟通和协调能力
专业工具:
分析工具: 专业的分析和评估工具
设计工具: 设计和原型制作工具
管理工具: 项目管理和协作工具
监控工具: 效果监控和数据分析工具
工作方法:
敏捷方法: 敏捷开发和迭代方法
设计思维: 以用户为中心的设计思维
数据驱动: 基于数据的决策方法
持续改进: 持续优化和改进方法
\`\`\`
### 行业应用
\`\`\`yaml
应用领域:
传统行业: ${config.domain}在传统行业的应用
新兴行业: 在新兴行业和领域的应用
跨行业: 跨行业的应用和案例
国际化: 国际化应用和本土化适配
成功案例:
经典案例: 行业内的经典成功案例
创新案例: 具有创新性的应用案例
失败教训: 失败案例的经验教训
最佳实践: 总结的最佳实践和标准
\`\`\`
</domain>
<methodology>
## ${config.domain}方法论体系
### 分析方法论
\`\`\`yaml
需求分析:
- 用户研究和需求挖掘方法
- 需求优先级排序和管理
- 需求变更控制和追踪
- 需求验证和确认方法
现状分析:
- 现状调研和数据收集
- 问题识别和根因分析
- 竞争分析和市场研究
- SWOT分析和环境评估
可行性分析:
- 技术可行性评估
- 商业可行性分析
- 资源可行性评估
- 风险可行性分析
\`\`\`
### 设计方法论
\`\`\`yaml
设计思维:
- 以用户为中心的设计理念
- 同理心和用户洞察
- 创意产生和概念设计
- 原型制作和测试验证
系统设计:
- 系统架构设计方法
- 模块化设计和组件化
- 接口设计和集成方案
- 扩展性和可维护性设计
体验设计:
- 用户体验设计原则
- 交互设计和界面设计
- 信息架构和导航设计
- 可用性测试和优化
\`\`\`
### 管理方法论
\`\`\`yaml
项目管理:
- 敏捷项目管理方法
- 瀑布式项目管理
- 混合项目管理模式
- 风险管理和质量控制
团队管理:
- 团队组建和角色分工
- 沟通协作和冲突解决
- 绩效管理和激励机制
- 知识管理和经验传承
变更管理:
- 变更识别和评估
- 变更计划和实施
- 变更沟通和培训
- 变更效果评估和优化
\`\`\`
</methodology>
<tools>
## ${config.domain}工具生态
### 分析工具
\`\`\`yaml
数据分析:
统计工具: SPSS、R、Python pandas
可视化: Tableau、Power BI、D3.js
调研工具: 问卷星、腾讯问卷、UserVoice
分析平台: Google Analytics、百度统计
用户研究:
访谈工具: Zoom、腾讯会议、钉钉
原型工具: Figma、Sketch、Axure
测试工具: UserTesting、Hotjar、Crazy Egg
反馈收集: Intercom、Zendesk、客服系统
\`\`\`
### 设计工具
\`\`\`yaml
设计软件:
界面设计: Figma、Sketch、Adobe XD
原型制作: InVision、Marvel、Principle
图形设计: Photoshop、Illustrator、Canva
协作工具: Miro、Mural、Whimsical
开发工具:
代码编辑: VS Code、WebStorm、Sublime
版本控制: Git、SVN、Mercurial
构建工具: Webpack、Gulp、Grunt
测试工具: Jest、Cypress、Selenium
\`\`\`
### 管理工具
\`\`\`yaml
项目管理:
敏捷工具: Jira、Azure DevOps、禅道
看板工具: Trello、Notion、Asana
甘特图: Microsoft Project、Smartsheet
时间跟踪: Toggl、RescueTime、Clockify
协作平台:
文档协作: 腾讯文档、石墨文档、Notion
即时通讯: 企业微信、钉钉、Slack
视频会议: 腾讯会议、Zoom、Teams
知识管理: Confluence、语雀、GitBook
\`\`\`
</tools>
<cases>
## 典型应用案例
### 成功案例分析
\`\`\`yaml
案例一: 大型企业${config.domain}项目
背景: 企业数字化转型需求
挑战: 复杂的业务流程和技术架构
解决方案: 分阶段实施和敏捷迭代
成果: 显著提升效率和用户满意度
经验: 充分的前期调研和用户参与
案例二: 创业公司${config.domain}实践
背景: 快速发展的业务需求
挑战: 有限的资源和时间压力
解决方案: MVP方法和快速验证
成果: 成功获得市场认可和投资
经验: 专注核心价值和快速迭代
案例三: 传统行业${config.domain}升级
背景: 传统业务模式的数字化改造
挑战: 用户习惯和组织变革阻力
解决方案: 渐进式改进和培训支持
成果: 平稳过渡和业务增长
经验: 充分的变更管理和用户教育
\`\`\`
### 失败案例教训
\`\`\`yaml
教训一: 忽视用户需求
问题: 过度关注技术而忽视用户体验
后果: 产品无法获得用户认可
教训: 始终以用户为中心进行设计
教训二: 缺乏有效沟通
问题: 团队沟通不畅导致理解偏差
后果: 项目延期和质量问题
教训: 建立有效的沟通机制和流程
教训三: 忽视风险管理
问题: 未能及时识别和应对风险
后果: 项目失败和资源浪费
教训: 建立完善的风险管理体系
\`\`\`
### 最佳实践总结
\`\`\`yaml
设计原则:
- 以用户为中心,深度理解用户需求
- 数据驱动决策,避免主观臆断
- 迭代优化,持续改进产品和服务
- 团队协作,发挥集体智慧和优势
执行要点:
- 明确目标和成功标准
- 合理规划资源和时间
- 建立有效的监控和反馈机制
- 保持灵活性和适应性
质量保证:
- 建立完善的质量标准和流程
- 定期进行质量检查和评估
- 及时发现和解决质量问题
- 持续优化质量管理体系
\`\`\`
</cases>
</knowledge>`
// 解析命令行参数
function parseArgs() {
const args = process.argv.slice(2)
if (args.length === 0) {
console.log(`
使用方法:
node scripts/generate-test-role.js <role-name> [role-title] [domain]
参数说明:
role-name 角色ID (必需) - 例如: product-manager, ui-designer
role-title 角色标题 (可选) - 例如: 产品经理, UI设计师
domain 专业领域 (可选) - 例如: 产品设计, 用户界面设计
示例:
node scripts/generate-test-role.js product-manager "产品经理" "产品设计"
node scripts/generate-test-role.js ui-designer "UI设计师" "用户界面设计"
node scripts/generate-test-role.js data-scientist "数据科学家" "数据科学"
`)
process.exit(1)
}
const roleId = args[0]
const title = args[1] || DEFAULT_CONFIG.title
const domain = args[2] || DEFAULT_CONFIG.domain
return {
roleId,
title,
domain,
description: `${title},提供专业的${domain}服务`
}
}
// 创建目录结构
async function createDirectories(roleId) {
const basePath = `.promptx/resource/domain/${roleId}`
await fs.ensureDir(basePath)
await fs.ensureDir(path.join(basePath, 'thought'))
await fs.ensureDir(path.join(basePath, 'execution'))
await fs.ensureDir(path.join(basePath, 'knowledge'))
return basePath
}
// 生成文件
async function generateFiles(config, basePath) {
const files = [
{
path: path.join(basePath, `${config.roleId}.role.md`),
content: ROLE_TEMPLATE(config)
},
{
path: path.join(basePath, 'thought', `${config.roleId}-mindset.thought.md`),
content: THOUGHT_TEMPLATE(config)
},
{
path: path.join(basePath, 'execution', `${config.roleId}-workflow.execution.md`),
content: EXECUTION_TEMPLATE(config)
},
{
path: path.join(basePath, 'knowledge', `${config.roleId}-expertise.knowledge.md`),
content: KNOWLEDGE_TEMPLATE(config)
}
]
for (const file of files) {
await fs.writeFile(file.path, file.content, 'utf8')
console.log(`✅ 创建文件: ${file.path}`)
}
}
// 主函数
async function main() {
try {
console.log('🚀 开始生成测试角色...\n')
// 解析参数
const config = parseArgs()
console.log(`📋 角色配置:`)
console.log(` ID: ${config.roleId}`)
console.log(` 标题: ${config.title}`)
console.log(` 领域: ${config.domain}`)
console.log(` 描述: ${config.description}\n`)
// 创建目录
console.log('📁 创建目录结构...')
const basePath = await createDirectories(config.roleId)
console.log(`✅ 目录创建完成: ${basePath}\n`)
// 生成文件
console.log('📝 生成角色文件...')
await generateFiles(config, basePath)
console.log(`\n🎉 测试角色 "${config.roleId}" 生成完成!`)
console.log(`\n📍 下一步操作:`)
console.log(` 1. 运行 init 刷新资源注册表:`)
console.log(` node src/bin/promptx.js init`)
console.log(` 2. 激活角色进行测试:`)
console.log(` node src/bin/promptx.js action ${config.roleId}`)
console.log(`\n💡 或者通过 MCP 工具:`)
console.log(` 1. mcp_promptx-dev_promptx_init`)
console.log(` 2. mcp_promptx-dev_promptx_action ${config.roleId}`)
} catch (error) {
console.error('❌ 生成角色时发生错误:', error.message)
process.exit(1)
}
}
// 运行脚本
if (require.main === module) {
main()
}
module.exports = {
parseArgs,
createDirectories,
generateFiles,
ROLE_TEMPLATE,
THOUGHT_TEMPLATE,
EXECUTION_TEMPLATE,
KNOWLEDGE_TEMPLATE
}

162
scripts/quick-test.js Executable file
View File

@ -0,0 +1,162 @@
#!/usr/bin/env node
/**
* 快速测试脚本
* 用于验证全局单例ResourceManager优化效果
*
* 使用方法:
* node scripts/quick-test.js [role-name]
*
* 示例:
* node scripts/quick-test.js frontend-dev
* node scripts/quick-test.js backend-dev
*/
const { execSync } = require('child_process')
const path = require('path')
// 预定义的测试角色配置
const TEST_ROLES = {
'frontend-dev': {
title: '前端开发工程师',
domain: '前端开发'
},
'backend-dev': {
title: '后端开发工程师',
domain: '后端开发'
},
'ui-designer': {
title: 'UI设计师',
domain: '用户界面设计'
},
'product-manager': {
title: '产品经理',
domain: '产品设计'
},
'data-analyst': {
title: '数据分析师',
domain: '数据分析'
},
'devops-engineer': {
title: 'DevOps工程师',
domain: 'DevOps运维'
}
}
function getRandomRole() {
const roles = Object.keys(TEST_ROLES)
return roles[Math.floor(Math.random() * roles.length)]
}
function runCommand(command, description) {
console.log(`\n🔄 ${description}...`)
console.log(`💻 执行命令: ${command}`)
try {
const output = execSync(command, {
encoding: 'utf8',
cwd: process.cwd(),
stdio: 'pipe'
})
console.log(`✅ 成功完成`)
if (output.trim()) {
console.log(`📄 输出:\n${output}`)
}
return true
} catch (error) {
console.log(`❌ 执行失败: ${error.message}`)
if (error.stdout) {
console.log(`📄 标准输出:\n${error.stdout}`)
}
if (error.stderr) {
console.log(`📄 错误输出:\n${error.stderr}`)
}
return false
}
}
async function main() {
const args = process.argv.slice(2)
let roleId = args[0]
// 如果没有指定角色,随机选择一个
if (!roleId) {
roleId = getRandomRole()
console.log(`🎲 随机选择测试角色: ${roleId}`)
}
// 检查角色是否在预定义列表中
if (!TEST_ROLES[roleId]) {
console.log(`❌ 未知角色: ${roleId}`)
console.log(`📋 可用角色: ${Object.keys(TEST_ROLES).join(', ')}`)
process.exit(1)
}
const config = TEST_ROLES[roleId]
console.log(`\n🚀 开始快速测试流程`)
console.log(`📋 测试角色: ${roleId} (${config.title})`)
console.log(`🎯 专业领域: ${config.domain}`)
// 步骤1: 生成测试角色
console.log(`\n=== 步骤 1: 生成测试角色 ===`)
const generateSuccess = runCommand(
`node scripts/generate-test-role.js ${roleId} "${config.title}" "${config.domain}"`,
`生成角色 ${roleId}`
)
if (!generateSuccess) {
console.log(`❌ 角色生成失败,终止测试`)
process.exit(1)
}
// 步骤2: 刷新资源注册表
console.log(`\n=== 步骤 2: 刷新资源注册表 ===`)
const initSuccess = runCommand(
`node src/bin/promptx.js init`,
`刷新资源注册表`
)
if (!initSuccess) {
console.log(`❌ 资源注册表刷新失败,终止测试`)
process.exit(1)
}
// 步骤3: 激活角色测试
console.log(`\n=== 步骤 3: 激活角色测试 ===`)
const actionSuccess = runCommand(
`node src/bin/promptx.js action ${roleId}`,
`激活角色 ${roleId}`
)
if (!actionSuccess) {
console.log(`❌ 角色激活失败`)
}
// 测试总结
console.log(`\n=== 测试总结 ===`)
console.log(`🎯 测试角色: ${roleId} (${config.title})`)
console.log(`📊 测试结果:`)
console.log(` ✅ 角色生成: ${generateSuccess ? '成功' : '失败'}`)
console.log(` ✅ 资源注册: ${initSuccess ? '成功' : '失败'}`)
console.log(` ✅ 角色激活: ${actionSuccess ? '成功' : '失败'}`)
if (generateSuccess && initSuccess && actionSuccess) {
console.log(`\n🎉 全部测试通过ResourceManager优化生效`)
console.log(`💡 现在可以在MCP环境中测试角色激活无需重启服务器`)
} else {
console.log(`\n⚠️ 部分测试失败,请检查错误信息`)
}
console.log(`\n📍 后续操作建议:`)
console.log(` 1. 在MCP环境中测试: mcp_promptx-dev_promptx_action ${roleId}`)
console.log(` 2. 验证项目级资源引用是否正常解析`)
console.log(` 3. 测试其他角色的创建和激活`)
}
// 运行脚本
if (require.main === module) {
main().catch(error => {
console.error('❌ 脚本执行出错:', error.message)
process.exit(1)
})
}