agentCLAWHUBUnverified

知识库 Wiki 编译器

腾讯 IMA 知识库 Wiki 编译——将原始资料系统化组织为结构清晰的Wiki知识体系,并支持标签体系管理与按文件夹层级结构归类。当用户说"建知识库""整理资料库""编译知识库""搭建wiki""知识体系化""把资料整理成wiki""给知识库打标签""按标签分类""标签整理""按文件夹归类""整理散落文件"时触发。不适用于单篇摘要、简单问答、或仅搜索已有知识库内容的场景。 Skill: 知识库 Wiki 编译器 Owner: cookfish1979 Summary: 腾讯 IMA 知识库 Wiki 编译——将原始资料系统化组织为结构清晰的Wiki知识体系,并支持标签体系管理与按文件夹层级结构归类。当用户说"建知识库""整理资料库""编译知识库""搭建wiki""知识体系化""把资料整理成wiki""给知识库打标签""按标签分类""标签整理""按文件夹归类""整理散落文件"时触发。不适用于单篇摘要、简单问答、或仅搜索已有知识库内容的场景。 Tags: api-fix:5.0.2, cascade:5.0.2, compiler:5.0.2, folder-organization:4.1.0, ima:5.0.2, ingest:5.0.1, karpathy:5.0.2, knowledge:5.0.2, latest:5.0.2, lint:5.0.1, openclaw:4.1.0, ref

OpenClaw

Rank

62

Safety

84

Downloads

1.4k

Updated

Oct 10, 2026

Version

5.0.2

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.4K downloadsadoption · observed Oct 10, 2026
Latest release
5.0.2release · observed Sep 28, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s178t9xr86vm0kwcccj0rhw50h8472yc:wiki-compiler
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-cookfish1979-wiki-compiler/snapshot"

Documentation

CLAWHUB

151,128 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: wiki-compiler
version: 5.0.0
description: 腾讯 IMA 知识库 Wiki 编译——将原始资料系统化组织为结构清晰的Wiki知识体系,并支持标签体系管理与按文件夹层级结构归类。当用户说"建知识库""整理资料库""编译知识库""搭建wiki""知识体系化""把资料整理成wiki""给知识库打标签""按标签分类""标签整理""按文件夹归类""整理散落文件"时触发。不适用于单篇摘要、简单问答、或仅搜索已有知识库内容的场景。
license: MIT-0
author: cookfish
last_updated: 2026-09-28
homepage: https://github.com/cookfish/wiki-compiler

metadata:
  openclaw:
    emoji: 🔧
    requires:
      primaryEnv: IMA_OPENAPI_APIKEY
      env:
        - IMA_OPENAPI_CLIENTID
        - IMA_OPENAPI_APIKEY
---

# 知识库 Wiki 编译器 v5.0.0

> **技能版本**:v5.0.0 | 最后更新:2026-09-28 | 上一版:v4.1.0
> **核心理念**:基于 Karpathy 的 LLM Wiki 模式 —— **"Human curates, LLM maintains"**
> **三大操作**:Ingest(摄取)/ Lint(健康检查)/ Schema(契约)
> **IMA 平台依赖**:需配置 `IMA_OPENAPI_CLIENTID` 和 `IMA_OPENAPI_APIKEY` 环境变量。获取方式:访问 https://ima.qq.com/agent-interface

---

## 快速开始

### 场景 1:建新知识库
用户:"建一个关于 XXX 的知识库" → **Ingest**(完整流水线)

### 场景 2:导入新资料
用户:"导入这个网页" / "上传这个 PDF" → **Ingest**(自动级联)

### 场景 3:整理散落文件
用户:"按文件夹归类" / "整理散落文件" → **Ingest 前置**(Folder Pre-Ingest)

### 场景 4:维护知识库
用户:"检查知识库" / "健康检查" → **Lint**(4 类标准检查)

### 场景 5:增量更新导览
用户:"更新导览" / "导览新增了 N 篇文章" → **Ingest**(增量模式)

### 场景 6:标签管理
用户:"给知识库打标签" / "审查标签" → **Ingest** 子任务(Schema 辅助)

---

## 核心理念

### Karpathy 三大操作

