FAQ¶
常见问题速查。按"症状 → 诊断 → 修法"组织。
vault check 报悬空引用¶
症状:
诊断:被引用的账号文件不存在。要么你删了账号没一起处理资源,要么账号 slug 写错了。
修:
# 看是哪个字段指错了
vault resource show aliyun/ecs/i-xxx
# 方案 A:补上账号
vault account add aliyun/main
# 方案 B:改资源指向已有的账号
vault resource edit aliyun/ecs/i-xxx
schema 校验挂¶
症状(pre-commit 输出):
credentials schema.......................Failed
data/credentials/foo.json::$: 'values' is a required property
诊断:文件字段跟 schemas/<layer>.schema.json 不匹配。
修:
# 对照 schema 看缺什么
cat schemas/credential.schema.json | jq '.required'
# 看你写的文件
cat data/credentials/foo.json
# 补字段、再 commit
vault install 报 "credential not found"¶
症状:
诊断:vault.json 里引用的 credential slug 在 data/credentials/ 下不存在。
修:
vault install 报 "has no field X"¶
症状:
诊断:vault.json 声明要读某字段,但 credential 里没那字段。
修:
vault credential show aliyun-main --unmask --json | jq '.values | keys'
# 看有哪些真实字段;改 vault.json 的 fields 数组
代码 import vault 找不到¶
症状:ModuleNotFoundError: No module named 'vault'
诊断:消费方项目不该 import vault 模块(vault 不是 Python SDK,是 CLI)。
修:改成读 JSON 或 env:
详见 项目接入。
git commit 特别慢¶
症状:git commit 卡 30 秒以上。
诊断:pre-commit 第一次安装某个 hook 要下载 binary(比如 gitleaks),走网络。
修:耐心等第一次;之后缓存在 ~/.cache/pre-commit/,秒级。
如果网差,可以用 git commit --no-verify 跳过(只临时用;下次正常 commit)。
git-crypt 乱码¶
症状:别人 clone 仓库后看 data/ 里全是 GITCRYPT 头 + 乱码。
诊断:对方没 unlock。git-crypt 密钥不在仓库里,要手动导入。
修(对方机器上):
详见 安全 密钥管理章节。
ruff 报错但本地能过¶
症状:本地 uv run ruff check 全绿,CI 挂。
诊断:pre-commit 和 uv 的 ruff 版本不一致。
修:改 .pre-commit-config.yaml:
查本地版本:uv run ruff --version
CI 说 data/ 不存在但我本地有¶
症状:CI 的 pytest integration 挂 / 某 script 说读不到 data/。
诊断:CI 看到的是加密的 data/。我们有意设计 VAULT_SKIP_INTEGRATION=1 跳过真实数据测试。
修:不用修,这是故意的。整合测试留本地跑:
CF Pages 部署挂 "Project not found"¶
症状:
诊断:CF 那边根本没建过这个项目。
修:先手动 API 创建:
TOKEN="..." && ACCOUNT="..." && curl -X POST \
"https://api.cloudflare.com/client/v4/accounts/$ACCOUNT/pages/projects" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"agentaily-vault","production_branch":"main"}'
文档站没更新¶
症状:push 到 main 了,但 https://agentaily-vault.pages.dev/ 还是旧的。
诊断:CI 可能还在跑,或 Pages 缓存。
修:
gh run list --limit 1 # CI 状态
# 等到 completed success 后
curl -I https://agentaily-vault.pages.dev/ | grep -i cf-cache
# 没缓存的话强刷新:
curl -I "https://agentaily-vault.pages.dev/?_=$(date +%s)"
# 或浏览器 cmd+shift+R
EDITOR 怎么设¶
vault <layer> add/edit 打开的是 $EDITOR 环境变量里的编辑器。
# zsh/bash config 里
export EDITOR=code-wait # VS Code 等关窗口才继续
# 或
export EDITOR=vim
# 或
export EDITOR='cursor -w'
不设的话 click 默认开 vi / nano。
我可以手动编辑 data/ 里的 json 吗?¶
可以,但:
1. 编完跑一次 vault check 确认自洽
2. pre-commit 会跑 schema 校验,挡不合法的
3. 推荐还是走 vault <layer> edit <slug>(打开模板、退出自动校验)
vault 能不能存音频 / 视频¶
能,但不建议。git-crypt 是 blob-level 加密,大文件会让仓库变慢。建议只放 < 10MB 的文件。大于这个的: - 放加密 OSS / 自建存储,只在 resource metadata 里记 URL + sha256 - 或者别存(不是所有事都要进 vault)
vault 被其他 agent skill 触发的时机¶
见 SKILL.md 顶部 TRIGGER 清单。核心:
- 用户说"查凭证 / 密码 / api key"
- 用户说"查 ECS / 机器 / OSS / 域名"
- 项目接入(vault.json / vault install)
- 关系校验(vault check)
- 人/组织(身份证、护照、合同)
不该触发:讨论概念、操作云资源、记关系事实、记笔记决策(后两个进 knowledge-graph)。
没列到的问题¶
提 GitHub Issue 或直接问 Claude。