名称: bitwarden
描述: 设置并使用 Bitwarden CLI (bw)。适用于安装 CLI、解锁保险库或通过 bw 读取/生成密钥的场景。通过 BW_SESSION 处理会话管理。
主页: https://bitwarden.com/help/cli/
元数据: {"openclaw":{"emoji":"🔐","requires":{"bins":["bw","tmux"]},"install":[{"id":"brew-bw","kind":"brew","formula":"bitwarden-cli","bins":["bw"],"label":"安装 Bitwarden CLI (brew)"},{"id":"brew-tmux","kind":"brew","formula":"tmux","bins":["tmux"],"label":"安装 tmux (brew)"}]}}
通过 Bitwarden 命令行界面管理密码与密钥。
references/get-started.md(安装、登录、解锁流程)references/cli-examples.md(实际 bw 命令示例)bw --version。bw status(返回包含状态字段的 JSON)。bw login(存储 API 密钥,提示输入主密码)。bw 命令创建一个全新的 tmux 会话。bw unlock(输出会话密钥)。export BW_SESSION="<密钥>"。bw sync 和 bw list items --search test。Bitwarden CLI 要求通过 BW_SESSION 环境变量来执行认证命令。为了在多个命令间保持会话状态,请务必在专用的 tmux 会话中运行 bw。
示例(关于 socket 约定,请参阅 tmux 技能):
SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/openclaw-bw.sock"
SESSION="bw-auth-$(date +%Y%m%d-%H%M%S)"
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
# 解锁并捕获会话密钥
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'export BW_SESSION=$(bw unlock --raw)' Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'bw sync' Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'bw list items --search github' Enter
# 捕获输出
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
# 完成后清理
tmux -S "$SOCKET" kill-session -t "$SESSION"
| 命令 | 描述 |
|---|---|
bw status |
检查登录/锁定状态(JSON) |
bw login |
使用邮箱/密码或 API 密钥登录 |
bw unlock |
解锁保险库,返回会话密钥 |
bw lock |
锁定保险库 |
bw sync |
与服务器同步保险库 |
bw list items |
列出所有项目 |
bw list items --search <查询词> |
搜索项目 |
bw get item <ID或名称> |
获取特定项目(JSON) |
bw get password <ID或名称> |
仅获取密码 |
bw get username <ID或名称> |
仅获取用户名 |
bw get totp <ID或名称> |
获取 TOTP 验证码 |
bw generate -ulns --length 32 |
生成密码 |
bw get password 而非解析完整的项目 JSON。bw unlock。bw 命令,会话将无法保持。bw lock。本技能包含一个 Docker Compose 配置,用于通过 Vaultwarden(自托管的 Bitwarden 兼容服务器)进行本地测试。
# 安装 mkcert 并生成本地证书(一次性操作)
brew install mkcert
mkcert -install
cd /path/to/openclaw-bitwarden
mkdir -p certs && cd certs
mkcert localhost 127.0.0.1 ::1
cd ..
# 启动 Vaultwarden 和 Caddy
docker compose up -d
# 配置 bw CLI 使用本地服务器
bw config server https://localhost:8443
# 通过 Web 界面(https://localhost:8443)创建测试账户
# 或运行设置脚本:
./scripts/setup-test-account.sh
# 测试技能工作流程
./scripts/test-skill-workflow.sh
test-admin-token-12345)bw CLI 需要信任 mkcert 的 CA。在运行 bw 命令前导出:
export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"
或将其添加到 shell 配置文件中以实现持久化。
docker compose down -v # 移除容器和数据