| 操作 | 职责 | 触发词 | 详见 |
|------|------|--------|------|
| **Ingest**(摄取) | 资料入库,编译/更新导览,级联多个相关导览 | "建知识库""导入网页""上传文件""更新导览" | [ingest.md](references/ingest.md) |
| **Lint**(健康检查) | 4 类标准检查:结构/矛盾/孤立/过期 | "检查知识库""健康检查" | [lint.md](references/lint.md) |
| **Schema**(契约) | 强制 frontmatter 规范(自动应用) | (无需用户触发)| [schema.md](references/schema.md) |

**Query(查询)由 IMA search/fetch 完成,不归本 skill 管。**

### 为什么这样设计

- **Ingest**:知识库是"会复利的资产",不是"可检索的语料库"
- **Lint**:通过定期检查防止 wiki 衰败(类比代码世界的 `eslint`)
- **Schema**:没有 schema,LLM 会天马行空;有了 schema,LLM 才守纪律

> "Human curates, LLM maintains" — 人类决定收录什么,LLM 维护导览

---

## Ingest(摄取)

### 子任务流水线

```
Collect(收集) → Check(检查) → Link(链接特性) → Compile(编译) → Write(写入) → Cascade(级联)
   ↓                ↓                ↓                ↓                ↓              ↓
  阶段 1.1          阶段 1.2          阶段 1.3          阶段 1.4          阶段 1.5       阶段 1.6
```

### 关键子任务

| 子任务 | 核心动作 | API |
|--------|---------|-----|
| **Collect** | 上传文件 / 导入网页 / 拉取已有 | `upload_file`, `import_urls`, `get_knowledge_list` |
| **Check** | 搜索旧导览 | `search_note`(标题="主题导览")|
| **Link** | 获取链接特性表 | `export_media_for_ima_sandbox` |
| **Compile** | 新建/增量更新 | LLM 5 步法或 6 步法 |
| **Write** | 创建/追加/编辑笔记 | `import_doc`, `append_doc`, `update_note` |
| **Cascade** | **创建新版本导览 + 旧版保留历史**(知识复利)| `search_note` + Jaccard 算法 |

详见 [references/ingest.md](references/ingest.md)

### ⚠️ Karpathy 核心机制:知识复利(Cascade)

> 一次 Ingest 可能触动多个导览(不仅是新文件所在的那个)

**IMA 实际可实现方式**:每个 Cascade 创建新 note_id(frontmatter 完整可控),旧版笔记保留作为历史。

```
新文件被上传
   ↓
计算与每个现有导览的相关性(标签 Jaccard + 文件夹归属 + 标题关键词)
   ↓
相关度 > 0.5 的导览 → 加入"待更新列表"
   ↓
用户确认(必选)
   ↓
对每个候选导览:
  1. export_note 读旧版
  2. LLM 生成新版本正文
  3. import_doc 创建新笔记(新 frontmatter:version/updated/changelog)
  4. append_doc 在旧笔记末尾

_meta.json

{
  "ownerId": "kn7b60cvvedv8jkxs5gy3m9c0d837e9f",
  "slug": "wiki-compiler",
  "version": "5.0.2",
  "publishedAt": 1790596635214
}

references/api-reference.md

# API 速查

> IMA OpenAPI 完整参考(基于 ima-knowledge 和 ima-note 最新文档对齐)。
> 所有调用都依赖 `IMA_OPENAPI_CLIENTID` 和 `IMA_OPENAPI_APIKEY` 环境变量。

## 1. 环境变量配置

```bash
# 必需的环境变量
export IMA_OPENAPI_CLIENTID="你的ClientID"
export IMA_OPENAPI_APIKEY="你的APIKey"

# 获取地址:https://ima.qq.com/agent-interface
```

## 2. 通用调用函数(Python)

```python
import urllib.request
import json

def ima_api(path, data=None):
    """IMA OpenAPI 通用调用函数"""
    headers = {
        "ima-openapi-clientid": "你的ClientID",
        "ima-openapi-apikey": "你的APIKey",
        "Content-Type": "application/json"
    }
    url = f"https://ima.qq.com/{path}"
    req = urllib.request.Request(
        url,
        data=json.dumps(data or {}).encode('utf-8'),
        headers=headers,
        method="POST"
    )
    with urllib.request.urlopen(req, timeout=15) as resp:
        return json.loads(resp.read().decode("utf-8"))
