Proton Pass Agent 接入实战:基于 pass-cli 的 PAT 认证、会话管理与安全取密完整指南
前端【免费下载链接】WebClientsMonorepo hosting the proton web clients项目地址https://gitcode.com/gh_mirrors/we/WebClients点击查看免费下载本篇技术指南围绕 Proton Pass 为 AI Agent 场景准备的 agent-instructions.md 指令文档展开系统讲解如何通过pass-cli命令行工具完成个人访问令牌PAT认证、会话隔离与监控、vault 与 item 的发现与安全读取。读完本文你将掌握一套可直接交付给任何 LLM Agent 的完整操作协议从安装校验、PAT 登录、强制访问原因上报到pass://URI 直寻、单字段提取、连接健康检查与自动恢复流程并理解这一机制在 WebClients 仓库Proton Pass Web 客户端中的完整源码实现链路。这份 Agent 指令在项目中的角色agent-instructions.md并非孤立存在的说明文档它是 Proton Pass Web 客户端AI Agent 集成功能的运行时内容源。从源码结构可以梳理出以下加载链路前端组件 TokenRevealModal.tsx 中的AgentInstructions组件在用户创建 Agent 令牌后发起请求获取指令模板并将占位符{{access_token}}替换为真实令牌值后展示给用户复制。请求入口是 access-token.requests.ts 中的fetchAgentInstructions()它通过fetch(AGENT_INSTRUCTIONS_URL)拉取 Markdown 文本响应非 2xx 时抛错。指令内容地址由 constants.runtime.ts 中的AGENT_INSTRUCTIONS_URL决定在扩展EXTENSION_BUILD或桌面DESKTOP_BUILD构建下指向远程 CDN 地址proton.me/download/pass/agent-data/agent-instructions.md而在普通 Web 构建下直接指向本地仓库内的/assets/agent-instructions.md注释标注为 HOTFIX CSP即规避内容安全策略限制的快捷修复。请求经由 Redux Saga 编排见 access-token.sagas.ts 的agentInstructionsSaga并在 access-token.ts 中通过dataRequest(UNIX_HOUR)声明一小时级的成功缓存避免重复拉取。因此本文讲解的每一条命令都是 Proton Pass 官方 Agent 接入协议的一部分下文将逐节展开。一、环境准备安装校验与版本确认在将 Agent 接入 Proton Pass 之前第一步是确认目标机器上已安装pass-cli。标准做法是运行版本检查命令pass-cli --version命令成功输出版本号说明 CLI 已就绪可直接进入会话阶段。若提示命令不存在如command not found则需要先按你所在平台的官方安装指引完成安装macOS、Linux、Windows 均有对应安装包安装完成后重新执行pass-cli --version校验。需要说明pass-cli是独立于 WebClients 仓库发布的命令行程序本仓库仅承载配套的指令文档与 Web 端集成逻辑两者通过环境变量与 PAT 令牌完成对接。二、会话管理隔离会话目录与登录状态检查pass-cli以会话session为单位管理登录状态。Agent 操作前必须保证存在有效会话检查方式pass-cli info返回退出码0且输出会话信息说明登录态有效。若会话已过期或不存在先执行pass-cli logout清理旧会话。为了不让 Agent 的会话与其他会话相互污染原文档特别要求在登录之前设置独立的会话目录环境变量export PROTON_PASS_SESSION_DIR/tmp/pass-agent-unique-name其中unique-name建议替换为本次任务唯一的标识如任务 ID。这样每次 Agent 任务都拥有隔离的会话存储空间多任务并行或反复登录时互不干扰会话目录被隔离后pass-cli info、登录与后续所有命令都会以该目录为会话上下文。三、PAT 认证通过个人访问令牌登录会话目录就绪后使用随指令一同下发的 Personal Access TokenPAT完成登录。PAT 通过环境变量注入避免令牌出现在命令行历史或进程列表的可读参数中PROTON_PASS_PERSONAL_ACCESS_TOKEN{{access_token}} pass-cli login其中{{access_token}}是模板占位符实际执行时必须替换为真实令牌值。在 Web 客户端中该占位符由 TokenRevealModal.tsx 在拉取模板后通过template.replaceAll(ACCESS_TOKEN_PLACEHOLDER, envVar)替换为完整环境变量值。令牌的完整形态从 access-token.utils.ts 的buildAccessTokenEnvVar可以确认其格式为server-issued-token::urlsafe-base64-no-pad(raw-key)即服务端签发的令牌字符串与 URL 安全 Base64无填充编码的原始密钥以::拼接。该环境变量是一次性的——创建后仅在弹窗中展示一次关闭后客户端不再持有明文见 TokenRevealModal.tsx 的类型注释因此务必在展示时及时保存。登录成功后再次运行pass-cli info确认已以正确账号登录。四、会话监控Agent 执行的强制纪律原文档用 IMPORTANT: Session monitoring 专门强调以下纪律Agent及其使用者必须遵守每次执行任何pass-cli命令前先运行pass-cli info确认仍处于登录状态——这是所有命令的前置校验。若出现认证错误或非零退出码立即用上文 PAT 方式重新认证。长任务执行期间会话可能过期需周期性复查登录态。将 PAT 令牌{{access_token}}保存在安全位置会话过期重登时会用到这是重新认证的必需品。任何命令失败时先完整阅读输出诊断原因重点关注错误信息、退出码与线索认证失败、权限拒绝、非法参数等再决定重试策略避免盲目重试。这套纪律与 Web 端设计相互印证创建 Agent 令牌时界面会明确提示Agent 的每个动作都必须提供原因且每个动作都会被记录在可审查的审计日志中见 CreateTokenModal.tsx。五、验证资源可达性Vault 与 Share 清单登录完成后先验证令牌实际拥有的资源访问范围pass-cli vault list pass-cli share listvault list列出 Agent 可访问的保险库vault。share list列出被授予访问权的保险库及直接条目direct items即未归属到某个 vault、被单独授权的条目。将两个命令的输出回传确认可见的 vault 列表若无法列出需将错误完整反馈以定位问题常见原因包括令牌未勾选对应 vault 的访问授权、令牌已过期等。需要说明的是Web 端创建令牌时仅授予只读访问权限界面文案明确该令牌对你选择的 vault 只有读取权限可以读取条目但不能编辑、不能共享 vault、不能邀请他人后续可调整见 CreateTokenModal.tsxvault 授权集合由shareIds传入创建意图见 access-token.sagas.ts 的createSaga。六、读取条目强制访问原因PROTON_PASS_AGENT_REASON读取条目是 Agent 的核心操作安全设计的关键在于每次读取都必须声明原因。运行pass-cli item view前必须定义环境变量PROTON_PASS_AGENT_REASON其值是对为何要访问该条目/字段的简要描述必填。按 vault 名称与条目标题定位PROTON_PASS_AGENT_REASONBrief description of why this item is being accessed pass-cli item view \ --vault-name Vault Name \ --item-title Item Title使用pass://URI 直接寻址PROTON_PASS_AGENT_REASON... pass-cli item view pass://SHARE_ID/ITEM_ID仅提取单个字段例如只取密码PROTON_PASS_AGENT_REASON... pass-cli item view --vault-name Vault --item-title DB --field password该原因机制在服务端与客户端均有落点审计记录解码后呈现的结构为{ kind: agent-action, reason, vaultName, itemName, folderName }见 access-token.types.ts即每条 Agent 动作审计记录都完整保留了访问原因、vault 名、条目名与文件夹名供用户在 Web 端审计查看。七、需要声明原因的特殊命令以下命令及其子命令同样强制要求携带PROTON_PASS_AGENT_REASON命令说明item view读取条目/字段item create及其子命令如item create login、item create ssh-key等创建条目item update更新条目item trash移入回收站item untrash从回收站恢复vault update更新保险库八、发现 Vault 与条目结构化输出Agent 需要程序化解析结果因此发现类命令统一使用--output jsonpass-cli vault list --output json # 列出 Agent 有访问权的 vault pass-cli share list --output json # 列出被授予访问权的 vault 与直接条目 pass-cli item list --vault-name Name --output json # 列出指定 vault 内的条目 pass-cli item list --output json # 列出所有可访问条目凡是需要程序化解析的输出都建议使用--output json以保证字段结构与类型稳定。九、会话与连接健康检查日常运维中可随时用以下命令体检pass-cli info # 显示当前账号类型与会话详情 pass-cli test # 验证与 Proton Pass API 的连接info关注登录态与账号维度test关注网络链路与 API 可达性两者结合可快速定位问题属于认证层面还是网络/服务层面。十、会话丢失后的自动恢复流程若任何命令因认证错误失败按以下顺序恢复pass-cli logout --force—— 强制清除陈旧会话常规logout报错时的兜底手段重新执行第三步的 PAT 登录命令用pass-cli info验证登录成功重试原始失败命令。--force的作用是在常规退出流程异常时仍能强制结束会话避免残留状态阻塞重新认证。十一、快速参考常用命令速查表以下速查表覆盖 Agent 全生命周期操作建议直接交付给 Agent 使用场景命令认证登录pass-cli login配合PROTON_PASS_PERSONAL_ACCESS_TOKEN环境变量结束会话pass-cli logout强制结束会话pass-cli logout --force常规 logout 报错时使用列出保险库pass-cli vault list --output json列出 vault 内条目pass-cli item list --vault-name NAME --output json读取条目或单字段pass-cli item view --vault-name VAULT --item-title TITLE [--field FIELD]输出本指令pass-cli agent instructions其中pass-cli agent instructions可直接输出当前这份 Agent 使用说明便于 Agent 在任何时候重新加载操作协议。十二、源码级透视安全机制与指令分发闭环将上述协议与仓库源码对照可以看到完整的安全闭环令牌创建即分级Web 端创建令牌时通过 Use for AI agent 开关CreateTokenModal.tsx标记isAgent只有 Agent 令牌才会走强制原因与审计日志路径。授权最小化令牌对 vault 的访问为只读且需显式勾选shareIds过期时间限制在 1 小时至 1 年之间常量MIN_EXPIRATION_MINUTES 60、MAX_EXPIRATION_MINUTES 365 * 24 * 60见 CreateTokenModal.tsx。一次性的环境变量令牌以token::b64url(raw-key)形态仅在弹窗展示一次且原始密钥部分在弹窗关闭后不再留存于客户端。指令按需分发指令 Markdown 在运行时拉取Web 构建下即本文档applications/pass/public/assets/agent-instructions.md服务端令牌值仅在用户端替换占位符CDN/静态资源中不包含任何真实令牌。行为可审计每次 Agent 动作携带的reason会被加密记录Web 端通过 access-token.utils.ts 的decodePatRecord用令牌原始密钥解密后展示形成原因 对象 时间的完整审计轨迹。结语至此一条完整的 Proton Pass Agent 接入链路已经打通pass-cli安装校验 → 隔离会话目录 → PAT 环境变量登录 → 会话监控 → 资源清单验证 → 带原因的条目读取 → 健康检查与自动恢复。这套协议既适合作为 LLM Agent 的系统提示词直接注入也可供开发者据此构建自己的自动化凭据拉取流水线。仓库内 agent-instructions.md 是协议的中文源头配套前端代码TokenRevealModal.tsx、CreateTokenModal.tsx与后端 Sagaaccess-token.sagas.ts则展示了它在实际产品中的完整实现。赞分享前端【免费下载链接】WebClientsMonorepo hosting the proton web clients项目地址https://gitcode.com/gh_mirrors/we/WebClients点击查看免费下载相关推荐douyin-downloader抖音批量下载与去水印从单条链接到主页归档的完整上手指南douyin downloader抖音批量下载与去水印从单条链接到主页归档的完整上手指南 douyin downloader 是一个命令行抖音下载工具给它网页爬虫CLIOpenCompass 代码评测实战基于 HumanEval 与 MBPP 的 pass1 / passk 完整配置指南OpenCompass 代码评测实战基于 HumanEval 与 MBPP 的 pass1 / passk 完整配置指南 导读 本文以 humaneval模型评测人工智能大模型AI 评测Shiori 旧版 API 完整调用指南基于会话认证的书签与标签管理接口实战Shiori 旧版 API 完整调用指南基于会话认证的书签与标签管理接口实战 本指南以 docs/API.md 为核心骨架系统讲解 ShioriGo 语言后端上一篇从InterAccel到Raw Accel鼠标加速技术的进化与革新下一篇Raw Accel vs InterAccel为什么你需要升级到终极鼠标加速解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

