feat(memory-gateway): 引入 Memory Gateway 配置、凭据存储和服务编排
* 新增 MemoryGatewayConfig 和 MemoryConfig dataclass,用于配置管理。 * 实现 MemoryGatewayUserCredential 和 MemoryGatewayCredentialStore,用于处理用户凭据。 * 创建 MemoryGatewayService,用于管理与 Memory Gateway 的交互。 * 开发用于记忆设置的 JSON 配置文件。 * 增强单元测试,覆盖新功能,包括凭据存储和服务行为。 * 更新 entrypoint 和实例创建脚本,以初始化 Memory Gateway 用户存储。
This commit is contained in:
@ -110,6 +110,8 @@ runtime/instances/<instance-slug>/
|
||||
runtime/instances/<instance-slug>/
|
||||
└── beaver-home
|
||||
├── config.json
|
||||
├── memory_gateway_users.json
|
||||
├── runtime.env
|
||||
├── web_auth_users.json
|
||||
└── workspace/
|
||||
```
|
||||
@ -125,10 +127,21 @@ runtime/instances/<instance-slug>/
|
||||
```text
|
||||
BEAVER_CONFIG_PATH=/root/.beaver/config.json
|
||||
BEAVER_WORKSPACE=/root/.beaver/workspace
|
||||
BEAVER_MEMORY_GATEWAY_USERS_PATH=/root/.beaver/memory_gateway_users.json
|
||||
```
|
||||
|
||||
所以模型 `provider/api_key/api_base/model` 配一次即可,Web / channel 请求不需要、也不应该携带 API Key。
|
||||
|
||||
Memory Gateway 的共享非密钥配置不放在实例目录里,而是放在仓库内的:
|
||||
|
||||
```text
|
||||
app-instance/backend/memory/config.json
|
||||
```
|
||||
|
||||
实例目录只保存按 Beaver 登录用户名分组的 Gateway 凭证。`create-instance.sh`
|
||||
会初始化空的 `memory_gateway_users.json`,容器启动时也会兜底创建这个文件并设置
|
||||
`0600` 权限。
|
||||
|
||||
`create-instance.sh` 默认会把仓库根目录的 `skills/` 非覆盖式复制到实例 workspace,并把同一个目录只读挂载到实例容器的 `/opt/app/initial-skills`。`entrypoint.sh` 每次启动都会用该目录补齐缺失的 published 初始 skills;已有 skill 目录不会被覆盖,index 只做并集追加。
|
||||
|
||||
## 当前状态
|
||||
|
||||
Reference in New Issue
Block a user