```

## 3. 知识库 API(wiki/v1/*)

### 3.1 读取类

| 功能 | 端点 | 关键参数 | 说明 |
|------|------|---------|------|
| 搜索知识库(含角色信息) | `openapi/wiki/v1/search_knowledge_base` | `query`, `cursor`, `limit` (1-20) | **推荐** 替代不存在的 `list_knowledge_bases` |
| 列出知识库内容 | `openapi/wiki/v1/get_knowledge_list` | `knowledge_base_id`, `cursor`, `limit` (1-50) | 不带 folder_id 列出根目录 |
| 按名称定位文件/文件夹 | `openapi/wiki/v1/search_knowledge` | `query`, `knowledge_base_id` | 获取位置和类型信息 |
| 发现广场公开知识库 | `openapi/wiki/v1/search_knowledge_base_in_square` | `question`, `cursor`, `limit` (1-20) | 与 search_knowledge_base 不同 |
| 导出媒体内容(COS URL)| `openapi/wiki/v1/export_media_for_ima_sandbox` | `media_id` | **返回 COS 链接需二次下载** |

### 3.2 写入类

| 功能 | 端点 | 关键参数 | 说明 |
|------|------|---------|------|
| 创建知识库 | `openapi/wiki/v1/create_knowledge_base` | `name`, `type` (1001个人/1002共享/1004订阅) | - |
| 更新知识库信息 | `openapi/wiki/v1/update_knowledge_base_basic_info` | `id`, `update_fields` | 可选更新字段:1-名称, 2-封面, 3-简介, 4-推荐问题 |
| 创建文件夹 | `openapi/wiki/v1/create_folder` | `knowledge_base_id`, `name`, `parent_folder_id` | - |
| 重命名文件/文件夹 | `openapi/wiki/v1/rename_knowledge` | `media_id`, `new_name` | - |
| 置顶/取消置顶 | `openapi/wiki/v1/set_knowledge_top` | `media_id`, `is_top` | - |
| 移动文件 | `openapi/wiki/v1/move_knowledge` | `src_kb_id`, `dst_kb_id`, `dst_folder_id`, `infos` | **每次最多 10 个文件** |
| 导入网页链接 | `openapi/wiki/v1/import_urls` | `knowledge_base_id`, `urls[]` | 批量导入 URL |
| 上传文件 | `openapi/wiki/v1/upload_file` | `knowledge_base_id`, `file` | 走 COS 上传流程 |
| 把已有笔记加入知识库 | `openapi/wiki/v1/add_knowledge` | `knowledge_base_id`, `media_id` | 虚拟关联(不改 parent_folder_id) |

### 3.3 权限管理

| 功能 | 端点 | 关键参数 |
|------|------|---------|
| 改知识库权限 | `openapi/wiki/v1/update_knowledge_base_permission` | `knowledge_base_id`, `permission` |
| 加入知识库 | `openapi/wiki/v1/join_knowledge` | `knowledge_base_id` |
| 改文件访问状态 | `openapi/wiki/v1/update_knowledge_access_status` | `media_id`, `access_status` |

### 3.4 标签管理

| 功能 | 端点 | 关键参数 |
|------|------|---------|
| 给文件打标签 | `openapi/wiki/v1/tag_add` | `kb_id`, `item_id`, `item_name`, `tag_name` |
| 从文件移除标签 | `openapi/wiki/v1/tag_rem

references/cases/quantitative-investing.md

# 实战案例:量化投资知识库

> 基于 2026-06-29 至 2026-07-01 在量化投资知识库(kb_id: `I_49nAThDICNno0gyhjl4dU1zUFtkNWv0X7mhlBQID8=`)的试跑总结。

## 1. 知识库概况

| 维度 | 数据 |
|------|------|
| 主题 | 量化投资(因子模型、机器学习、情绪分析等)|
| 资料类型 | PDF、笔记、公众号文章、网页 |
| 初始规模 | 35 个根目录散落文件 |
| 最终规模 | 135 个文件,7 个顶层文件夹 |
| 标签总数 | 244 个 |
| 主题导览 | 7 个 |

## 2. 阶段成果

