GoForum › 🌐 V2EX
Signet — 通用认证 CLI,一行命令搞定各种系统的登录问题,专为 AI Agent 时代设计
gbin ·
2026-04-08 17:05 ·
0 次点赞 · 0 条回复
最近开源了一个自己写的工具,解决一个我被折磨了很久的问题:AI 编程助手( Claude Code 、Cursor 等)怎么访问需要登录的内部系统?
比如你让 AI 帮你查个 Jira ticket 、搜个 Wiki 页面、发个 Teams 消息——它需要认证,但它没有浏览器,不能走 SSO 。
之前的做法要么是手动复制 cookie 粘到环境变量里,要么写一堆胶水脚本,每次 session 过期又得重来一遍。
所以我写了 Signet:一个通用的认证 CLI ,人类在浏览器里完成一次 SSO ,AI Agent 通过命令行直接复用凭据。
GitHub: https://github.com/signet-auth/signet
它做什么
npm install -g signet-auth
sig init # 自动检测浏览器,生成配置
sig login https://jira.example.com # 打开浏览器完成 SSO ,凭据自动存储
sig request https://jira.example.com/rest/api/2/myself # 带认证发请求
sig get jira # 取出凭据给脚本用
一句话:sig login 一次,后面所有请求自动注入认证信息。
核心特性
- 四种认证策略:Cookie ( SSO )、OAuth2 ( JWT )、API Token 、Basic Auth ,覆盖绝大多数场景
- 零配置上手:sig login
自动创建 provider ,不需要预先写配置 - 远程/无头机器支持:sig init –remote + SSH 同步凭据,服务器上也能用
- AI Agent 友好:专门为 Claude Code / Cursor 等设计了集成模式,Agent 直接 shell out 调用 sig 命令
- 多服务统一管理:Jira 、Wiki 、Teams 、GitHub……一个 config 文件管所有
- sig doctor:一键检查环境配置是否正确
AI Agent 集成示例
这是我最想分享的部分。在 Claude Code 里,Agent 这样用 Signet:
# Agent 直接发认证请求
sig request "https://jira.example.com/rest/api/2/issue/PROJ-123" --format body
# 或者取出凭据传给脚本
CRED=$(sig get https://wiki.example.com/ --format value)
python scripts/wiki_search.py --cookie "$CRED" --keyword "deployment guide"
Session 过期了? Agent 检测到 401 ,自动调 sig login 弹浏览器让人类重新登录,然后继续干活。人机协作,各司其职。
远程机器怎么办
# 本地机器(有浏览器)
sig remote add dev-server dev.example.com
sig sync push dev-server # 把凭据通过 SSH 推到远程
# 远程机器(没浏览器)
sig sync pull laptop # 或者从本地拉取
技术栈
TypeScript + Playwright (浏览器自动化),凭据以 JSON 存储在 ~/.signet/ 下,配置是单文件 YAML ,没有环境变量地狱。
为什么不用现有工具
- 浏览器插件导出 cookie:手动操作,每次过期重来
- 各种 CLI 自带的 auth ( gh auth 、jira-cli ):每个工具一套,不通用
- 密码管理器:不适合程序化调用
- Signet 的定位是 通用认证中间层,一套工具解决所有服务的认证问题,并且原生支持 AI Agent 场景
项目状态
目前已经在日常工作中稳定使用,支持 Chrome / Edge / Chromium 。MIT 协议。
欢迎试用、提 issue 、Star ⭐
0 条回复
添加回复
你还需要 登录
后发表回复