更新bootstrap.md文档,明确AI助手的角色执行步骤,新增核心提示词内容打印功能至promptx.js,并调整产品负责人角色文档,强调角色启动确认的重要性,提升文档的准确性和用户体验。

This commit is contained in:
sean
2025-05-22 16:18:01 +08:00
parent 0e4bfa1761
commit 846a5b6032
3 changed files with 83 additions and 10 deletions

View File

@ -1,6 +1,15 @@
## PromptX Agent Role Bootstrap
1. 使用命令 `node PromptX/promptx.js` 获取所有协议内容
2. 阅读并理解 PromptX 提示词系统
3. 你需要代入的角色是 @file://PromptX/domain/assistant/assistant.role.md
4. Action!!
作为 AI 助手,当用户发出指令 Action 时,你必须按照一下步骤按顺序执行并代入角色
1. ⚠️ 使用命令 `node PromptX/promptx.js protocols` 阅读并理解 DPML 提示词协议
2. ⚠️ 使用命令 `node PromptX/promptx.js core` 阅读并理解 核心 提示词,核心提示词大部分角色都会用到,必须仔细理解
3. 你需要代入的角色是 @file://PromptX/domain/scrum/role/product-owner.role.md
4. 按照橘色提示词配置执行
5. 自检以下步骤
- 是否理解 DPML 提示词协议
- 是否理解 @ 符号资源引用协议
- 是否理解记忆触发,存储,处理流程和所使用的工具
- 是否理解自己的角色定位
6. 自检完成后,向用户表达 “🙋我已进入工作状态!!!”

View File

@ -87,10 +87,7 @@
如果记忆文件不存在,则创建空记忆容器并准备记忆索引。
## 角色启动确认
完成以上初始化步骤后,产品负责人角色将进入就绪状态,准备接收用户输入并提供专业的产品管理支持。
进入状态时,产品负责人应明确表达 "🙋我已进入产品负责人角色状态!!"
</action>
</role>

View File

@ -19,7 +19,6 @@ function printProtocols() {
// 定义目录优先级顺序
const directories = [
{ path: path.join(promptxDir, 'protocol'), name: 'protocol' },
{ path: path.join(promptxDir, 'core'), name: 'core' },
{ path: path.join(promptxDir, 'resource'), name: 'resource' }
];
@ -84,6 +83,70 @@ function printProtocols() {
console.log(`\n总计读取了 ${allFiles.length} 个协议文件。`);
}
/**
* 打印核心提示词内容
*/
function printCore() {
const coreDir = path.join(promptxDir, 'core');
let allFiles = [];
// 递归查找文件函数
function collectMarkdownFiles(dir) {
if (!fs.existsSync(dir)) {
console.warn(`警告: 目录不存在 ${dir}`);
return [];
}
let files = [];
const entries = fs.readdirSync(dir, { withFileTypes: true });
for (const entry of entries) {
const fullPath = path.join(dir, entry.name);
if (entry.isDirectory()) {
files = files.concat(collectMarkdownFiles(fullPath));
} else if (entry.isFile() && entry.name.endsWith('.md')) {
files.push(fullPath);
}
}
return files;
}
// 收集核心目录下的所有文件
const coreFiles = collectMarkdownFiles(coreDir);
// 文件按字母顺序排序
coreFiles.sort();
// 合并到总文件列表
allFiles = allFiles.concat(coreFiles);
console.log(`从 core 目录收集了 ${coreFiles.length} 个文件`);
// 没有文件时的提示
if (allFiles.length === 0) {
console.log("未找到任何核心提示词文件。请确认PromptX目录结构是否正确。");
return;
}
// 打印每个文件
for (const file of allFiles) {
const relativePath = path.relative(promptxDir, file);
const separator = "=".repeat(80);
console.log(`\n${separator}\n### 文件: ${relativePath}\n${separator}\n`);
try {
const content = fs.readFileSync(file, 'utf8');
console.log(content);
} catch (err) {
console.error(`读取文件错误: ${file}`, err);
}
}
console.log(`\n总计读取了 ${allFiles.length} 个核心提示词文件。`);
}
/**
* 打印指定角色内容
*/
@ -282,8 +345,9 @@ function printHelp() {
PromptX 工具 - 协议和角色内容查看器
使用方法:
node promptx.js - 打印所有协议内容 (按protocol、core、resource顺序)
node promptx.js - 打印所有协议内容 (按protocol、resource顺序)
node promptx.js protocols - 同上,打印所有协议内容
node promptx.js core - 打印所有核心提示词内容
node promptx.js role <路径> - 打印指定角色文件内容
node promptx.js file <路径> - 打印指定文件内容
node promptx.js remember <内容> - 添加记忆条目,标签、评分和有效期可直接包含在内容中
@ -306,6 +370,9 @@ switch (command) {
case 'protocols':
printProtocols();
break;
case 'core':
printCore();
break;
case 'role':
if (!param) {
console.error('错误: 缺少角色文件路径');