安全扫描
OpenClaw
可疑
medium confidence该技能声称的目的(项目扫描、文档管理和DDD感知的代码迭代)与其指令相符,但指令要求代理递归扫描仓库、读取IDE/索引文件、VCS日志和配置文件,并将其发送给AI,没有明确的边界——这可能会暴露敏感信息和文件;安装前请谨慎操作。
评估建议
该技能似乎能实现其声称的功能(扫描仓库、建立索引、生成文档并根据记忆快照更新代码和文档),但它执行广泛的仓库扫描并读取IDE索引、配置文件和VCS日志——这些可能包含敏感信息。在安装/使用前:1) 本地审查和验证 README/SKILL.md;先在非生产或示例仓库上运行。2) 在 .memddc/config.json(或仓库)中添加严格排除项,防止扫描 .env、凭证文件、密钥库、CI 密钥和其他敏感路径。3) 确保 .memddc/ 包含在 .gitignore 中,以免快照和日志被意外提交。4) 偏好手动调用(避免调度/自主运行),直到验证产生的工件。5) 由于发布者/来源未知(无主页),检查 example/.memddc 下的示例输出,验证没有隐藏的远程端点或隐式上传。如果需要帮助审计技能将读取的确切文件集或 repo 中生成的 mem-snapshot.json 内容,请在隔离的克隆中运行初始化并在允许任何外部传输之前检查快照。...详细分析 ▾
✓ 用途与能力
名称/描述(项目文档管理、DDD模型管理、记忆压缩、同步)与运行时指令一致:仓库扫描、git日志/差异、mem-snapshot.json索引、针对性文档更新和代码变更工作流。请求的行为(读取项目文件、建立索引、更新markdown和快照)与声称的目的相符。
⚠ 指令范围
SKILL.md 指示对项目进行完全递归扫描,收集IDE索引文件,运行git命令(git log、git diff),执行AST/代码扫描,读取/写入 .memddc/*(mem-snapshot.json、日志、压缩归档)并向AI“发送”日志/文件结构/用户文档进行分析。没有对敏感路径的明确排除(例如 .env、凭证文件),并且该技能的“主动请求”能力包括请求数据库表样本和其他潜在敏感工件。虽然 SKILL.md 通过建议首先进行索引查找来限制探索性读取,但扫描步骤仍然允许广泛访问仓库内容——这是潜在的隐私/敏感信息泄露风险。
✓ 安装机制
纯指令技能,没有安装规范,也没有需要安装程序写入的代码文件。这降低了供应链风险,因为自动安装程序不会下载或安装任何内容。
⚠ 凭证需求
该技能声明不需要环境变量或外部凭证(良好),但它指示代理读取许多本地文件(IDE索引、VCS日志、配置文件)并向用户请求数据库模式样本或代码片段。这种广泛的文件访问可能会暴露敏感信息(API密钥、数据库凭证),尽管没有请求环境变量。缺乏关于跳过敏感/配置文件的明确排除或指导是一个比例问题。
ℹ 持久化与权限
不请求 always:true,可由用户调用。它将在项目内创建和写入 .memddc/ 目录、mem-snapshot.json、日志和归档——对于此工具来说是正常的。由于该技能可以由代理自主调用(默认),将自主运行与广泛的文件扫描相结合会增加影响范围;这是一个警告,而不是立即取消资格的理由。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.22026/4/16
MemDDC 1.0.2 – 主要功能与结构全面升级。新增 VCS 日志(Git/SVN)AI分析,自动归档提交历史,支持团队协作模式洞察。引入项目三级索引快照结构(metadata/index/context),保障变更与信息精准定位。支持文档、业务、架构、API等多维度文档自动生成与分析,纳入用户自定义文档。实现 entity→mapper→service→controller→view 关联映射和领域驱动(DDD)建模同步。文件/代码/结构/配置变更可精准识别影响范围,实现同步闭环与自动记忆压缩。优化目录结构,提升团队共享与大规模工程持续协作效率。
● 无害
安装命令
点击复制官方npx clawhub@latest install memddc-ai-skill
镜像加速npx clawhub@latest install memddc-ai-skill --registry https://cn.longxiaskill.com
技能文档
技能信息
- 技能名称: MemDDC
- 版本: 1.0.2
- 作者: qihao123
- 描述: 面向团队协作的项目文档管理与代码迭代智能工具,提供自动文档生成、DDD模型管理、记忆压缩、代码风格统一和智能触发功能
- 触发关键词: MemDDC, 加载记忆约束修改, 按DDD契约迭代更新, memddc-init, memddc-update, memddc-sync
- 适用场景: 团队协作开发、复杂架构迭代、遗留系统持续重构、长期多人维护工程AI约束治理
快速定位约定
当用户提出涉及具体实体(如 SysDept)或模块(如 system/dept)的修改需求时:
- 第一步:查询
mem-snapshot.json的index层获取文件路径 - 第二步:读取目标文件
- 禁止在未查索引前进行大规模文件探索
实战交互契约
用户说"memddc-sync"或"MemDDC 更新"时:
- 执行
git diff --name-only获取变更文件列表 - 将变更文件与
mem-snapshot.json中的模块/实体/API 列表匹配 - 仅更新受影响的 Markdown 文档段落
- 更新 snapshot 中标记的字段,其余原样保留
用户提出代码修改需求时:
- 优先加载
mem-snapshot.json - 根据 snapshot 中的模块和关键类列表定位相关文件
- 先输出变更蓝图(影响文件清单),经用户确认后再执行修改
记忆快照 (mem-snapshot.json)
采用三级索引结构,便于 AI 快速定位与约束注入:
metadata— 项目元信息
index— 可查询的文件索引
entities: 核心实体 → 文件路径、所属模块、对应表名
- controllers: Controller → 文件路径、basePath
- services: ServiceImpl → 文件路径、interface、模块
- mappers: Mapper → java 路径、xml 路径、表名
- apis: 前端 API 封装 → 文件路径
- views: 前端页面 → 文件路径
- modules: 模块职责说明
- relations: 核心实体关联映射(entity→mapper→service→controller→view)
- 示例:SysDept → {entity, mapper, service, controller, views[]}
- AI 修改具体实体时,按 ID 查表定位相关文件,无需探索性读取context— 上下文约束
vcsSummary: 提交规律与近期变更主题
- structureAnalysis: 架构模式与潜在问题
- patterns: 高频设计模式(如 treeBuild、pagination、permission、crudApi)
- codeStyle: 命名规范、返回值类型、注解写法
- constraints: 业务常量映射(状态、类型、数据范围等)团队协作
- 团队共享目录:
.memddc/ - 共享配置:
config.json中的team.syncBranch - 冲突提示: 当
mem-snapshot.json与 Git 状态不一致时,提示用户先执行memddc-sync
目录结构
v1.0.2 新版目录结构
project/
├── .memddc/ # MemDDC 统一存储目录(团队共享)
│ ├── config.json # 团队共享配置
│ ├── mem-snapshot.json # 全局记忆快照(核心)
│ ├── vcs-log-raw.txt # 原始VCS日志(最近100条)
│ ├── vcs-log-analysis.md # AI整理的VCS日志分析
│ ├── file-tree-raw.txt # 原始文件树
│ ├── file-tree-analysis.md # AI文件结构分析
│ ├── docs/ # 项目文档(用户可添加)
│ │ ├── user-docs/ # 用户文档目录(AI会分析其中的业务文档)
│ │ ├── architecture.md # 架构文档
│ │ ├── business.md # 业务文档
│ │ ├── api.md # API接口文档
│ │ ├── database.md # 数据库设计文档
│ │ ├── development.md # 开发指南
│ │ ├── code-style.md # 代码风格指南
│ │ ├── [language-specific].md # 语言专属文档
│ │ ├── [architecture-specific].md # 架构专属文档
│ │ └── diagrams/ # 图表文档(Mermaid)
│ │ ├── architecture.mmd
│ │ ├── flow.mmd
│ │ ├── sequence.mmd
│ │ └── er.mmd
│ ├── ddd-model.md # DDD领域模型
│ ├── snapshots/ # 历史快照存档
│ │ ├── docs-compressed.zip # 文档压缩包
│ │ └── mem-YYYYMMDD-HHMMSS.json # 时间戳快照
│ ├── logs/ # 操作日志
│ │ └── sync-YYYYMMDD.log
│ └── .gitignore # 团队共享的git忽略规则
└── [项目源代码目录]
配置文件 (config.json)
{
"version": "1.0.2",
"project": {
"name": "项目名称",
"type": "backend|frontend|mobile|microservice",
"language": "java|python|go|javascript|typescript|rust",
"framework": "spring|django|gin|react|vue|flask",
"architecture": "mvc|mvvm|ddd|microservice|serverless|monolithic"
},
"team": {
"shared": true,
"members": ["member1@example.com", "member2@example.com"],
"syncBranch": "main"
},
"triggers": {
"codeChange": true,
"structureChange": true,
"configChange": true,
"manual": true,
"scheduled": false,
"scheduleCron": "0 2 "
},
"document": {
"types": ["architecture", "business", "api", "database"],
"includeDiagrams": true,
"autoUpdate": true,
"analyzeUserDocs": true
},
"vcs": {
"enabled": true,
"logLimit": 100,
"types": ["git", "svn"]
},
"fileAnalysis": {
"enabled": true,
"includeIdeIndexes": true
},
"compression": {
"level": 7,
"excludePatterns": [".log", ".tmp", "node_modules/"],
"contextLimit": 128000,
"autoCompressThreshold": 0.8
}
}
工作流程
v1.0.2 初始化阶段(核心升级)
- VCS日志拉取
git log --pretty=format:"%h %s %b" -n 100 或 svn log --limit 100
- 保存原始日志到 .memddc/vcs-log-raw.txt- AI日志分析
.memddc/vcs-log-analysis.md- 文件树扫描
.memddc/file-tree-raw.txt- AI结构分析
.memddc/file-tree-analysis.md- 用户文档分析
.memddc/docs/user-docs/ 目录
- 将用户文档发送给AI提取业务上下文
- 提取:业务流程、业务术语、需求规则- 代码扫描与文档生成
- 关联映射构建
mem-snapshot.json 的 relations 字段- 整合写入快照
mem-snapshot.jsonmemddc-sync 增量流程
- 执行
git diff --name-only获取变更文件 - 分类:代码文件→更新文档 / 用户文档→更新业务上下文 / 配置文件→更新技术栈说明
- AI 输出影响面判断:
{"affectedDocs": [...], "snapshotFields": [...]} - 精准读取并更新受影响内容
- 写入新 snapshot,保留未变更字段
迭代修改阶段
- 快速记忆加载:读取 mem-snapshot.json
- 变更感知:了解本次需要修改的范围和内容
- 文件定位:根据需求关键词查询
index层(entities / services / mappers / views 等),精准定位相关文件路径 - DDD约束:确保修改符合领域模型和业务契约
- 模式约束:参考
context.patterns和context.codeStyle,保持与项目现有约定一致 - 一致性保证:修改完成后自动同步更新相关文档
同步闭环阶段
- 比对代码变更
- 更新相关文档
- 同步DDD模型
- 重新分析VCS日志和文件结构(如有变化)
- 更新记忆快照
- 验证多者一致
- 按三级索引结构写入
mem-snapshot.json - 容量检查:快照大小超过上下文限制80%时触发压缩
技术实现
核心模块
- 项目扫描器
- 策略选择器
- 文档生成器
- DDD模型构建器
- 记忆管理系统
- 变更追踪器
- 团队协作器
技术栈支持
| 技术栈 | 文档生成 | DDD建模 | 记忆压缩 |
|---|---|---|---|
| Java/Spring Boot | ✅ | ✅ | ✅ |
| Python/Django/Flask | ✅ | ✅ | ✅ |
| Node.js/Express/Nest | ✅ | ✅ | ✅ |
| Go/Gin | ✅ | ✅ | ✅ |
| 前端框架 | ✅ | ⚠️ | ✅ |
| 微服务 | ✅ | ✅ | ✅ |
注意事项
- 首次使用: 确保项目目录存在且包含源码文件
- 权限要求: 需要对项目目录和
.memddc目录有读写权限 - 版本控制: 建议将
.memddc目录纳入版本控制 - 文档维护: 代码变更后及时运行更新命令
故障排除
初始化失败
- 检查项目目录权限
- 确保项目中包含足够的源码文件
- 查看
.memddc/logs/下的日志文件
文档未同步
- 运行
MemDDC 更新手动同步 - 检查
config.json中的autoUpdate配置
Token消耗未降低
- 确认
.memddc/mem-snapshot.json存在 - 尝试开启新对话再触发技能
- 检查文档是否过大(可考虑精简)
版本历史
- v1.0.2 - 当前稳定版 (推荐)
- v1.0.1 - 历史版本
- v1.0.0* - 初始版本
许可协议
MIT License
联系方式
- 项目主页: https://github.com/qihao123/memddc-ai-skill
- 作者: qihao123
- 邮件: qihoo2017@gmail.com