User Profile
v1.0.0用户画像与偏好学习。自动收集用户偏好、抽象人格特征,构建个性化用户画像。触发场景:(1) 新会话启动时自动总结上次会话偏好 (2) 心跳中定期抽象人格特征 (3) 用户要求查看/更新画像时。存储位置:workspace/PROFILE.md。
Security Scan
OpenClaw
Benign
medium confidencePurpose & Capability
名称与描述声明的功能(收集偏好、抽象人格、生成 PROFILE.md)与 SKILL.md 中的读取 memory/ 下带有“📝 偏好:”标记的文件、汇总并写入 workspace/PROFILE.md 的流程一致;未请求与此目的无关的凭据或二进制。
Instruction Scope
指令限定在 workspace/ 和 memory/ 下的本地文件(读取 memory/*.md、memory/profile-state.json,更新 PROFILE.md 与状态文件),没有说明访问其它系统路径或环境变量,范围与目的相符。但处理逻辑对“memory 文件”的边界、解析容错与敏感内容识别比较模糊——这会影响隐私与误检风险。
Install Mechanism
无安装规范、无代码文件:指令式技能(instruction-only),不会在安装阶段从外部下载或写入磁盘(除了在运行时更新 workspace 中的文件),安装风险低。
Credentials
不要求任何环境变量、凭据或外部配置路径;所需权限仅是对工作区内文件的读写,数量与技能复杂度相称。
Persistence & Privilege
always: false(正常),但 disable-model-invocation: false(平台默认)意味着代理可在会话启动与心跳时自动运行并修改 workspace/PROFILE.md。自动运行是合理的功能需求,但也扩大了该技能对用户工作区的写入影响,用户应评估是否接受自动化更新。
Assessment
这项技能在功能上自洽:它会自动在每次会话启动和定期心跳时扫描 workspace/memory 下带有“📝 偏好:”标记的本地记忆文件,汇总到 workspace/PROFILE.md 并维护 profile-state.json;它声明不上传数据且不需要外部凭据。你在安装前应考虑:
- 源码/作者未知:无法核验作者或后续更改,降低可信度。若你对来源敏感,谨慎安装或只在受控环境(测试工作区)中试用。
- 自动运行与写入:技能会在会话启动/心跳时自动读取并写入工作区文件;如果你的 workspace 与云端同步(如 Dropbox、Google Drive、Git 仓库),画像会被同步到云端——若不希望这样,请在安装前隔离工作区或禁用自动触发(使用手动触发)。
- 隐私检查:在使用前搜索 memory/ 目录,确认没有高敏感信息(密码、信用卡、私密证件扫描等)会被纳入偏好标记;技能仅按“📝 偏好:” 标签抽取内容,避免在同一文件中混入敏感条目。
- 可控性:如不希望自动归档,要求将技能仅设为用户手动触发或删除/备份 PROFILE.md;技能声明可手动删除或修改偏好,安装前确认你能访问并审阅 PROFILE.md 与 profile-state.json。
如果你希望更高信心,要求作者提供来源或代码(以便审计),或在受控环境中先运行并监控其读写行为再决定长期启用。Like a lobster shell, security has layers — review code before you run it.
latest
User Profile
自动构建用户画像:收集偏好 → 抽象人格特征。
存储结构
workspace/
├── PROFILE.md # 用户画像(偏好 + 人格特征)
├── memory/
│ ├── YYYY-MM-DD.md # 每日记忆(偏好标记存于此)
│ └── profile-state.json # 状态追踪
PROFILE.md 结构:
# 用户画像
## 偏好记录
### 沟通风格
- 偏好详细的解释和背景信息
- 喜欢结构化的表达方式
### 工作习惯
- 上午精力充沛(9:00-12:00)
- 喜欢提前规划,按步骤执行
### 技术偏好
- 前端优先,React为主
- 喜欢探索新技术
### 生活方式
- 居住地:北京
- 家庭:配偶 + 两个孩子
## 人格特征
### 决策风格
- 谨慎分析,偏好充分调研
- 重视长期规划而非即时响应
### 沟通倾向
- 喜欢全面讨论,重视过程记录
- 偏好书面沟通胜过口头
### 价值观
- 质量 > 效率
- 稳定 > 创新
## 统计
- 偏好记录数:X 条
- 最后更新:YYYY-MM-DD
工作流程
1. 会话中:发现偏好
当用户表达偏好、习惯、特征时,立即记录到当日 memory 文件:
格式:
📝 偏好: [类别] [具体内容]
示例:
📝 偏好: 沟通风格 不喜欢AI式设问("你是否经历过")
📝 偏好: 技术 偏好Python脚本处理重复任务
📝 偏好: 工作 习惯晚间编码,白天开会
📝 偏好: 生活 喜欢喝美式咖啡,不加糖
偏好类别(不限于此,按需扩展):
- 沟通风格:表达方式、信息密度、反馈偏好
- 工作习惯:作息、专注时段、协作方式
- 技术偏好:语言、框架、工具、架构风格
- 生活方式:饮食、运动、娱乐、消费
- 情感表达:压力反应、开心表现、挫折应对
- 决策模式:风险态度、选择风格、优先级排序
2. 新会话启动时:总结偏好
触发条件: Session Startup 时检查 profile-state.json
检查逻辑:
{
"last_summary_date": "2026-04-11",
"last_abstraction_date": "2026-04-01"
}
如果 last_summary_date < 昨天日期:
- 读取昨天及之前未处理的 memory 文件
- 提取所有
📝 偏好:标记 - 归类并更新 PROFILE.md 的偏好记录
- 更新 profile-state.json 的 last_summary_date
处理步骤:
- 读取
memory/profile-state.json - 扫描
memory/目录,找出日期 > last_summary_date 的文件 - 从这些文件中提取
📝 偏好:行 - 按类别归类到 PROFILE.md
- 去重:相同偏好不重复记录
- 更新统计信息
3. 心跳中:抽象人格特征
触发条件: 心跳时检查,距上次抽象 ≥ 7 天
抽象逻辑:
- 读取 PROFILE.md 中的偏好记录
- 分析重复出现的模式
- 归纳为人格特征(维度不限,按实际发现归纳)
抽象维度(示例,按实际发现扩展):
| 维度 | 从偏好推断 |
|---|---|
| 决策风格 | 快速/谨慎、理性/感性、风险偏好 |
| 沟通倾向 | 直接/委婉、简洁/详细、主动/被动 |
| 价值观 | 效率/质量、创新/稳定、实用/完美 |
| 情绪模式 | 乐观/悲观、冷静/热情、内敛/外放 |
| 学习风格 | 实践/理论、视觉/文本、系统/碎片 |
抽象规则:
- 至少3次相似偏好 → 可抽象为特征
- 矛盾偏好 → 记录为"情境依赖"
- 新维度 → 直接添加,不预设框架
更新 PROFILE.md:
## 人格特征
### 决策风格
务实导向,注重效率。偏好快速迭代而非完美规划。
### 沟通倾向
直接表达,不喜欢绕弯。重视结果胜过过程。
状态文件
memory/profile-state.json:
{
"last_summary_date": "2026-04-12",
"last_abstraction_date": "2026-04-05",
"preference_count": 42,
"trait_count": 8
}
使用方式
自动触发
无需用户指令,在 Session Startup 和心跳中自动执行。
手动触发
用户可随时要求:
- "看看我的画像" → 展示 PROFILE.md
- "更新画像" → 立即执行偏好总结 + 人格抽象
- "我有什么偏好" → 展示偏好记录
- "我是什么性格" → 展示人格特征
注意事项
- 隐私边界:偏好记录在本地,不上传
- 去重:相同偏好只记录一次,但可更新
- 矛盾处理:记录矛盾偏好,标注情境(如"工作时光速决策,购物时纠结")
- 渐进式:画像随时间积累,不预设完整框架
- 可修正:用户可随时删除或修改偏好记录
Comments
Loading comments...
