配置
Env 与 downcity.db 设计
说明 env、渠道账户、City 模型目录与项目 plugin 配置如何分层
Env 与 downcity.db 设计
只记一个原则:
- 共享密钥和共享基础设施放
~/.downcity/downcity.db - 项目行为放
downcity.json
downcity.db 负责
env_entrieschannel_accountschat_auth_roleschat_auth_role_permissionschat_auth_channel_defaultschat_auth_user_rolesmodel_providersmodels- 其他 City 持有的加密设置
项目 downcity.json 负责
execution.modelIdplugins.*
为什么这么分
- 密钥不应该散落到项目配置
- plugin 开关与插件自身依赖配置属于项目行为
- City 存储不应该偷偷承载项目级 plugin 状态
运行时加载顺序
- 宿主可以先从
downcity.db读取需要参与运行时的 City env - 宿主把这些值显式传给
new Agent({ env }) - Agent 读取项目
.env - 项目
.env覆盖宿主传入的同名键 - Agent 读取项目
downcity.json - 解析
plugins.* - 从
downcity.db解析渠道凭据、聊天授权规则和 City AIService 模型目录