| 阶段 | 文件数 | 散落文件 | 标签 | 主题导览 |
|------|:------:|:--------:|:----:|:-------:|
| 初始 | 35 | 35 | 0 | 1 |
| 演示后 | 36 | 35 | 20 | 1 |
| 6 导览+30 打标 | 66 | 35 | 264 | 7 |
| 归类后(move_knowledge)| 101 | 0 | 264 | 7 |
| 多层归类后(PDF 单独处理)| 135 | 0 | 264 | 7 |

**关键收获**:
- 35 个根目录文件归类 → 0 散落
- 14 个父文件夹文件移到子文件夹 → 结构清晰
- 所有 244 个标签保留(移动文件前无标签,零风险)

## 3. 最终文件夹结构

```
量化投资/
├── 数据工具与入门/          (AkShare、聚宽、JQData 等)
├── 金融情绪分析/            (情绪温度计、市场情绪等)
├── 因子与资产定价/          (Fama-French、Alpha 因子等)
├── 高频交易与微观结构/      (HFT、订单流等)
├── 交易策略与系统/          (策略设计、回测等)
├── AI 量化与深度学习/       (顶层)
│   ├── 机器学习理论方法/
│   ├── 大模型与智能体/
│   └── 深度学习与预测模型/
└── 主题导览(位于各文件夹)/
    ├── 📖 主题导览:数据工具与入门
    ├── 📖 主题导览:金融情绪分析
    ├── ...
```

**特点**:
- 7 个顶层文件夹
- AI 量化与深度学习含 3 个子文件夹(多层结构)
- 父文件夹放主题导览,子文件夹不需要各自导览

## 4. 关键词映射表

| 关键词模式 | 推荐目标文件夹 |
|-----------|---------------|
| AkShare、BaoStock、OpenClaw、JQData、MooTdx、聚宽、a-stock-data、数据源、入门 | 数据工具与入门 |
| HFT、harris、Athena、净订单、信息差、微观结构、高频 | 高频交易与微观结构 |
| 情绪、a-share-sentiment | 金融情绪分析 |
| Fama-French、因子、融资融券、IF基差、基差、散户、定价、动量、反转、隔夜、华尔街 | 因子与资产定价 |
| Qlib、AI、Claude、智能体、遗传算法、深度学习、神经网络、图神经网络、LLM | AI 量化与深度学习(顶层)|
| 多层 AI 量化子文件夹 | 机器学习理论方法 / 大模型与智能体 / 深度学习与预测模型 |
| 其他(兜底) | 交易策略与系统 |

## 5. 试跑经验教训

### 5.1 `item_name` 必须严格匹配完整标题

完整标题包括扩展名(如 `.pdf`)和括号内容。

```json
// ❌ 简化标题(失败,code=220001)
{"item_name": "金融人工智能:用Python实现AI量化交易"}

// ✅ 完整标题(成功)
{"item_name": "金融人工智能:用Python实现AI量化交易 (伊夫-希尔皮斯科) (z-library.sk, 1lib.sk, z-lib.sk).pdf"}
```

### 5.2 `limit` 参数范围 (0, 50]

最大 50,超过会返回 51 错误。

### 5.3 API 幂等性

`tag_add` 重复打、`tag_remove` 移除不存在的——均直接返回成功。可放心重试和断点续传。

### 5.4 `tag_remove` 完全可逆

`tag_remove` 后文件 `tags` 字段变为 `[]`,不留痕迹。**`tag_delete` 才是不可逆的**。

### 5.5 媒体类型覆盖建议

试跑中覆盖了 PDF/笔记/公众号/网页(4 种)。未覆盖 Word/PPT/Excel/Markdown/视频/图片等。**真实场景使用前**建议覆盖完整 14 种类型。

### 5.6 标签数量预期

文章级标签每篇 3-5 个,128 篇内容的知识库预计产生 384-640 个标签。**标签总数 > 100 时建议人工审查命名规范**。

### 5.7 `add_knowledge` ≠ `move_knowledge`(最关键)

| 操作 | 行为 | parent_folder_id |
|------|------|:----------------:|
| `add_knowledge` | 文件"展示"在文件夹中(虚拟关联)| ❌ 不变 |
| `move_knowledge` | 真正改变 `parent_folder_id` | ✅ 变为目标文件夹 |

**仅调用 `add_knowledge` 不调用 `move`,文件会永远挂在根目录**。