上行CCE分配失败拖垮无线接通率:5G网优定位与参数优化案例

上行CCE分配失败拖垮无线接通率:5G网优定位与参数优化案例

简介:这是一份面向5G网络优化工程师的实战案例文档,聚焦上行CCE(Control Channel Element)分配失败导致无线接通率劣化的典型问题。文档以某5G小区为对象,完整记录了从后台指标发现无线接通率劣化、RRC建立成功率与QoS…

2026/10/12 4:37:46 阅读更多 →
用 PartyKit 为 Next.js 应用添加实时功能:PartyPoll 实时投票应用从零到部署实战教程

用 PartyKit 为 Next.js 应用添加实时功能:PartyPoll 实时投票应用从零到部署实战教程

后端 【免费下载链接】partykit PartyKit simplifies developing multiplayer applications 项目地址: https://gitcode.com/gh_mirrors/pa/partykit 点击查看 免费下载 本篇实战教程基于 PartyKit 官方入门教程(对应仓库 apps/docs/src/content/docs/t…

2026/10/12 4:37:46 阅读更多 →
Psalm NullPropertyAssignment 详解:在 null 上赋值属性的检测机制与修复方案

Psalm NullPropertyAssignment 详解:在 null 上赋值属性的检测机制与修复方案

开发工具代码质量质量保障 【免费下载链接】psalm A PHP static analysis tool for finding errors and security vulnerabilities in PHP applications 项目地址: https://gitcode.com/gh_mirrors/ps/psalm 点击查看 免费下载 导读 NullPropertyAssignment 是 Ps…

