Raw Materials(原始材料)

蒸馏前的入料层——文章、论文、仓库笔记、对话,按类型组织、A/B/C 分级。

Raw 是你的入料层 — 蒸馏之前的原始来源。你读过的文章、收集的论文、研究过的代码仓库、经历过的对话。系统读取它们、评级、然后将持久部分蒸馏为 Memory

Raw 不是 Thread。 竞品把所有东西都塞进”conversations”。 我们的 raw/ 有类型化入料(articles / papers / videos / audio / repos / misc)、A/B/C 分级指纹去重人工审批门控。这就是区别。

为什么 raw/ 不只是”对话”

我们的 raw/ 通用 “Thread”
6 个类型子目录(articles/papers/videos/audio/repos/misc) 扁平列表,仅对话
蒸馏前 A/B/C 分级 全量导入或全手动
指纹去重防止重复 draft 无去重
人工门控:raw → draft → review → wiki 自动提升或纯手动
输出到 22 域 × 3 类型的结构化 wiki/ 扁平 memory store
来源追踪:每个 draft 记录其 raw 来源 无来源链路

第一个有用的 Raw Material

如果你是新用户,先做以下其中一件事:

  • 把一篇文章或笔记保存到 raw/
  • 运行一次 /ingest 进行分级和提取 draft
  • 从这些 draft 中蒸馏出一条有用的 memory

然后打开那条 memory,确认它捕捉了关键信息。这就是核心工作流。

我想… 跳转到
保存文章或论文 保存到 raw/
将 raw materials 蒸馏为 drafts 蒸馏
导入对话 导入格式
了解 A/B/C 分级 质量门
搜索历史 raw materials 搜索 Raw

目录结构

raw/
└── {YYYY}/{MM}/{DD}/
    └── {source}/         # articles | papers | videos | audio | repos | misc
        └── {slug}.md

材料按日期 + 来源组织。日期目录自动创建,来源对应工具类型 — 文章、论文、视频、音频、仓库、其他。这使得按时间检索和按来源过滤都很方便。

三级工具协议

Agent 读取 settings/handlers.json 路由表,按模态选择工具:

级别 类型 示例 输出
L0 系统工具 curl, pdftotext 原始 stdout
L1 OKS 协议 CLI (oks-connector) oks-video, oks-audio, oks-image Raw Bundle (raw-multimodal/v0.1)
L2 独立工具 agent-reach, yt-dlp 工具特定格式

Agent 直接通过 Bash 调用工具,OKS 不在运行时路径中。

Raw 文件格式

---
title: "Understanding Event-Driven Architecture"
source: https://example.com/event-driven-architecture
date: 2026-07-13
type: article
tags: [architecture, event-driven, microservices]
---

# Understanding Event-Driven Architecture

Event-driven architecture is a paradigm where services communicate...

最简格式 — 一个带内容的 markdown 文件。Frontmatter 可选但推荐,能改善搜索结果和来源追踪。

来源追踪

每个 raw 文件可以在 frontmatter 中携带来源元数据:

字段 用途
source 获取材料的 URL 或路径
date 材料收集时间
type article / paper / repo / conversation / note
tags 用于过滤的主题标签

当 raw material 被蒸馏为 draft 时,draft 会记录其来源。这形成了一条来源链路:wiki 页面 ← draft ← raw 文件 ← 原始来源。你随时可以追溯一条策划好的 memory 回到它的源头。

保存到 Raw

从文件

将任意 markdown 文件放入对应的 raw/ 来源目录:

# 自动创建当天目录
mkdir -p raw/$(date +%Y/%m/%d)/articles
cp ~/Downloads/article.md raw/$(date +%Y/%m/%d)/articles/

从 CLI

mkdir -p raw/$(date +%Y/%m/%d)/misc
echo "We decided to use FastAPI for the new service" > raw/$(date +%Y/%m/%d)/misc/api-decision.md

从 AI 对话

保存对话摘要或 Q&A 提取。/archive 技能可以从 Agent 会话中提取 Q&A 并写入 drafts/

## User

What's the best approach for state management in React?

## Assistant

For large applications, Zustand is lightweight and avoids the boilerplate
of Redux. For simpler apps, React Context is sufficient...

## Decision

Use Zustand for state management — lightweight, no boilerplate, good DX.

蒸馏

连接 raw materials(raw/)到 memories(wiki/)的关键工作流。

工作原理

raw/(人类收集 / 工具处理)
  ↓ /ingest — 三级路由 + A/B/C 分级每个文件
  ↓ A 级 → drafts/(候选 wiki 页面)
  ↓ B 级 → 保留在 raw/,等下一轮
  ↓ C 级 → 跳过
