介绍
# Shared Memory
将你的知识库中的记忆与其他用户共享。管理命名空间上的用户、组和细粒度权限。
## 快速开始
```bash # Create user and group {baseDir}/scripts/shared-memory.sh create-user mark {baseDir}/scripts/shared-memory.sh create-group family {baseDir}/scripts/shared-memory.sh add-member family mark
# Grant access {baseDir}/scripts/shared-memory.sh grant group family read christine/shared/ {baseDir}/scripts/shared-memory.sh grant group family update christine/shared/ ```
## 命名空间组织
``` <username>/ ├── private/ # Only this user ├── shared/ # Shared with others └── public/ # Read-only to others ```
授予 `mark/shared/` 访问权限 → 所有共享内容 授予 `mark/shared/recipes/` 访问权限 → 仅食谱
## 命令
### 用户 | 命令 | 描述 | |---------|-------------| | `create-user <username>` | 创建用户 | | `delete-user <username>` | 删除用户 |
### 组 | 命令 | 描述 | |---------|-------------| | `create-group <name>` | 创建组 | | `delete-group <name>` | 删除组 | | `add-member <group> <user>` | 将用户添加到组 | | `remove-member <group> <user>` | 移除用户 |
### 权限 | 命令 | 描述 | |---------|-------------| | `grant org <action> <pattern>` | 授予给组织 | | `grant user <name> <action> <pattern>` | 授予给用户 | | `grant group <name> <action> <pattern>` | 授予给组 | | `revoke <grant_id>` | 撤销权限 | | `list` | 列出所有授权 | | `list-permissions` | 列出有效权限 |
**操作**: `read`, `create`, `update`, `delete`
### 订阅 | 命令 | 描述 | |---------|-------------| | `subscribe <key>` | 获取变更通知 | | `unsubscribe <key>` | 停止通知 | | `list-subscriptions` | 列出订阅 |
## 示例:家庭共享
```bash # Create user for partner {baseDir}/scripts/shared-memory.sh create-user mark
# Create family group {baseDir}/scripts/shared-memory.sh create-group family {baseDir}/scripts/shared-memory.sh add-member family mark
# Grant mutual access to shared/ namespaces {baseDir}/scripts/shared-memory.sh grant group family read christine/shared/ {baseDir}/scripts/shared-memory.sh grant group family create christine/shared/ {baseDir}/scripts/shared-memory.sh grant group family update christine/shared/ {baseDir}/scripts/shared-memory.sh grant group family read mark/shared/ {baseDir}/scripts/shared-memory.sh grant group family update mark/shared/ ```
## 故障排除
如果命令失败,请首先检查是否已配置 Ensue API 密钥:
```bash echo $ENSUE_API_KEY grep -A2 'ensue-learning-memory' ~/.clawdbot/clawdbot.json ```
如果未找到 API 密钥,请告知用户在 https://www.ensue-network.ai/login 获取免费密钥,并在 `~/.clawdbot/clawdbot.json` 中进行配置:
```json { "skills": { "entries": { "ensue-learning-memory": { "apiKey": "their-api-key-here" } } } } ```
如果密钥存在但命令失败,则该密钥可能无效——请让用户生成一个新的密钥。