2025-12-08 17:58:53 +08:00
|
|
|
|
/**
|
2025-12-09 18:01:22 +08:00
|
|
|
|
* run-prompt.js - 执行一个prompt文件的AI工具脚本
|
|
|
|
|
|
*
|
|
|
|
|
|
* 此脚本描述如何执行一个prompt文件,供AI参考使用。
|
|
|
|
|
|
* 实际执行由外部AI工具完成,本项目不包含执行环境。
|
|
|
|
|
|
*
|
|
|
|
|
|
* 功能描述:
|
|
|
|
|
|
* 1. 读取指定的prompt文件
|
|
|
|
|
|
* 2. 提取文件中的元数据(target、priority等)
|
|
|
|
|
|
* 3. 检查Claude Code CLI是否可用(外部环境)
|
|
|
|
|
|
* 4. 调用Claude Code CLI执行prompt
|
|
|
|
|
|
* 5. 输出AI响应结果
|
2025-12-08 17:58:53 +08:00
|
|
|
|
*
|
2025-12-09 18:01:22 +08:00
|
|
|
|
* 输入:prompt文件路径
|
|
|
|
|
|
* 输出:AI生成的响应内容
|
|
|
|
|
|
*
|
|
|
|
|
|
* 伪代码逻辑:
|
2025-12-08 17:58:53 +08:00
|
|
|
|
*/
|
|
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 主函数:执行prompt文件
|
|
|
|
|
|
// 参数:promptFilePath - prompt文件的路径
|
|
|
|
|
|
// 返回:AI响应内容(字符串)
|
|
|
|
|
|
function executePromptFile(promptFilePath) {
|
|
|
|
|
|
// 步骤1:验证文件存在
|
|
|
|
|
|
// 如果文件不存在,抛出错误或返回错误信息
|
|
|
|
|
|
|
|
|
|
|
|
// 步骤2:读取文件内容
|
|
|
|
|
|
// 使用文件系统API读取文件内容,得到promptContent字符串
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 步骤3:提取元数据
|
|
|
|
|
|
// 从promptContent中匹配 <!-- target: xxx --> 格式的注释
|
|
|
|
|
|
// 提取target值,用于日志显示
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 步骤4:检查Claude Code CLI是否可用
|
|
|
|
|
|
// 尝试执行命令 'claude --version',如果失败则提示用户手动执行
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 步骤5:准备临时文件
|
|
|
|
|
|
// 在.temp目录下创建临时文件,将prompt内容写入
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 步骤6:调用Claude Code CLI
|
|
|
|
|
|
// 执行命令:claude --file "临时文件路径"
|
|
|
|
|
|
// 捕获输出结果
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 步骤7:清理临时文件
|
|
|
|
|
|
// 删除临时文件
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 步骤8:返回AI响应
|
|
|
|
|
|
// 将Claude Code的输出返回给调用者
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 注意:此函数为伪代码描述,实际实现由外部AI工具完成
|
|
|
|
|
|
}
|
2025-12-08 17:58:53 +08:00
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 辅助函数:提取prompt元数据
|
|
|
|
|
|
function extractPromptMetadata(promptContent) {
|
|
|
|
|
|
// 从prompt内容中提取target、priority等元数据
|
|
|
|
|
|
// 使用正则表达式匹配 <!-- key: value --> 格式
|
|
|
|
|
|
// 返回包含元数据的对象
|
2025-12-08 17:58:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 辅助函数:调用Claude Code CLI
|
|
|
|
|
|
function invokeClaudeCode(promptContent) {
|
|
|
|
|
|
// 调用外部Claude Code CLI工具执行prompt
|
|
|
|
|
|
// 返回AI生成的响应
|
2025-12-08 17:58:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-09 18:01:22 +08:00
|
|
|
|
// 导出函数供AI参考
|
|
|
|
|
|
// 注意:这些函数不会实际执行,仅作为文档说明
|