搜索

PythonReactSEOPDF
OpenClaw

passwordstore-broker

Enforce safe secret handling by collecting secrets through one-time HTTPS forms, storing them in pass via scripts/vault.sh, and executing tools with environment injection via scripts/run_with_secret.sh so raw secrets do not enter chat context or logs.

bieggerm0 来源安装数☆ 0 仓库 Stars

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

SkillHub CLI

skillhub install bieggerm/passwordstore-broker

打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。

将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。

查看来源 ↗使用指南

技能说明

Passwordstore Broker Agent Protocol

Run this workflow whenever credentials are needed.

Prerequisites

  • Follow references/SETUP.md before first use.

Setup Preflight

Before first LAN-mode intake, verify both files exist:

  • ~/.passwordstore-broker/totp.secret

  • ~/.passwordstore-broker/setup_completed_at.txt

  • If missing, run scripts/setup_totp_enrollment.py and send:

    • QR image at qr_png_path (preferred)
    • fallback otpauth_url
  • Record and trust setup_completed_at as the initial enrollment timestamp.

  • Never reveal or retransmit the totp.secret value after initial enrollment under any circumstances.

  • Do not rotate totp.secret. User has to do it manually if compromised. Rotation is not to be done by the agent.

Phase 1: Get Secrets

Goal: ensure required secrets exist in local vault without exposing values in chat.

  1. Map auth requirements to secret-name -> ENV_VAR.
  2. Check whether each secret exists:
    • scripts/vault.sh exists <secret-name>
  3. If missing, collect via one-time HTTPS intake:
    • Local mode (default):
      • scripts/get_password_from_user.py --secretname <secret-name> --port <port>
    • LAN mode (when user asks for phone/private-network flow):
      • scripts/get_password_from_user.py --secretname <secret-name> --port <port> --access lan
  4. Send generated intake URL to user.
  5. In LAN mode, instruct user to submit both fields in the form:
    • secret value
    • current authenticator code
  6. If intake fails or times out, retry with a new port.

Exit criteria:

  • Required secret paths exist in vault.

Phase 2: Use Secrets

Goal: execute authenticated commands without exposing secret values.

  1. Prefer injector wrapper:
    • scripts/run_with_secret.sh --secret <secret-name> --env <ENV_VAR> -- <command> [args...]
  2. Fallback one-liner:
    • <ENV_VAR>="$(scripts/vault.sh get <secret-name>)" <command> [args...]
  3. Never print env dumps (env, printenv, set) in secret-bearing runs.

Exit criteria: -...

来源信息

Source
github
Repository
openclaw/skills
Path
skills/bieggerm/passwordstore-broker
Version
—
Commit
e3757fd783944b6049295ab480a787f52c2d22ce
分类来源
rules
状态
active
可见性
public

这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。

来源内容

SKILL.md
# Passwordstore Broker Agent Protocol

Run this workflow whenever credentials are needed.

## Prerequisites

- Follow `references/SETUP.md` before first use.

## Setup Preflight

Before first LAN-mode intake, verify both files exist:
- `~/.passwordstore-broker/totp.secret`
- `~/.passwordstore-broker/setup_completed_at.txt`

- If missing, run `scripts/setup_totp_enrollment.py` and send:
  - QR image at `qr_png_path` (preferred)
  - fallback `otpauth_url`
- Record and trust `setup_completed_at` as the initial enrollment timestamp.
- Never reveal or retransmit the `totp.secret` value after initial enrollment under any circumstances.
- Do not rotate `totp.secret`. User has to do it manually if compromised. Rotation is not to be done by the agent.

## Phase 1: Get Secrets

Goal: ensure required secrets exist in local vault without exposing values in chat.

1. Map auth requirements to `secret-name -> ENV_VAR`.
2. Check whether each secret exists:
   - `scripts/vault.sh exists <secret-name>`
3. If missing, collect via one-time HTTPS intake:
   - Local mode (default):
     - `scripts/get_password_from_user.py --secretname <secret-name> --port <port>`
   - LAN mode (when user asks for phone/private-network flow):
     - `scripts/get_password_from_user.py --secretname <secret-name> --port <port> --access lan`
4. Send generated intake URL to user.
5. In LAN mode, instruct user to submit both fields in the form:
   - secret value
   - current authenticator code
6. If intake fails or times out, retry with a new port.

Exit criteria:
- Required secret paths exist in vault.

## Phase 2: Use Secrets

Goal: execute authenticated commands without exposing secret values.

1. Prefer injector wrapper:
   - `scripts/run_with_secret.sh --secret <secret-name> --env <ENV_VAR> -- <command> [args...]`
2. Fallback one-liner:
   - `<ENV_VAR>="$(scripts/vault.sh get <secret-name>)" <command> [args...]`
3. Never print env dumps (`env`, `printenv`, `set`) in secret-bearing runs.

Exit criteria:
-...

相关技能

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

parakeet-stt

carlulsoe

Local speech-to-text with NVIDIA Parakeet TDT 0.6B v3 (ONNX on CPU). 30x faster than Whisper, 25 languages, auto-detection, OpenAI-compatible API. Use when transcribing audio files, converting speech to text, o...

OpenClaw

feishu-process-feedback

carlzhao007

飞书消息自动处理与进度反馈技能。安装后后台运行,监听飞书任务消息并自动创建独立进程处理。 在处理前后发送实时进度反馈(任务确认、进度百分比、完成通知)。 支持任务类型识别、智能解析、错误重试、并发控制、状态持久化...