### 5.8 `move_knowledge` 会清空标签

**应对模式**:
1. 移动前备份标签
2. 执行 `move_knowledge`
3. 移动后逐个重新打标

### 5.9 根目录调用 ≠ 知识库全貌

不带 `folder_id` 调 `get_knowledge_list` 会返回**所有项目**(含 7 个文件夹 + 35 个散落文件 + 60 个已分配文件的"虚拟副本")。

**真正判断散落的方法**:比较文件的 `parent_folder_id` 与知识库根目录 ID。

### 5.10 多层文件夹结构诊断

复杂知识库需要**递归扫描**:

```python
for folder in root_folders:
    items = get_knowledge_list(folder_id=folder.id)
    sub_folders = [f for f in items if f.type == 99]
    files = [f for f in items if f.type != 99]
    
    for sub in sub_folders:
        sub_items = get_knowled

references/folder-organization.md

# 文件夹组织(阶段 0 详细)

> 适用于:知识库结构混乱、文件散落在根目录、需要多层结构整理。

## 0.1 三种"文件夹"操作

| 操作 | API | 效果 | 何时使用 |
|------|-----|------|---------|
| **创建文件夹** | `create_folder` | 在知识库根目录建一个新文件夹 | 建立分类骨架 |
| **虚拟归类** | `add_knowledge` | 让文件"看起来"在文件夹中(**parent_folder_id 不变**)| 临时展示 |
| **物理归类** | `move_knowledge` | 真正修改 `parent_folder_id` 为目标文件夹 | 真正整理 |

**关键警告**:
- `add_knowledge` 创建的是"虚拟关联",**不改变 `parent_folder_id`**
- 仅用 `add_knowledge` 而不调用 `move_knowledge`,文件永远挂在根目录
- 根目录调用 `get_knowledge_list` 会返回所有文件(包括已"虚拟关联"的),但这不代表它们真正归属于文件夹

## 0.2 诊断流程

### 步骤 1:拉取知识库根目录

```bash
curl -s -X POST "https://ima.qq.com/openapi/wiki/v1/get_knowledge_list" \
  -H "ima-openapi-clientid: $IMA_OPENAPI_CLIENTID" \
  -H "ima-openapi-apikey: $IMA_OPENAPI_APIKEY" \
  -H "Content-Type: application/json" \
  -d '{"knowledge_base_id": "<kb_id>", "limit": 50}'
```

### 步骤 2:识别散落文件

```python
ROOT_FOLDER_ID = "<知识库根目录 ID>"  # 通常通过 get_knowledge_base 获取

orphans = [f for f in root_items
           if f.get("media_type") != 99
           and f.get("parent_folder_id") == ROOT_FOLDER_ID]
```

### 步骤 3:递归扫描文件夹层级

对每个文件夹调用 `get_knowledge_list(folder_id=...)`,记录:
- 子文件夹(`media_type == 99`)
- 文件数
- 每个文件的 `parent_folder_id` 是否等于当前 `folder_id`

### 步骤 4:分类汇总

| 状态 | 含义 | 处理方式 |
|------|------|---------|
| 文件 `parent_folder_id` 是根目录 | 真正散落 | 用 `move_knowledge` 归类 |
| 文件 `parent_folder_id` 是文件夹 ID | 已归类 | 仅检查是否需要打标签 |
| 文件仅在根目录返回但 parent 是文件夹 | 虚拟关联 | 已正确处理 |

## 0.3 诊断输出模板

```markdown
## 知识库结构诊断报告

### 顶层文件夹
| 文件夹 | 文件数 | 含子文件夹 |
|--------|:------:|:----------:|
| ... | ... | ... |

### 散落文件
- 共 X 个文件 `parent_folder_id` 是根目录
- 列出每个文件的标题和推荐目标文件夹

### 多层结构
- AI 量化与深度学习/
  - 机器学习理论方法/(Y 个文件)
  - 大模型与智能体/(Y 个文件)
  - ...

