当你开始使用 OpenViking,通常会先遇到三个概念:库、数据空间和 User。
它们分别回答三个问题:库决定你使用的是哪一套 OpenViking 服务;数据空间决定数据属于哪个相互隔离的工作区;User 决定是谁在使用,以及私有数据归谁所有。
在控制台中创建的每一个 OpenViking 库,都是一个可以独立使用和管理的 OpenViking 实例。
库有自己的一套数据、配置和服务入口,也可以独立创建、监控和释放。每个库单独计费。
两种版本使用相同的 OpenViking 核心能力,区别主要在于需要管理多少身份,以及是否需要多层数据隔离。
对比项 | 个人版库 | 企业版库 |
|---|---|---|
更适合 | 个人开发者、个人助手、单一 Agent | 团队、企业应用、多 Agent、多终端用户 |
User | 只有一个 User | 可以创建多个 User |
数据空间 | 使用默认数据空间,不能创建多数据空间 | 可以创建多个逻辑隔离的数据空间 |
典型使用方式 | 一套服务长期服务一个身份 | 按客户、部门、应用或环境组织数据和成员 |
OpenViking Context 企业版和个人版收费方案见:计费说明
数据空间是企业版库中的一级数据隔离边界,在 API 中称为 Account。
这里的 Account 不是你的火山引擎登录账号。你可以把它理解为:同一个库里的一间独立工作室。每间工作室有自己的成员、共享资料和 User 私有目录。
进入任何一个数据空间,你看到的目录都从 viking:// 开始:
viking:// ├── resources/ 数据空间内的共享资料 └── user/ ├── alice/ Alice 的私有目录 └── support-agent/ 客服 Agent 的私有目录
两个数据空间里可以出现完全相同的路径,但它们仍然是两份相互隔离的数据。系统会根据请求所使用的凭证判断当前数据空间,不能通过修改路径进入另一个数据空间。
当你需要下面这些边界时,适合新建数据空间:
如果你只是想区分同一团队里的不同使用者,或隔离个人记忆和个人会话,通常不必新建数据空间,为不同身份创建 User 即可。
User 是 OpenViking 中可以被认证的使用身份,也是私有目录的所有者。
User 不一定是自然人,它也可以代表一个长期运行的 Agent,或一个代表业务系统访问 OpenViking 的服务身份。
每个 User 都有自己的鉴权凭证。OpenViking 收到请求后,会根据凭证确定请求属于哪个数据空间、代表哪个 User,以及这个 User 是管理员还是普通用户。
因此,User 不只是一个目录名称。它同时决定了“你是谁”和“你能访问什么”。客户端不能只靠在请求中填写另一个 user_id,就切换成其他 User。
访问目标 | 普通 User 是否可以访问 |
|---|---|
当前数据空间的共享资源 | 可以,具体读写能力由权限设置决定 |
自己的 User 私有目录 | 可以 |
自己名下的 Peer 子空间 | 可以 |
同一数据空间中其他 User 的私有目录 | 不可以 |
其他数据空间的数据 | 不可以 |
管理员可以在所属数据空间内创建和移除 User、查看用户列表、管理凭证和管理员角色。管理员的“用户管理能力”和 User 的“目录所有权”是两件事:业务数据仍应使用实际所有者的身份读写。
说明
管理员操作当前需使用管控面 API,详见 数据库管理 API 使用说明
每个 User 都有一套自己的目录。下面以 Alice 为例:
目录 | 你可以把什么放在这里 |
|---|---|
| 需要长期保留的用户画像、偏好、事件和经验,通过写入 session 并使用 commit_session 自动抽取 |
| 当前 User 与某个稳定交互对象相关的记忆或资料,每个 peer 下可放置使用目录路径隔离的资源、记忆 |
| 需要保护的用户级敏感配置,不建议当作普通知识目录使用,用于保管 skill 中的敏感鉴权信息 |
| 只属于当前 User 的文档、知识和项目资料 |
| 一次对话或任务中的消息、工具输入输出与历史记录 |
| 当前 User 拥有的技能定义及其相关文件 |
可以使用 User 目录结构和 User 下的多 peer 隔离逻辑,灵活建模您的业务场景。
场景示例:
Agent 是 User,最终用户是 Peer:User = customer-service-agent,Peer = customer-001、customer-002、customer-003
适合一个后端 Agent 使用统一凭证服务多个终端用户的场景。Agent 的通用上下文放在 User 根目录(资源、跨不同服务用户的经验记忆等),每位客户专属的上下文放在对应 Peer 子空间。业务系统必须可靠地识别 Peer,不能让终端用户任意切换成其他 Peer。
自然人是 User,不同 Agent 是 Peer:User = alice,Peer = coding-agent、travel-agent、learning-agent
适合一个人同时使用多个 Agent,并希望这些 Agent 共享用户记忆和偏好的场景。
不会。数据空间属于现有库,是库内的数据隔离单元。新建空间不会创建新的产品实例,不会额外增收费用。
可以。User 只在所属数据空间内唯一;位于不同数据空间时,它们是两个不同身份。
可以。将资料放在当前数据空间的 viking://resources/ 中。每个 User 私有目录里的内容默认不与其他 User 共享。
不等于。管理员负责 User、凭证和角色管理;User 仍然是自己私有目录的所有者。
不一定。如果终端用户需要独立凭证和完整私有目录,适合创建 User;如果由一个可信 Agent 统一服务多个客户,并只需要分别保存交互上下文,也可以把 Agent 建模为 User、把客户建模为 Peer。