mcpField
A
authsome

authsome

github.com/agentrhq安全1003.0k 次安装16 周前更新
代码仓库

关于 authsome

authsome 指导 Agent 使用 Authsome CLI 代理外部 API 的 HTTPS 请求。网关会为已连接的服务注入凭据,避免凭据值出现在对话或终端中。

主要功能

  1. 01通过 Authsome 转发 HTTPS 请求
  2. 02为已连接服务注入凭据
  3. 03指导提供方登录与连接检查
  4. 04排查认证和权限问题
  5. 05避免在命令中暴露凭据

适用场景

  1. 01发起经过认证的外部 API 请求
  2. 02检查或恢复提供方连接
  3. 03申请额外的 OAuth 范围

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agentrhq/authsome --skill authsome

安装后在 Claude Code 中输入/authsome确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
generate_report.py
references/
adding-provider.md
feedback.md

详细介绍

Authsome

你的出站 HTTPS 流量会通过 Authsome 透明代理,这是一个会将已存储凭据注入 HTTP 标头的代理服务。你不会直接看到或处理凭据值。

如何访问外部服务

你可以直接通过 HTTP 访问外部 API。OAuth 应用(Gmail、GitHub、Google Calendar、Google Drive 等)和 API 密钥服务都可以通过网关使用。只需在任意 bash 命令前加上 authsome run -- ;如果应用已连接,网关就会注入凭据。

发起请求

调用真实的 API URL。网关会拦截请求并自动注入凭据。

authsome run -- <command>
authsome run -- curl -s "https://api.github.com/user/repos?per_page=10"
authsome run -- python my_agent_script.py

标准 HTTP 客户端(curl、fetch、requests、axios、Go net/http、git)都会自动遵循 HTTPS_PROXY 环境变量。你无需设置任何身份验证标头。


登录流程

  • 自行通过 Bash 运行 authsome login <provider>——不要要求用户运行此命令。浏览器会在用户的设备上打开;用户无需操作终端即可完成 OAuth 流程。
  • 几秒后运行 authsome provider list,检查登录状态
    • 如果已连接——正常继续。
    • 如果尚未连接——向用户显示身份验证 URL,请用户在浏览器中完成登录,并在完成后告知你。用户确认后,再次运行 authsome provider list,验证连接后再继续。

请求失败时

如果 Agent 的设备上未安装 authsome:

使用 uv tool install authsome 安装 authsome

只有在 uv tool install 失败时,才使用备用方案:pipx install authsome 或 uvx authsome@latest <command>,以便一次性使用(例如在沙盒环境中运行时)。

如果遇到身份验证错误(401、403),请遵循以下决策流程:

1. 运行 authsome provider list,查看所有提供方及其连接状态

2. 如果存在相关提供方,但没有连接 → 启动登录流程

如果因 client id/client secret 错误而导致登录错误,可以通过 authsome provider remove <provider> 删除提供方,然后启动登录流程

3. 如果存在相关提供方,且已连接

对于 401 错误 → 需要重新登录,因为凭据已过期

  • 使用 authsome provider revoke <provider> 撤销凭据
  • 然后启动登录流程

对于 403 错误 → 需要使用正确的 scopes 重新登录,或检查是否缺少权限 **重要:**不要仅为了添加 scopes 而注册新的提供方;始终对现有提供方使用 --scopes:

authsome login <provider> --scopes repo,user,gist

4. 如果不存在相关提供方,则 → 先添加该提供方,然后启动登录流程

添加新提供方

参见references/adding-provider.md。


故障排除与帮助

如果你不确定正确的命令语法、需要查看可用标志,或命令运行失败,请务必先阅读内置帮助菜单,再进行判断:

authsome --help
authsome provider --help
authsome connections --help
authsome run --help

规则

  • 绝不要在通过代理发出 HTTP 请求之前说“我无法访问 X”。
  • 绝不要使用浏览器扩展、gcloud 或手动身份验证流程。网关会为你处理凭据。
  • 绝不要直接向用户索要 API 密钥或令牌。运行 authsome login <provider>。它会打开浏览器窗口并直接获取密钥,因此密钥不会进入对话。
  • 绝不要在用户要求你读取或与 Gmail/Calendar/GitHub 交互时,建议他们在浏览器中打开这些服务。你可以访问 API,请直接使用。
  • 绝不要使用会将令牌或 API 密钥打印到终端的工作流。改用 authsome run -- ...。
  • 如果网关返回策略错误(包含 JSON 正文的 403),请遵守限制。不要重试或绕过限制。
  • 如果技能执行失败、目标需要的步骤过多、CLI 行为异常,或用户要求你报告问题,请按照 references/feedback.md 提交错误报告。
  • 绝不要让用户在他们的终端中运行你自己可以运行的命令。

评论

支持 Markdown