Staging (#71)
* Develop (#66) * 重构ActionCommand和LearnCommand,更新DPMLContentParser和SemanticRenderer的导入路径,确保模块结构一致性。删除不再使用的DPMLContentParser和SemanticRenderer文件,优化代码结构,提升可维护性。 * 重构PromptX资源协议系统,采用极简两层协议架构,删除不必要的语义层,优化路径解析和资源加载流程。引入AI协作优化,支持直接生成完整协议路径,提升系统性能和用户体验。整体架构简化60%,实现零配置启动,显著降低内存占用和启动时间。 * optimize:优化女娲提示词 * Optimize:更新记忆策略文档,增加角色专业记忆的独特价值和工作流程,强调角色记忆与客户端记忆的差异,优化记忆引导话术和决策规则,以提升用户对专业记忆系统的理解和应用。 * feature:增加 Sean 角色 * optimize:优化记忆格式化逻辑,确保完整记忆内容不被截断,同时更新工具定义中的描述,增强用户对记忆回想器的理解和使用指导。 * feat: 添加DACP服务支持,允许通过命令行调用DACP专业服务,增强AI角色的执行能力,同时更新相关依赖和工具定义。 * feat: 在MCPServerCommand和MCPStreamableHttpCommand中添加'promptx_dacp'参数映射,同时在DACPCommand中优化参数处理逻辑,以支持数组参数的正确解析。 * feat: 更新DACP演示服务,重命名服务和描述,简化功能,删除不必要的日历和文档操作,增强演示效果。同时,优化了API接口和README文档,确保用户更易于理解和使用。 * feat: 添加DACP邮件发送功能,支持真实发送与Demo模式,增强邮件发送的配置管理和错误提示,优化用户体验。 * feat: 更新女娲和Sean角色文档,增强角色身份、核心特质和决策框架的描述,优化内容结构,提升用户理解和使用体验。同时,更新产品哲学知识体系,明确矛盾驱动和简洁性原则的应用。 * Add product management submodule * fix: 修复 recall 和 learn 的 bug * refactor: 把 hello 改成 welcome * feat: 添加DACP服务启动脚本和测试命令,更新相关依赖,优化配置文件路径处理 * fix: 更新pnpm-lock.yaml以匹配DACP依赖,解决CI中--frozen-lockfile的错误 * 更新DACP白皮书的更新日期至2025-01-19;在DACPConfigManager中优化配置管理,支持项目级和用户级配置的优先级处理,增强错误提示信息,更新相关方法以支持异步操作。 * Develop (#70) * 重构ActionCommand和LearnCommand,更新DPMLContentParser和SemanticRenderer的导入路径,确保模块结构一致性。删除不再使用的DPMLContentParser和SemanticRenderer文件,优化代码结构,提升可维护性。 * 重构PromptX资源协议系统,采用极简两层协议架构,删除不必要的语义层,优化路径解析和资源加载流程。引入AI协作优化,支持直接生成完整协议路径,提升系统性能和用户体验。整体架构简化60%,实现零配置启动,显著降低内存占用和启动时间。 * optimize:优化女娲提示词 * Optimize:更新记忆策略文档,增加角色专业记忆的独特价值和工作流程,强调角色记忆与客户端记忆的差异,优化记忆引导话术和决策规则,以提升用户对专业记忆系统的理解和应用。 * feature:增加 Sean 角色 * optimize:优化记忆格式化逻辑,确保完整记忆内容不被截断,同时更新工具定义中的描述,增强用户对记忆回想器的理解和使用指导。 * feat: 添加DACP服务支持,允许通过命令行调用DACP专业服务,增强AI角色的执行能力,同时更新相关依赖和工具定义。 * feat: 在MCPServerCommand和MCPStreamableHttpCommand中添加'promptx_dacp'参数映射,同时在DACPCommand中优化参数处理逻辑,以支持数组参数的正确解析。 * feat: 更新DACP演示服务,重命名服务和描述,简化功能,删除不必要的日历和文档操作,增强演示效果。同时,优化了API接口和README文档,确保用户更易于理解和使用。 * feat: 添加DACP邮件发送功能,支持真实发送与Demo模式,增强邮件发送的配置管理和错误提示,优化用户体验。 * feat: 更新女娲和Sean角色文档,增强角色身份、核心特质和决策框架的描述,优化内容结构,提升用户理解和使用体验。同时,更新产品哲学知识体系,明确矛盾驱动和简洁性原则的应用。 * Add product management submodule * fix: 修复 recall 和 learn 的 bug * refactor: 把 hello 改成 welcome * feat: 添加DACP服务启动脚本和测试命令,更新相关依赖,优化配置文件路径处理 * fix: 更新pnpm-lock.yaml以匹配DACP依赖,解决CI中--frozen-lockfile的错误 * 更新DACP白皮书的更新日期至2025-01-19;在DACPConfigManager中优化配置管理,支持项目级和用户级配置的优先级处理,增强错误提示信息,更新相关方法以支持异步操作。 * 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> --------- Co-authored-by: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
254
docs/dacp-config-management.md
Normal file
254
docs/dacp-config-management.md
Normal file
@ -0,0 +1,254 @@
|
||||
# DACP配置管理指南
|
||||
|
||||
**版本**: 1.0.0
|
||||
**更新日期**: 2025-01-19
|
||||
**作者**: Sean
|
||||
|
||||
---
|
||||
|
||||
## 概述
|
||||
|
||||
DACP配置管理系统支持分层配置策略,实现了项目级配置优先、用户级配置回退的灵活配置管理机制。这允许团队在项目中共享配置,同时保持个人配置的独立性。
|
||||
|
||||
## 配置优先级
|
||||
|
||||
```
|
||||
项目级配置 (.promptx/dacp/) > 用户级配置 (~/.promptx/dacp/)
|
||||
```
|
||||
|
||||
### 优先级说明
|
||||
|
||||
1. **项目级配置** - 位于当前项目的 `.promptx/dacp/` 目录
|
||||
- 优先级最高
|
||||
- 适合团队共享的项目配置
|
||||
- 可以版本控制管理
|
||||
|
||||
2. **用户级配置** - 位于用户主目录的 `~/.promptx/dacp/` 目录
|
||||
- 作为回退选择
|
||||
- 个人私有配置
|
||||
- 跨项目通用配置
|
||||
|
||||
## 配置文件结构
|
||||
|
||||
### 邮件服务配置示例 (send_email.json)
|
||||
|
||||
```json
|
||||
{
|
||||
"provider": "gmail",
|
||||
"smtp": {
|
||||
"user": "your-email@gmail.com",
|
||||
"password": "your-app-password"
|
||||
},
|
||||
"sender": {
|
||||
"name": "Your Name",
|
||||
"email": "your-email@gmail.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 支持的邮件服务商
|
||||
|
||||
- **Gmail**: smtp.gmail.com:587
|
||||
- **Outlook**: smtp-mail.outlook.com:587
|
||||
- **QQ邮箱**: smtp.qq.com:465
|
||||
- **163邮箱**: smtp.163.com:465
|
||||
- **126邮箱**: smtp.126.com:465
|
||||
|
||||
## 使用方式
|
||||
|
||||
### 1. 项目级配置(推荐)
|
||||
|
||||
创建项目级配置文件:
|
||||
|
||||
```bash
|
||||
# 创建配置目录
|
||||
mkdir -p .promptx/dacp
|
||||
|
||||
# 创建邮件配置文件
|
||||
cat > .promptx/dacp/send_email.json << 'EOF'
|
||||
{
|
||||
"provider": "gmail",
|
||||
"smtp": {
|
||||
"user": "project-team@gmail.com",
|
||||
"password": "project-app-password"
|
||||
},
|
||||
"sender": {
|
||||
"name": "Project Team",
|
||||
"email": "project-team@gmail.com"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
```
|
||||
|
||||
### 2. 用户级配置(个人回退)
|
||||
|
||||
创建用户级配置文件:
|
||||
|
||||
```bash
|
||||
# 创建用户配置目录
|
||||
mkdir -p ~/.promptx/dacp
|
||||
|
||||
# 创建个人邮件配置
|
||||
cat > ~/.promptx/dacp/send_email.json << 'EOF'
|
||||
{
|
||||
"provider": "gmail",
|
||||
"smtp": {
|
||||
"user": "personal@gmail.com",
|
||||
"password": "personal-app-password"
|
||||
},
|
||||
"sender": {
|
||||
"name": "Personal Name",
|
||||
"email": "personal@gmail.com"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
```
|
||||
|
||||
## Gmail配置特别说明
|
||||
|
||||
### 应用专用密码设置
|
||||
|
||||
Gmail用户需要使用应用专用密码:
|
||||
|
||||
1. 进入 [Google 账户设置](https://myaccount.google.com)
|
||||
2. 启用两步验证
|
||||
3. 生成应用专用密码
|
||||
4. 在配置文件中使用生成的密码
|
||||
|
||||
### 配置示例
|
||||
|
||||
```json
|
||||
{
|
||||
"provider": "gmail",
|
||||
"smtp": {
|
||||
"user": "yourname@gmail.com",
|
||||
"password": "abcd efgh ijkl mnop" // 应用专用密码(16位,含空格)
|
||||
},
|
||||
"sender": {
|
||||
"name": "Your Name",
|
||||
"email": "yourname@gmail.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 配置管理命令
|
||||
|
||||
### 检查配置状态
|
||||
|
||||
```javascript
|
||||
const DACPConfigManager = require('./src/lib/utils/DACPConfigManager')
|
||||
const configManager = new DACPConfigManager()
|
||||
|
||||
// 检查是否有配置(任意级别)
|
||||
const hasConfig = await configManager.hasActionConfig('send_email')
|
||||
|
||||
// 检查项目级配置
|
||||
const hasProjectConfig = await configManager.hasProjectActionConfig('send_email')
|
||||
|
||||
// 检查用户级配置
|
||||
const hasUserConfig = await configManager.hasUserActionConfig('send_email')
|
||||
```
|
||||
|
||||
### 读取配置
|
||||
|
||||
```javascript
|
||||
// 读取配置(自动优先级选择)
|
||||
const config = await configManager.readActionConfig('send_email')
|
||||
|
||||
// 明确读取项目级配置
|
||||
const projectConfig = await configManager.readProjectActionConfig('send_email')
|
||||
|
||||
// 明确读取用户级配置
|
||||
const userConfig = await configManager.readUserActionConfig('send_email')
|
||||
```
|
||||
|
||||
### 写入配置
|
||||
|
||||
```javascript
|
||||
const emailConfig = {
|
||||
provider: "gmail",
|
||||
smtp: {
|
||||
user: "example@gmail.com",
|
||||
password: "app-password"
|
||||
},
|
||||
sender: {
|
||||
name: "Example User",
|
||||
email: "example@gmail.com"
|
||||
}
|
||||
}
|
||||
|
||||
// 写入项目级配置
|
||||
await configManager.writeProjectActionConfig('send_email', emailConfig)
|
||||
|
||||
// 写入用户级配置
|
||||
await configManager.writeUserActionConfig('send_email', emailConfig)
|
||||
```
|
||||
|
||||
## 最佳实践
|
||||
|
||||
### 1. 团队协作
|
||||
|
||||
- **项目配置**: 使用通用的项目配置,可以提交到版本控制
|
||||
- **敏感信息**: 个人敏感信息(如密码)使用用户级配置
|
||||
- **配置模板**: 在项目中提供配置模板,团队成员复制后修改
|
||||
|
||||
### 2. 安全性
|
||||
|
||||
- **不要提交密码**: 项目级配置可以包含结构,但不应包含真实密码
|
||||
- **使用应用密码**: Gmail等服务使用应用专用密码
|
||||
- **权限控制**: 确保配置文件权限设置合理
|
||||
|
||||
### 3. 配置继承
|
||||
|
||||
当前版本支持完全覆盖模式:
|
||||
- 如果存在项目级配置,完全使用项目级配置
|
||||
- 如果不存在项目级配置,回退到用户级配置
|
||||
- 未来版本可能支持配置合并模式
|
||||
|
||||
## 错误处理
|
||||
|
||||
### 常见错误和解决方案
|
||||
|
||||
1. **配置文件不存在**
|
||||
```
|
||||
解决方案: 按照上述步骤创建配置文件
|
||||
```
|
||||
|
||||
2. **项目目录无法获取**
|
||||
```
|
||||
解决方案: 确保在PromptX项目目录中运行,或使用用户级配置
|
||||
```
|
||||
|
||||
3. **SMTP认证失败**
|
||||
```
|
||||
解决方案: 检查用户名、密码和服务器配置
|
||||
```
|
||||
|
||||
4. **Gmail应用密码问题**
|
||||
```
|
||||
解决方案: 重新生成应用专用密码,确保格式正确
|
||||
```
|
||||
|
||||
## 版本兼容性
|
||||
|
||||
- **向后兼容**: 现有用户级配置继续工作
|
||||
- **API兼容**: 原有API方法保持不变
|
||||
- **渐进升级**: 可以逐步迁移到项目级配置
|
||||
|
||||
## 扩展功能
|
||||
|
||||
### 未来规划
|
||||
|
||||
1. **配置合并模式**: 支持项目级和用户级配置的智能合并
|
||||
2. **配置验证**: 增强的配置验证和错误提示
|
||||
3. **配置模板**: 内置常用配置模板
|
||||
4. **环境变量支持**: 支持通过环境变量覆盖配置
|
||||
5. **配置加密**: 敏感信息的加密存储
|
||||
|
||||
---
|
||||
|
||||
## 参考资料
|
||||
|
||||
- [DACP白皮书](./dacp-whitepaper.md)
|
||||
- [MCP集成指南](./mcp-integration-guide.md)
|
||||
- [PromptX架构原理](./promptx-architecture-principle.md)
|
||||
Reference in New Issue
Block a user