AI 代理的认证层。在浏览器中登录一次——剩下的交给 AI。

sig 演示 — 登录、状态、请求、运行、代理

概述

痛点

AI 编程代理(Claude Code、Cursor、Copilot)越来越需要调用你的工作 API——查 Jira、读 Wiki、查日历、访问内部接口。但凭证管理是个难题:密钥会泄露到 shell 历史、ps 输出和代理的上下文窗口。你不可能把 SSO 密码直接交给 AI,也没法在每个脚本里手动粘贴 cookie。

解决方案

sig 位于你的浏览器和 AI 代理之间。你通过真实浏览器完成一次 SSO 认证,sig 捕获 cookie、令牌和请求头,加密存储——然后注入到 AI 代理运行的任何进程中。代理顺利完成任务,但永远看不到你的秘密。

┌──────────────────┐ ┌───────────────────────┐ ┌──────────────────────┐ ANY AGENT ~/.sig YOUR BROWSER ┌────────────┐ config.yaml ┌────────────────┐ sig run ├──┼───> credentials/ <───┼──┤ Playwright sig req my-jira.json (headless or └─────┬──────┘ github.json visible) grafana.json └───────┬────────┘ v curl, fetch, ┌─────────────────┐ cookies, tokens, agents, CI <───┼──┤ SSH transport localStorage sig sync push ┌────────────┐ └─────────────────┘ HTTP_PROXY= ├──┼──> ┌─────────────────┐ sig proxy MITM proxy └────────────┘ sig proxy start └─────────────────┘ └──────────────────┘ └───────────────────────┘ └──────────────────────┘

sig 的定位是:连接你的系统,让 AI 替你工作。你登录一次,sig 处理认证,你的 AI 代理完成工作。

快速开始

# 安装 npm install -g @sigcli/cli # 1. 初始化配置 sig init # 2. 登录——自动打开浏览器,捕获凭证 sig login https://jira.example.com # 3. 发起认证请求——凭证始终在进程内部,不会泄露 sig request https://jira.example.com/rest/api/2/myself # 或启动 MITM 代理——代理自动注入凭证,AI 代理无需接触秘密 sig proxy start

凭证从实时浏览器网络流量中捕获,使用 AES-256-GCM 加密后存储在 ~/.sig 下——不会出现在代码仓库或 shell 历史记录中。

工作原理

三步搞定:配置提供者、认证一次、让 AI 代理替你工作。

# 步骤一:在 ~/.sig/config.yaml 中配置提供者 providers: my-jira: url: https://jira.example.com strategy: cookie requiredCookies: [SESSION] grafana: url: https://grafana.example.com strategy: bearer my-api: url: https://api.example.com strategy: api-token # 步骤二:认证一次(浏览器 SSO,无头→可视自动切换) $ sig login https://jira.example.com → chromium 无头模式启动 … ⚠ 检测到登录页面 — 切换为可视模式 ✓ 捕获 4 个 cookie · 2 个 x-header ✓ 加密存储至 ~/.sig/credentials/my-jira.json # 步骤三:AI 代理替你工作 $ sig run my-jira -- claude "把所有 P1 Bug 整理成摘要发给我" $ sig run grafana -- python analyze_metrics.py $ sig run my-api -- node sync_data.js

混合浏览器流程是核心能力——无头模式快速且静默,但遇到真实登录页面时自动弹出可视窗口。sig 会自动识别并切换,无需手动干预。

sig doctor 可以验证 Node、Playwright、配置解析及凭证目录是否就绪。

功能特性

  • MITM 代理sig proxy start 在本地 127.0.0.1 启动 HTTPS 代理,零信任凭证注入。设置 HTTP_PROXY/HTTPS_PROXY 后,凭证透明注入到所有出站请求——代理工具永远看不到令牌。适合无法用 sig run 包裹的长期守护进程。
  • sig run — 将 SIG_<PROVIDER>_* 凭证直接注入任意子进程环境,输出中的凭证值自动脱敏。这是推荐的使用方式,让 AI 代理既能完成任务又无法窃取秘密。
  • 4 种认证策略cookie(浏览器 SSO)、oauth2(Bearer/JWT)、api-token(静态密钥)、basic(用户名/密码)。自动检测或通过 --strategy 手动指定。
  • 加密存储 — 所有凭证使用 AES-256-GCM 加密存储,密钥存放于 ~/.sig/encryption.key(权限 0o400)。每次访问生成审计记录,历史未加密文件自动迁移。
  • SSH 同步 — 在笔记本上完成登录,通过 sig sync push 推送到 CI 服务器或远程机器。无需守护进程,一条命令搞定。
  • TypeScript & Python SDK — CLI 的轻量级封装,供程序化集成使用。

sig run my-jira -- env | grep SIG_MY_JIRA_ 是查看某个提供者注入了哪些环境变量的最快方式。

安全模型

sig 采用四层安全设计,确保凭证在整个生命周期内不暴露给 AI 代理。

层级机制效果
加密存储AES-256-GCM,密钥存于 ~/.sig/encryption.key凭证文件即使被读取也无法解密
进程隔离sig run 通过环境变量注入,子进程退出后自动清理凭证不出现在 shell 历史或 ps 输出中
输出脱敏stdout/stderr 中的凭证值自动替换为 [REDACTED]AI 代理的上下文窗口中不会出现真实令牌
零信任代理MITM 代理在网络层注入,应用层不感知AI 工具无需读取凭证即可完成认证请求

凭证从不出现在 AI 代理的上下文窗口中。sig 在网络层或进程环境层完成注入,代理只看到请求结果,看不到秘密本身。