安全与隐私
wesclaw 在设计上将数据安全和用户隐私放在首位,所有数据默认存储在本地。
本地优先存储
wesclaw 的所有数据存储在用户本机:
| 数据类型 | 存储位置 | 说明 |
|---|---|---|
| 对话记录 | cells/main/sessions.db | 完整会话历史 |
| 记忆 | cells/main/sessions.db | 个性化偏好和知识 |
| Provider 密钥 | hypervisor.db(AES-256-GCM 加密) | API Key 等凭证 |
| 登录凭证 | db/wesclaw.db | 平台登录 session |
| 技能 | cells/main/skills/ | 安装的技能包 |
| 知识库 | cells/main/knowledge/ | 上传的知识文件 |
没有任何对话内容或个人数据上传到 weisyn 平台。平台只处理身份认证和 LLM 代理转发。
密钥管理
Provider API Key 加密
所有 inline 模式的 API Key 经过 AES-256-GCM 封套加密后存储:
- 密钥文件:
{DataDir}/secrets/spec.key(权限0600) - 目录权限:
0700 - 拷走数据库不带 key 文件则所有 Provider 密钥失效
环境变量模式
生产环境推荐使用 env 模式:
providers:
- name: anthropic
api_key_ref:
source: env
key: ANTHROPIC_API_KEY
密钥不落盘,换机只需重设环境变量。
exec 工具安全
AI 执行终端命令时的安全措施:
灾难命令拦截(Hardline)
18 条正则永久拦截,不可覆盖:
rm -rf /及变体- Fork bomb
- 系统关机/重启命令
- 引擎进程终止命令
路径边界(Sandbox)
DenyPaths保护敏感路径(如hypervisor.db、config 文件)- 工作目录限制在 Cell 数据域内
- 网络策略控制出网命令(
curl/wget/ssh等)
进程管理
- 所有子进程通过
proc.Command统一创建 - 进程组隔离,超时后整组 SIGKILL
- 子进程继承的环境变量经过
SanitizeEnv过滤
治理模式
wesclaw 默认使用 open 治理模式(StandardPreset),适合个人使用:
| 模式 | Yellow Zone 效果 | 适用场景 |
|---|---|---|
open | 允许 + 审计 | 日常编程/助手 |
locked | 拒绝 | 展示/demo |
Yellow Zone 包括文件写入、命令执行等操作。Green Zone(只读操作)始终允许;Red Zone(委派子 Agent)需完整审计。
数据导出与备份
Cell 导出
通过引擎 API 导出完整 Cell 快照(tar.gz),包含:
- 会话历史
- 记忆数据
- 技能和知识库
- 工作区文件
数据迁移
导出的 Cell 可在另一台机器上导入,实现完整迁移。
网络隔离
wesclaw 的网络通信仅限于:
- LLM API 调用:发送到配置的 Provider endpoint
- WES 代理:通过 weisyn 平台的 LLM Proxy(使用 WES 模式时)
- 身份认证:weisyn 平台的 auth API
- IM 渠道:企业微信/飞书等平台的 webhook(配置后)
没有后台遥测、使用统计上报或匿名数据收集。