From 840f8c7b67e24a624c4bf37b601c6e890aa3c1fd Mon Sep 17 00:00:00 2001 From: nav Date: Thu, 5 Mar 2026 08:14:28 +0000 Subject: [PATCH] Update password path and username lookup --- PROJECT_PLAN.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PROJECT_PLAN.md b/PROJECT_PLAN.md index 14cc408..81e92c0 100644 --- a/PROJECT_PLAN.md +++ b/PROJECT_PLAN.md @@ -9,13 +9,13 @@ ### 1.1 密码管理(Pass-like) - 使用**内置二进制可用的加密库**实现密码加/解密,不要求依赖 `pass` 或外部进程。 - `pass` 仅作为功能类比:用于说明需要具备的“存取/轮换/删除”等能力。 -- 密码存储路径模板含 `AGENT_WORKSPACE/AGENT_ID` 占位符,运行时替换。 +- 密码存储路径:`{openclaw_dir}/.secrets/{agent_id}/'{key}:{user}'.gpg` - 该二进制后续可能需要作为 OpenClaw 的 skill 提供。 ### 1.2 pass_mgr 二进制 - 必须是**可执行二进制**,禁止脚本。 - 命令(调整): - - `pass_mgr get ` + - `pass_mgr get [--username]` - `pass_mgr generate `(替代 agent 侧 set) - `pass_mgr unset ` - `pass_mgr rotate` @@ -24,6 +24,7 @@ - 读取 `AGENT_WORKSPACE/AGENT_ID` 定位 workspace。 - **Agent 不允许执行 set**:若检测到 `AGENT` 或 `AGENT_WORKSPACE` 环境变量被设置,则 `pass_mgr set ...` 直接报错并中断。 - **未初始化禁止使用**:在 `admin init` 前,所有 `get/generate/set` 操作报错。 +- `pass_mgr get --username`:返回该密码文件名中的 `user`(可为空字符串)。 - **admin 密码泄露防护**:插件需检测所有 session 的 message/tool calling 中是否包含 admin 密码明文;一旦出现: - pass_mgr 立即变为“未初始化”状态 - 记录“严重安全漏洞”日志