drafts/(中间提案)
  ↓ /promote — 人工审查:接受 / 修改 / 拒绝
wiki/(策展知识,带衰减 + 演化)

A/B/C 分级 — 我们的优势

系统对每个 raw material 进行分级:

等级 含义 操作
A 高质量,有模式价值 写入 drafts/ 供人工审查
B 可能有用 保留在 raw/,下一轮重新评估
C 低质量或重复 跳过,留在 raw/

这意味着人工只需审查最佳候选,而非 raw/ 中的每个文件。

质量门

一个 raw material 成为 A 级 draft 之前,必须通过:

门控 规则 原因
内容长度 < 50 字符则跳过 太短,不含有用知识
标题检查 通用标题(”Untitled”、”Note”)则跳过 无模式可提取
重要性下限 < 0.3 则跳过 低价值知识不值得策划
指纹去重 内容 hash 已有 draft 则跳过 防止重复 wiki 页面

指纹去重是我们的独特优势 — 系统为每个 raw 文件计算内容 hash,与已有 drafts 对比。如果相同内容已被蒸馏过,不会创建重复。这让 wiki/ 在 raw/ 增长时保持干净。

运行蒸馏

# 预览(只统计将被评估的 wiki 页数,不写入)
oks distill --dry-run

# 运行维护循环:应用衰减 + wiki 聚类演化(raw → drafts 的分级蒸馏由 /ingest 技能完成)
oks distill

# 列出待人工审查的 drafts
oks drafts list

# 提升 draft 到 wiki
oks drafts promote <slug>

导入格式

Conversation Markdown

导入对话的通用格式。任何能写 ## User / ## Assistant 头部的工具生成的文件,我们都能读取。

---
title: Python Async Patterns
source: chatgpt
date: 2026-07-13
---

## User

How does async/await work in Python?

## Assistant

Python's `async`/`await` lets you write concurrent code that doesn't block
while waiting for I/O. An `async def` function returns a coroutine...

## User

When should I use asyncio vs threading?

## Assistant

Use asyncio for I/O-bound work. Use threading for blocking libraries.
Use multiprocessing for CPU-bound work.

格式规则:

  • 头部:## User## Assistant## System(二级标题,每条消息一个)
  • 内容:头部之间的所有内容为一条消息
  • Frontmatter:可选 YAML 块,含 titlesourcedate
  • 无识别头部的文件作为单个文档导入

批量导入

# 复制所有文章到 raw/
mkdir -p raw/$(date +%Y/%m/%d)/articles
cp ~/Downloads/articles/*.md raw/$(date +%Y/%m/%d)/articles/

# 运行蒸馏处理全部
oks distill --dry-run  # 预览
oks distill            # 执行

搜索 Raw

按关键词

oks recall "authentication"   # 双路召回,episodic 路覆盖 raw 蒸馏出的 digests

按新鲜度

召回引擎应用新鲜度因子:0.95^days_old。越新的材料在 episodic recall 中得分越高。这意味着搜索时最近的 raw materials 优先呈现。

双路召回

oks recall "database design" --limit 5

同时返回 episodic 结果(来自 raw/)和 knowledge 结果(来自 wiki/),合并展示:

{
  "episodic": [...],   // raw/ 材料,按关键词 + 新鲜度匹配
  "knowledge": [...]    // wiki/ 页面,按 6+1 因子相关性 + 曲线匹配
}

Raw Material vs Memory — 何时用哪个

场景 用 Raw(raw/) 用 Memory(wiki/)
需要完整原始来源
需要持久模式
搜索特定决策 也许 是(相关性更高,有评分)
想追溯理解演化 两者都用 是(有版本链接、supersession)
快速查阅带置信度 是(有 tier 评分、来源标签)
需要来源链路 从这里开始 链接回 raw 来源

我们的管线优势

raw/(日期 + 来源结构)
  ↓ A/B/C 分级(过滤噪声)
  ↓ 指纹去重(防止重复)
drafts/(人工门控审查)
  ↓ /promote — 接受 / 修改 / 拒绝
wiki/(22 域 × 3 类型,带衰减)
  ↓ 6+1 因子召回 + 记忆曲线
  ↓ 演化:4 种知识关系
注入 Agent 上下文

每一步都有质量门。没有通过分级人工审查的内容不会进入 wiki/。这就是我们的 wiki/ 在 raw/ 增长时保持干净的原因 — 管线在每一阶段过滤噪声。

下一步



回到顶部

This site uses Just the Docs, a documentation theme for Jekyll.