### 处理建议
- 散落文件:调用 `move_knowledge` 归类
- 多层结构:导览放父级,子文件夹不需要各自导览
```

## 0.4 归类流程

### 步骤 1:列出待归类文件

```python
# 从诊断报告中获取散落文件
orphans = [(f["media_id"], f["title"]) for f in orphan_files]
```

### 步骤 2:推荐目标文件夹

关键词匹配模式(参考实战案例):

| 关键词模式 | 推荐目标文件夹 |
|-----------|---------------|
| AkShare、BaoStock、OpenClaw、JQData、MooTdx、聚宽、a-stock-data、数据源、入门 | 数据工具与入门 |
| HFT、harris、Athena、净订单、信息差、微观结构、高频 | 高频交易与微观结构 |
| 情绪、a-share-sentiment | 金融情绪分析 |
| Fama-French、因子、融资融券、IF基差、基差、散户、定价、动量、反转、隔夜、华尔街 | 因子与资产定价 |
| Qlib、AI、Claude、智能体、遗传算法、深度学习、神经网络、图神经网络、LLM | AI 量化与深度学习(顶层)|
| 多层 AI 量化子文件夹 | 机器学习理论方法 / 大模型与智能体 / 深度学习与预测模型 |
| 其他(兜底) | 交易策略与系统 |

> 关键词表针对量化投资领域;其他领域需重新设计。

### 步骤 3:批量调用 `move_knowledge`

```bash
# 移动到目标文件夹(src_kb_id == dst_kb_id 表示知识库内移动)
curl -s -X POST "https://ima.qq.com/openapi/wiki/v1/move_knowledge" \
  -H "ima-openapi-clientid: $IMA_OPENAPI_CLIENTID" \
  -H "ima-openapi-apikey: $IMA_OPENAPI_APIKEY" \
  -H "Content-Type: application/json" \
  -d '{
    "src_knowledge_base_id": "<kb_id>",
    "dst_knowledge_base_id": "<kb_id>",
    "dst_folder_id": "<target_folder_id>",
    "dst_folder_name": "<target_folder_name>",
    "infos": [{"media_id": "<file1_media_id>"}, {"media_id": "<file2_media_id>"}]
  }'
```

**注意**:每次最多 10 个文件,分批调用。

### ⚠️ `move_knowledge` 的副作用

| 副作用 | 说明 |
|--------
Github ReposUpdated 19h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/cookfish1979/skills/wiki-compiler",
      "sourceUrl": "https://clawhub.ai/cookfish1979/skills/wiki-compiler",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T11:55:50.613Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-cookfish1979-wiki-compiler/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-cookfish1979-wiki-compiler/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T11:55:50.613Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.4K downloads",
      "href": "https://clawhub.ai/cookfish1979/wiki-compiler",
      "sourceUrl": "https://clawhub.ai/cookfish1979/wiki-compiler",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T11:55:50.613Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "5.0.2",
      "href": "https://clawhub.ai/cookfish1979/wiki-compiler",
      "sourceUrl": "https://clawhub.ai/cookfish1979/wiki-compiler",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-28T11:57:15.214Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-cookfish1979-wiki-compiler/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-cookfish1979-wiki-compiler/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 5.0.2",
      "description": "v5.0.2 patch:Cascade 算法修正为 IMA 实际可实现版 【核心修正】 v5.0.0/v5.0.1 的 Cascade 算法假设可以修改 frontmatter,但 IMA 平台不允许。本次修正: 之前(不可行): - 用 append_doc 修改导览的 frontmatter(version/changelog/updated) - 用 update_note 修改 frontmatter - 删除旧版本(API 不支持) 现在(实际可实现): - 每次 Cascade = 创建新 note_id(import_doc) - 旧笔记保留为历史版本 - 用 append_doc 在旧笔记末尾追加'已被替代'标记 【算法变化】 - 相关性计算:纯 API Jaccard 算法(不再依赖 LLM 评分) - 用户确认:必选(不再自动执行,避免误更新) - 数量限制:最多 3 个导览/次 【IMA 限制明确化】 - frontmatter 是'创建时设定',不可后续修改 - delete_note API 不支持 - 优势:版本历史天然保留,符合 Karpathy 'git 提交'哲学 详见 references/ingest.md 第 7 节完整可工作代码",
      "href": "https://clawhub.ai/cookfish1979/wiki-compiler",
      "sourceUrl": "https://clawhub.ai/cookfish1979/wiki-compiler",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-28T11:57:15.214Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to 知识库 Wiki 编译器 and adjacent AI workflows.