[English](README.md) | [简体中文](README.zh-CN.md)
# PaddedCell OpenClaw 插件:安全密码管理 + 安全执行 + 安全重启 ## 功能模块 ### 1. pass_mgr - 密码管理二进制 (Go) 使用 AES-256-GCM 加密,每个 agent 基于公私钥进行加/解密。 ```bash # 初始化 pass_mgr admin init [--key-path ] # 获取密码 pass_mgr get [--username] # 生成密码 (agent 可用) pass_mgr generate [--username ] # 设置密码 (仅人类) pass_mgr set [--username ] # 删除密码 pass_mgr unset # 轮换密码 pass_mgr rotate ``` **安全特性:** - Agent 无法执行 `set` 操作(通过环境变量检测) - 未初始化前所有操作报错 - Admin 密码泄露检测(监控 message/tool calling) ### 2. pcexec - 安全执行工具 (TypeScript) 与 OpenClaw 原生 exec 接口一致,自动处理 pass_mgr get 并脱敏输出。 ```typescript import { pcexec } from 'pcexec'; const result = await pcexec('echo $(pass_mgr get mypassword)', { cwd: '/workspace', timeout: 30000, }); // result.stdout 中密码会被替换为 ###### ``` ### 3. safe-restart - 安全重启模块 (TypeScript) 提供 agent 状态管理和协调重启。 **Agent 状态:** - `idle` - 空闲 - `busy` - 处理消息中 - `focus` - 专注模式(工作流) - `freeze` - 冻结(不接受新消息) - `pre-freeze` - 准备冻结 - `pre-freeze-focus` - 准备冻结(专注模式) **API:** - `POST /query-restart` - 查询重启就绪状态 - `POST /restart-result` - 报告重启结果 - `GET /status` - 获取所有状态 **Slash 命令:** ``` /padded-cell-ctrl status /padded-cell-ctrl enable pass-mgr|safe-restart /padded-cell-ctrl disable pass-mgr|safe-restart ``` ## 项目结构 ``` PaddedCell/ ├── pass_mgr/ # Go 密码管理二进制 │ ├── src/ │ │ └── main.go │ └── go.mod ├── pcexec/ # TypeScript 安全执行工具 │ ├── src/ │ │ └── index.ts │ ├── package.json │ └── tsconfig.json ├── safe-restart/ # TypeScript 安全重启模块 │ ├── src/ │ │ ├── index.ts │ │ ├── status-manager.ts │ │ ├── api.ts │ │ ├── safe-restart.ts │ │ └── slash-commands.ts │ ├── package.json │ └── tsconfig.json ├── docs/ # 文档 ├── PROJECT_PLAN.md # 项目计划 ├── AGENT_TASKS.md # 任务清单 ├── README.md # 英文版本 └── README.zh-CN.md # 本文档 (简体中文) ``` ## 安装 ```bash # 安装 node install.mjs --install # 卸载 node install.mjs --uninstall ``` ## 使用 ### pass_mgr ```bash # 初始化(首次使用前必须执行) ~/.openclaw/bin/pass_mgr admin init # 设置密码 ~/.openclaw/bin/pass_mgr set mykey mypassword # 获取密码 ~/.openclaw/bin/pass_mgr get mykey ``` ## 许可证 MIT