2026/10/12 4:37:46 阅读更多 →

最新新闻

Java实现GB28181 RTP PS流解包与RTMP推流实战

Java实现GB28181 RTP PS流解包与RTMP推流实战

1. 项目背景与整体设计思路1.1 为什么要在Java里做RTP PS流解包推RTMP做过安防流媒体对接的朋友应该都有体会,GB28181协议在国内安防行业几乎是绕不开的存在。摄像头、NVR、平台之间信令走SIP,媒体流走RTP承载PS封装,这套组合拳已经跑了很多年…

2026/10/13 7:00:55 阅读更多 →
宁波执业律师张娟:离婚后孩子判给谁——抚养权判断规则与争取要点梳理

宁波执业律师张娟:离婚后孩子判给谁——抚养权判断规则与争取要点梳理

结论先行:抚养权不归收入高的一方,也不默认归母亲,而是按年龄分档、以孩子利益为轴心综合判断。民法典第1084条确立了不满两周岁以母亲直接抚养为原则、已满八周岁尊重孩子真实意愿、两至八周岁按有利于未成年子女原则裁判的基本框架。本文由…

2026/10/13 7:00:55 阅读更多 →
共享汽车调度落地实践:LSTM需求预测+GA-SA多目标优化

共享汽车调度落地实践:LSTM需求预测+GA-SA多目标优化

