安全与权限
数据安全与密钥
模型配置存储、加密机制与用户注意事项
数据安全与密钥
本地 CLI 状态采用加密 SQLite 存储:
- City 本地状态与凭证:
~/.downcity/downcity.db - Federation admin profile 与会话元数据:
~/.downcity/federation.db - Agent 绑定保存在 CLI 全局 DB 的
execution.modelId
secret 如何保护
provider apiKey、渠道凭证、user session 与 Federation 管理员元数据都不会明文写入本地存储;密码保存为 PBKDF2 摘要,会话 Token 以摘要或加密形式写入 SQLite。
city env 是显式的文件配置能力:Global Env 以明文写入 ~/.downcity/.env,Workspace Env
以明文写入项目 .env。Global 文件权限限制为仅当前用户可读写;项目 .env 默认加入
.gitignore。如需更强的密钥保护,应通过启动进程或密钥管理系统注入环境变量。
密钥来源优先级:
DC_MODEL_DB_KEY环境变量~/.downcity/main/model-db.key
用户侧最佳实践
- 不要提交
~/.downcity或任何私钥文件到版本库。 - 团队环境统一通过密钥管理系统注入
DC_MODEL_DB_KEY。 - 轮换 key 后,执行一次 City 连接与模型调用验证。
- 不要提交 Workspace
.env,并限制~/.downcity/.env的文件访问权限。