name: 1password-credential-lookup description: 当智能体需要登录网站、检索密码或访问凭证时,应使用此技能。关键 - 始终使用 find_credential 并传入网站URL,切勿猜测项目名称。 version: 2.0.0
1Password 凭证查找
关键:使用URL,而非项目名称
错误做法:
get_credential(item_name="github.com") ← 切勿这样做
get_credential(item_name="GitHub") ← 切勿这样做
正确做法:
find_credential(url="github.com") ← 正确
find_credential(url="github.com", username="clementwalter") ← 更好
唯一规则
登录网站时,使用 find_credential 并传入域名。
1Password 中的项目名称是任意的,与URL不匹配。find_credential 工具通过存储在 1Password 中的 URL 字段进行搜索,该字段与您正在访问的网站匹配。
工具(按优先级排序)
1. find_credential - 主要工具
所有凭证查找都使用此工具:
find_credential(url="github.com")
find_credential(url="linkedin.com", username="clement@example.com")
参数:
url(必需):网站域名 (例如 “github.com”, “twitter.com”)username(可选):当存在多个账户时,按用户名筛选
返回:
- 单个匹配项:
{"username": "...", "password": "...", "item_name": "..."} - 多个匹配项:可供选择的账户列表
- 无匹配项:错误信息
2. list_items_for_url - 不确定使用哪个账户时
list_items_for_url(url="github.com")
显示某个域名的所有账户及其用户名。如果您不知道使用哪个账户,请在 find_credential 之前使用此工具。
3. get_credential - 极少需要
仅当您拥有确切的条目ID(如 ct2jszznlzlp7r7jeb53rhy5li)时才使用。切勿传递URL或猜测的名称。
工作流程示例
登录 github.com 时:
# 步骤 1:获取该域名的凭证
find_credential(url="github.com", username="clementwalter")
# 如果存在多个账户且未使用用户名筛选:
# → 返回列表:[{"username": "work@company.com"}, {"username": "personal@gmail.com"}]
# → 选择一个,并使用用户名筛选重试
# 步骤 2:使用返回的凭证填写登录表单
域名别名
以下域名被视为等效:
x.com↔twitter.com
错误处理
| 错误信息 | 解决方案 |
|---|---|
| “未找到任何项目” | 检查域名拼写 |
| “找到多个项目” | 添加 username 参数进行筛选 |
| “未安装 op CLI” | 用户需要安装 1Password CLI |
| “超时” | 用户需要运行 op signin |
反模式
切勿做这些:
get_credential(item_name="github.com")- URL 不是项目名称get_credential(item_name="GitHub")- 猜测的名称无效get_credential(item_name="my github")- 项目名称是任意的
始终这样做:
find_credential(url="github.com")- 通过网站URL搜索