简介:本资源是一篇聚焦单向共享电动汽车(OW-EC)运营优化的学术论文,面向新能源汽车领域研究者、智能交通系统开发者及高校交通运输/车辆工程专业师生,旨在解决因用户需求潮汐性与不均衡性导致的站点车辆库存失衡这一行…

2026/10/13 7:00:55 阅读更多 →
Agent沙箱全解析:从隔离原理到容器、进程级与代码级落地实践

Agent沙箱全解析:从隔离原理到容器、进程级与代码级落地实践

做Agent开发的朋友聚在一起聊天时,“沙箱”这个词出现的频率高得吓人。无论你是搭一个能自动写代码的助手,还是让模型按流程调用外部工具的系统,文档里几乎必有一章在讲“沙箱”。我最早接触它时,以为就是一个“把环境隔离开”的省…

2026/10/13 7:00:55 阅读更多 →
Kafka分布式日志原理与实时链路工程实践

Kafka分布式日志原理与实时链路工程实践

1. 为什么“Kafka从入门到精通”不是一句空话,而是工程落地的必经阶梯很多人第一次听说Kafka,是在面试被问到“消息队列选型”时,听到“高吞吐、低延迟、可持久化”这几个词;也有人是在排查线上数据延迟告警时,发现日志…

2026/10/13 7:00:55 阅读更多 →
学习 Python 基础语法与工程环境操作流程

学习 Python 基础语法与工程环境操作流程

前言一、基础概念虚拟环境:可以理解成每个项目专属的「Python 独立工具箱」。每个项目单独一套 Python 解释器和第三方安装包,项目之间互不干扰,不会出现 A 项目装的包覆盖 B 项目依赖的情况,删掉环境文件夹就能一键重置&#xff…

2026/10/13 6:59:55 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →