Skip to content

添加第一个凭据

凭据是 Sigil 的基本单位。本篇详细讲解凭据从录入到存储的全过程。

操作步骤

打开 Sigil → 左侧 Vault → 右上角"新增凭据"。

弹出的对话框包含四个区域:

  1. 基本信息:名称、类型、标签
  2. 凭据内容:随类型动态变化的字段
  3. 使用控制:哪些能力可以用这条凭据
  4. 生命周期:过期日期、自动轮换提醒

凭据类型

Sigil 内置 8 种凭据类型,覆盖绝大多数场景:

类型适用场景必填字段
github_tokenGitHub PAT / Fine-grained TokenToken
gitee_tokenGitee Access TokenToken
gitcode_tokenGitCode Access TokenToken
db_connPostgreSQL / MySQL / SQLite 连接串主机、端口、用户名、密码、数据库名
http_api通用 HTTP API Key基地址、鉴权头、Key
ssh_key远程 SSH 私钥私钥内容 / 路径、密码(可选)
generic_password任意密码密码
custom自定义结构(JSON)自由

每种类型在录入时会做格式校验——比如 github_token 要求 ghp_ / github_pat_ 前缀,db_conn 会尝试一次只读连接确认可达。

加密路径

录入后,Sigil 在后台做这件事:

你输入的 Token

Rust 内存中临时持有(zeroize 包装)

用 AES-256-GCM 加密

密文写入 OS 密钥环(Windows 凭据管理器)

明文内存清零(zeroize::Zeroizing 自动 drop)

元数据(名称 / 类型 / 标签 / 过期)

写入本机 SQLite

整个过程明文不落盘。AES 主密钥本身由 OS 密钥环托管,需要系统级访问授权才能取出。

使用控制

在"使用控制"区,你可以限定这条凭据只允许哪些能力使用

  • 全部能力:默认;任何能力都能用这条凭据
  • 白名单:勾选若干,只有勾选的能用
  • 黑名单:勾选若干,勾选的不能用

典型用法:

凭据控制策略
GitHub Token(只读)白名单:git_queryhttp_request
生产数据库 root黑名单:db_execute(防止 AI 误改)
SSH 私钥(管理员)白名单:ssh_query(只允许只读命令)

控制策略在每次能力调用前由 Sigil 强制校验,不依赖客户端善意。

标签与搜索

标签是自由文本,建议按"环境"或"项目"分类:

  • prod / staging / dev
  • personal / work / client-acme
  • readonly / readwrite / admin

Vault 列表顶部的搜索框支持按名称 + 标签模糊匹配,便于在凭据多了之后快速定位。

过期与轮换

填了"过期日期"的凭据会:

  • 临近 7 天时在首页右上角提醒
  • 过期当天禁用调用(仍可手动延期)
  • 过期 30 天后建议删除

Sigil 不会自动轮换 Token(这需要对每个服务商单独适配),但会在过期前提醒你手动到 GitHub / Gitee / 数据库平台重置。

编辑与删除

  • 编辑:在 Vault 列表里双击行,弹出与新增一样的对话框,所有字段可改
  • 删除:行末"⋯"菜单 → 删除 → 二次确认 → 同时清除 OS 密钥环里的密文 + SQLite 元数据

删除是不可逆的:Sigil 不存"回收站",一旦删除,唯一找回的途径是从源头(GitHub 等)重新生成 Token。

备份

Sigil 暂未提供云同步。本地备份建议:

  1. 导出:设置 → 数据导出 → 选择凭据范围 → 输入主密码 → 得到 .sigil-backup 文件
  2. 存放:把备份文件放到加密 U 盘 / Bitlocker 卷 / 自托管的加密对象存储
  3. 恢复:在新机器安装 Sigil → 设置 → 数据导入 → 选择备份文件 → 输入主密码

主密码不在备份文件里,需要你记住。忘了主密码 = 备份永远解不开——这是设计。

下一步

让 AI 帮你干活,但永远拿不到你的密钥