# OpenViking Namespaces ## 目标 通过明确 namespace 和 URI 组织方式,把 OpenViking 用作统一的 context / memory gateway。 ## 推荐 namespace ### 1. `soc/knowledge` 用于稳定知识: - KB - Playbook - 月报摘要 - 报告摘要 - PO 示例: - `viking://soc/knowledge/kb/phishing-mail-header-analysis` - `viking://soc/knowledge/playbook/o365-suspicious-login` ### 2. `soc/case` 用于历史案例和 case 结论: - 历史 case - 真报 / 误报模式 - 关键证据 示例: - `viking://soc/case/true-positive/case-2026-00128` - `viking://soc/case/false-positive/case-2026-00072` ### 3. `soc/process` 用于流程级记忆: - agent 中间分析 - 工具输出摘要 - 可复用的中间判断模式 示例: - `viking://soc/process/session-abc123/step-04` ### 4. `session/` 用于当前任务的临时上下文。 示例: - `viking://session/incident-20260421-001/context` - `viking://session/incident-20260421-001/tools` ### 5. `agent/` 用于 agent 级别的私有或半私有上下文。 示例: - `viking://agent/hermes-soc/default` - `viking://agent/nanobot-soc/preferences` ### 6. `user/` 用于 analyst 偏好、展示习惯等小规模 profile 信息。 示例: - `viking://user/alice/preferences` ## 资源组织建议 ### memory 适用于: - 高价值摘要 - case 结论 - pattern - lesson learned ### resources 适用于: - 原始附件链接 - 外部文档引用 - Obsidian note 路径 - ticket / report / intel 引用 ### skills 适用于: - 检索 skill - 记忆抽取 skill - case 沉淀 skill ## 检索顺序建议 当前 case 发生检索时,建议按以下顺序召回: 1. `session/` 2. `soc/case` 3. `soc/knowledge` 4. `agent/` 5. `user/` 这样可以优先保证“当前上下文”和“历史相似 case”的相关性,不让通用知识淹没 case 信号。 ## 约束建议 - 不要把所有原始资料直接写入 `soc/knowledge` - `soc/process` 默认应该设置清理策略 - 长期稳定内容再写入 `soc/knowledge` 或 `soc/case` - Obsidian 只存人工可维护的摘要和结构化沉淀,不做全量原文仓