> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrmagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 위키 기술 자료

> 설정 트리 UI, 하이브리드 검색, 채팅에서 원클릭 저장을 통해 구조화된 지식을 관리하세요.

# 위키 기술 자료

Myrm에는 에이전트가 해석할 마크다운 기술 더미가 아니라 \*\*컴파일된 지식 베이스(Wiki)\*\*가 포함되어 있습니다. 전용 엔진은 컴파일, 색인, 검색, 검토 및 유지 관리를 처리합니다. 동일한 워크플로가 **로컬 WebUI**, **Tauri 데스크톱** 및 **SaaS 클라우드**에서 작동합니다.

## 위키 지식 기반

에이전트가 해석할 마크다운 기술이 아닌 **컴파일러 엔진**으로 구조화된 지식을 구축하세요. 동일한 워크플로가 **로컬 WebUI**, **Tauri 데스크톱** 및 **SaaS 클라우드**에서 실행됩니다.

## 소비 루프

Myrm은 **12개의 코드 수준 경로**를 통해 Wiki를 에이전트에 연결합니다(OpenWiki와 같은 수동 AGENTS.md 없음).

* 에이전트 프로필에서 Wiki가 활성화되면 **4개의 도구가 자동으로 마운트됩니다**(수집/컴파일/쿼리/유지 관리).
* **대형 업로드 힌트** wiki\_ingest → wiki\_query 지침을 삽입하여 PDF가 채팅 컨텍스트에 붙여넣어지지 않도록 합니다.
* **Deep Research 볼트**는 공유 아카이버를 통해 동일한 Wiki 볼트에 보고서를 작성하고 컴파일을 트리거합니다.
* 출처가 포함된 모든 보조 메시지를 **위키에 저장**하세요.
* **압축 후 세션 노트** — 컨텍스트가 압축되면 세션 노트가 자동으로 Wiki에 보관됩니다(요약 지속 후, 모든 노트 저장이 아님).
* 임시 쿼리, 컴파일, 유지 관리 및 상태 배지 저장을 위한 **설정 개요 탭**입니다.

## 메모리 → Wiki 자동 브리지

에이전트 프로필에서 **Wiki가 활성화**되면 4개의 자동 수신 경로가 \*\*`publish_raw`\*\*를 통해 동일한 저장소에 위치합니다(로드맵 #16 - 별도의 토글 아님).

| Source                     | When                          | What happens                                                       |
| -------------------------- | ----------------------------- | ------------------------------------------------------------------ |
| **Deep Research**          | Research lane completes       | Report archived to vault → security scan → compile queue           |
| **Turn digest**            | SkillAgent end-of-turn review | High-signal digest published with `PUT_IF_ABSENT`                  |
| **Consolidation insights** | Memory consolidation callback | Structured insights bridged after dedup/subsumption                |
| **Session notes**          | Post-compaction archive       | Session notes archived after summary persist (not every note save) |

**보안 및 게이트:** 모든 경로는 **#15 아카이브 보안**(자격 증명 차단/수정) 및 **#14 원시 게이트**(안정적인 경로에서 자동 덮어쓰기 없음)를 실행합니다. 에이전트 수준 \*\*`enable_wiki`\*\*은 마스터 스위치이며 소스별 설정 토글이 없습니다.

**호출 방향:** Wiki와 메모리가 모두 활성화되면 Wiki 콘텐츠는 \*\*`knowledge_recall_tool(corpus=wiki|all)`\*\*을 통해 채팅으로 끌어옵니다. OpenClaw 스타일 다이제스트 삽입처럼 모든 차례에 푸시되지는 않습니다.

**테스트:** pytest 대상 37개(하네스 18 + 서버 19, 2026년 7월).

## Wiki 대 메모리 쓰기 경계

**Wiki와 Memory**가 모두 활성화되면 Myrm는 컴팩트 메모리 저장소에 장기 지식을 보관합니다.

| Path                                    | Guard                                                                 | User effect                                           |
| --------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------- |
| Agent **`memory_save_tool`**            | Hard reject document-like knowledge/event (>800 chars or ≥3 headings) | Agent is told to use **`wiki_ingest_tool`** instead   |
| **End-of-turn auto-extract**            | Same heuristics at persist time + extraction prompt skip              | Long article summaries do not pollute semantic memory |
| **Save to Wiki** / **External Sources** | Product paths for long content                                        | Gmail/Drive/RSS/chat → vault raw → optional compile   |

**대 Hermes:** **2,200자 제한이 있는 플랫 MEMORY.md** — 컴파일된 위키 볼트 또는 통합 `corpus=all` 검색이 없습니다.

**테스트:** 25개 대상 pytest(Harness wiki 경계 모듈, 2026년 7월).

## Karpathy 인지 지도 트리오(인덱스/로그/핫) + SCHEMA

컴파일, 유지 관리, 가져오기 또는 사람의 검토 후 엔진은 **결정론적으로** 볼트 루트 방향 파일을 유지 관리합니다(추가 비용 LLM 없음).

| File          | Role                                                                                | User benefit                                                                                 |
| ------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| **index.md**  | Concept catalog grouped by page `type`; summaries prefer L0 `.abstract.md` sidecars | Browse in Obsidian or any editor; migrated users see a structured vault                      |
| **log.md**    | Human-readable audit trail, newest first                                            | Trace when compile/import/approve happened                                                   |
| **hot.md**    | Recent ops, pending compile queue, review hints                                     | Settings query and `wiki_query` honestly surface vault status when FTS finds no match        |
| **SCHEMA.md** | OKF page-type contract + vault conventions (auto-written)                           | New preset vaults ship with a readable schema guide; no manual Hermes-style SCHEMA authoring |

**쿼리 방향(W36):** FTS가 직접 일치하는 항목을 찾지 못한 경우 0-LLM 위키 쿼리 접두사에는 **최근 볼트 컨텍스트**(`hot.md`) 및 **최근 활동 로그**(`log.md`, 제한됨)가 모두 포함됩니다. 따라서 답변은 에이전트 글로벌 시스템 프롬프트에 방향을 삽입하지 않고 최근에 변경된 내용을 반영합니다.

**컴파일 인덱스 시드(#32):** LLM 개념 추출 중에 컴파일러는 `index.md`의 기존 카탈로그를 삽입하므로 새 페이지는 중복을 생성하는 대신 설정된 개념 이름을 재사용합니다.

**경쟁사와의 정직한 차별화:**

* **Molio보다 강력함**: 핫/로그는 Wiki 쿼리 경로에서만 사용됩니다. — 에이전트 전역 시스템 프롬프트에 삽입되지 **않습니다** → 더 안전한 프롬프트 캐시
* **해마보다 강력함**: 세션별 핫 주입이 아닌 이벤트 기반 새로 고침
* **Hermes llm-wiki보다 강력함**: 자동 SCHEMA + cron 유지 + 쿼리 로그 방향 — Hermes에서는 수동 SKILL 린트 및 로그 검색이 필요합니다.
* **의도적이지 않음**: Molio 스타일 LLM 핫 재작성(토큰/환각 비용); 글로벌 미들웨어 핫(캐시 중단); Hermes SCHEMA의 전체 태그 분류(GUI 첫 번째 사용자의 경우 낮은 ROI)

설정 **개요**는 트리오 준비 상태 통계를 자동 로드합니다. CLI가 필요하지 않습니다.

## 통합된 볼트 경로

모든 Wiki 데이터는 작업공간당 **단일 볼트 디렉토리**에 있습니다. 설정, REST API, 에이전트 도구, Wiki에 저장, Deep Research 및 압축 아카이브는 동일한 경로를 공유합니다. 시작 시 레거시 경로가 자동으로 마이그레이션됩니다.

**설정 → 위키 → 개요**에서 페이지를 열 때 통계가 로드되고 다음이 표시됩니다.

* **Vault 준비됨** — Wiki 디렉토리가 존재하며 쓰기 가능합니다.
* **기존 마이그레이션** — 이전 Vault 위치가 현재 경로에 병합되었습니다.
* **지식 카탈로그/활동 로그/최근 컨텍스트** — Karpathy 스타일 트리오(`index.md`, `log.md`, `hot.md`)가 컴파일, 가져오기 또는 검토 작업 후에 빌드되고 새로 만들어졌는지 여부입니다.

이는 임시 CLI "의사" 검사를 제품 내 상태 가시성으로 대체합니다.

## 프로젝트 볼트(파일 중심 SSOT)와 Wiki 가져오기 비교

**두 가지 경로 - 귀하의 워크플로에 맞는 경로를 선택하세요.**

| Goal                                                          | Use                                                                                          | User benefit                                                                     |
| ------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| Keep editing in Obsidian/Typora/VSCode on **your disk**       | **Settings → Projects → Mount sync folder** (or Migration Result bind after OpenClaw import) | Agent reads/writes the **same files** you edit; Files tab auto-refreshes via SSE |
| Copy notes into Myrm’s **compiled Wiki DB** for hybrid search | **Settings → Wiki → Import Obsidian/ZIP**                                                    | Great for search/compile/HITL review — **not** a live sync mirror                |

경쟁사 마이그레이션 후 **마이그레이션 결과 저장소 바인드 카드**를 사용하면 첫 번째 채팅이 이미 실제 저장소를 가리키므로 수동 프로젝트 설정이 필요하지 않습니다.

채팅별 **작업 범위**(프로젝트 생성 없음): 메시지 작성기(`WorkspaceDirPicker`)의 **폴더 아이콘**을 사용하여 이 대화에 대한 디렉터리를 바인딩합니다.

## 에이전트별 위키 범위

각 에이전트는 **자체적인 위키 저장소**를 가질 수 있습니다. **설정 → Wiki**에서 **에이전트 범위** 드롭다운을 사용하거나 에이전트 배너에서 `/settings/wiki?agentId=<agent-id>`을 엽니다. 통계, 컴파일, 유지 관리 및 가져오기는 선택한 에이전트에만 적용됩니다.

아티팩트 **Wiki에 저장** 및 채팅 바인딩 수집은 **현재 채팅의 에이전트 ID**를 사용하므로 문서가 실수로 기본 저장소에 저장되지 않습니다.

**정직한 경계(에이전트 범위 SSOT v2가 출시될 때까지):** **큐** 탭 및 수집 SSE은 선택한 에이전트를 즉시 따릅니다. **보류 중** 또는 **개념** 상태에 있는 동안 에이전트를 전환하는 경우 범위 다시 로드가 완전히 연결될 때까지 페이지를 다시 로드하거나 탭을 전환하세요. 잘못된 저장소에 대한 초안을 승인하면 다음 범위 강화 릴리스에서 종료될 위험이 있습니다.

## 통합 메모리 + 위키 리콜

에이전트 프로필에서 **Wiki와 Memory**가 모두 활성화되면 Myrm은 `corpus=all`을 사용하여 통합된 \*\*`knowledge_recall_tool`\*\*을 마운트합니다. 한 번의 도구 호출로 장기 메모리와 에이전트 Wiki를 함께 검색합니다. 메모리 적중은 UI에 대한 **인용된 메모리 ID**를 방출합니다. 위키 조회수는 도구 결과 텍스트에 나타납니다.

기본 에이전트 프로필에는 메모리가 포함됩니다. 통합 경로를 얻으려면 **에이전트 구성 → 내장 도구**에서 Wiki를 활성화하세요.

## 메모리 인용 버튼(다시 로드 가능)

에이전트가 의미/에피소드 기억을 회상하면 완료된 어시스턴트 메시지의 작업 표시줄에 **Memory N** 버튼이 표시됩니다. 시트를 열어 어떤 기억이 답변에 영향을 미쳤는지 살펴보세요(유형, 점수, 네임스페이스, 소스 채팅으로의 링크).

인용은 **데이터베이스에 유지**되며 **페이지 새로고침** 후에도 유지됩니다. 이는 SSE 전용 임시 상태가 아닙니다.

## 위키 설정 열기

1. \*\*설정 → Wiki 知识库(Wiki)\*\*로 이동합니다.
2. 탭을 사용하십시오.
   * **개요** — 목적, 통계, 컴파일/유지 작업, 임시 쿼리.
   * **개념(词条管리)** — 폴더 트리, CRUD, 드래그 앤 드롭.
   * **보류 중인 편집** — 인간이 직접 참여하여 LLM 초안을 승인/거부합니다.
   * **큐** — 문서 수집 파이프라인 상태입니다.

## 라이브 컴파일 가시성(설정 열기)

브라우저 또는 데스크톱 앱에서 **설정 → Wiki**가 열려 있는 경우:

| Surface                         | What updates live                                                                                                                                                                                                                                                           | User benefit                                                                                                                      |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Queue tab**                   | SSE stream (`GET /wiki/ingest/stream`) pushes queue counts + compile circuit state (\~5s). **Compile phase bar** shows structure survey → semantic compile → post-process (facet count / fast-path label when applicable). Failed-item list auto-resyncs if counts diverge. | See batch progress without clicking Refresh; API key expiry shows an amber pause banner with resume.                              |
| **Overview compile actions**    | Same SSE `compile_run.phase` drives a shared phase bar above Compile/Maintain while bulk ingest runs.                                                                                                                                                                       | Primary compile path shows progress without switching to Queue tab.                                                               |
| **Overview → Raw sources tree** | Ingest status dots refresh during bulk compile (`tree_sync_required` → silent `GET /wiki/raw/tree`).                                                                                                                                                                        | Gray/green/amber dots track "not compiled / clean / modified" while files are still processing.                                   |
| **Concepts tab tree**           | Same signal triggers concept-tree reload when that tab is mounted.                                                                                                                                                                                                          | Amber dots on concepts with stale sources update as compile finishes.                                                             |
| **Agent-edited concepts**       | The tree fingerprint now also covers compiled `concepts/` pages (mtime+size, no content read). When the agent edits a concept via `wiki_apply` (or any write path), the \~5s SSE poll detects the change and auto-refreshes the tree/detail — no manual Refresh.            | See agent's knowledge edits appear in the GUI automatically, even when the change came from the agent rather than a bulk compile. |

<Note>
  실시간 업데이트를 위해서는 설정 위키 페이지가 열려 있어야 합니다(EventSource 구독). 설정 닫기가 SSE 중지됩니다. 이는 백그라운드 데몬이 아닌 의도적인 GUI 범위 가시성입니다. CLI 전용 또는 파일 트리 전용 위키(Hermes SKILL, OpenClaw 마크다운 폴더)를 사용하는 경쟁업체는 동등한 대기열 패널 + 라이브 수집 배지를 제공하지 않습니다.
</Note>

## 외부 소스 동기화(설정 개요)

**설정 → 위키 → 개요 → 외부 소스**는 일정에 따라 또는 요청 시 저장된 메일과 피드를 `wiki/raw/`로 가져옵니다.

| Source                  | What you configure                                                                        | What happens                                                        |
| ----------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| **Gmail label**         | Connect Google in Integrations; enable Gmail sync; type the label name (case-insensitive) | Messages under that label become Markdown under `wiki/raw/gmail/`   |
| **Google Drive folder** | Connect Google in Integrations; enable Drive sync; paste folder ID (`root` = My Drive)    | Docs/Sheets/Slides/PDFs export to Markdown under `wiki/raw/gdrive/` |
| **RSS**                 | One URL per line                                                                          | Entries land under `wiki/raw/rss/`                                  |
| **Integration mirror**  | Toggle on when integrations sync                                                          | New integration items can mirror into raw                           |

**제로-LLM 풀:** Gmail/RSS를 가져오더라도 채팅 모델을 호출하지 **않습니다**. 선택사항 **동기화 후 자동 컴파일**은 모델이 구성된 경우에만 LLM을 사용합니다.

**Cron:** **나중에 읽기 수집** 청사진은 매일 실행됩니다(주로 Second Brain 사전 설정을 통해 **Wiki 아침 델타** 및 **Wiki 유지관리**와 쌍을 이룸). 라우터 작업 `__wiki_source_sync__` 및 `__wiki_maintain__:{structural|full}`은 **에이전트 도구 없이** 서버 측에서 실행됩니다. 즉, 안전하고 결정적인 자동화입니다.

**관찰 가능성:** 마지막 동기화 시간, 게시/건너뛰기/실패 횟수 및 첫 번째 오류 줄(예: `Gmail label not found`)이 카드에 표시됩니다.

<Note>
  **정직한 경계:** Gmail 라벨과 드라이브 폴더 ID는 수동으로 입력됩니다. 라벨 드롭다운이나 드라이브 선택 도구가 없습니다. Gmail에서 일치하는 라벨을 만듭니다(기본 사전 설정은 `ReadLater`을 사용함). Google이 연결되어 있지만 드라이브 읽기 범위가 누락된 경우 카드에 **다시 연결 힌트**(`google_drive_authorized: false`)가 표시됩니다. **OneDrive는 지원되지 않습니다**(Microsoft OAuth 인프라 없음). 잘못된 구성은 자동으로 무시되지 않고 동기화 시 표시됩니다.
</Note>

**테스트(2026년 7월 30일):** gdrive 3 + gmail/rss/status/oauth 12 + state/config/defaults/blueprint/hygiene/second\_brain 15 + gmail\_html 2 = **32 pytest 통과** (Gmail/Drive API 모의; 이번 라운드에는 Chrome 없음 MCP).

## 컴파일 시 진화 합성(CCSP)

**위키 컴파일** 시, 2.5단계에서는 일반 기사 생성 후 **컴파일 시간 모순 합성 단계**를 실행합니다.

| Step                        | What happens                                                                                              | User benefit                                                                            |
| --------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| **Pairing (zero LLM)**      | Related concepts and shared slugs are paired                                                              | No extra token cost for obvious candidates                                              |
| **Detection (LLM, capped)** | Up to 3 high-confidence cross-concept factual conflicts per compile                                       | Surfaces "these two pages disagree" without you reading every note                      |
| **Staging (HITL)**          | Draft evolution pages land in **Pending edits** — not auto-published                                      | You choose priority before anything hits the vault (stronger than auto-write tutorials) |
| **Approve → backlinks**     | Both linked concepts get a Timeline entry pointing at `Comparisons/.../Evolution`                         | Trace conflicts from either side in Obsidian or the tree GUI                            |
| **Overview badge**          | Violet count on Overview when synthesis drafts exist; click → Pending with **Evolution synthesis** filter | No need to hunt the Pending tab after every compile                                     |

**실시간 카운트:** SSE을 수집하면 `synthesis_pending_count`이 노출됩니다. 설정 → Wiki가 열려 있으면 전체 페이지를 다시 로드하지 않고도 개요가 새로 고쳐집니다.

**정직한 차별화 대 OpenClaw:** OpenClaw은 `reports/contradictions.md`을 작성하고 CLI 후속 조치를 기대합니다. Myrm은 **설정 보류 중 + GUI 필터 + 양방향 타임라인 링크**에서 동일한 인텔리전스를 유지합니다. Article 8 스타일의 "어떤 정의가 승리할지 결정" 워크플로우에 더 적합합니다.

**정직한 경계:** 교차 개념에만 해당됩니다(동일 배치 이름 병합은 ​​건너뜁니다). 이는 별도의 Memory **ConferenceCard** 알림 경로가 아닌 Wiki 컴파일 합성입니다.

**테스트(2026-07-29):** 하네스 8(`test_contradiction_synthesis`) + 12(`test_linter_extended`) + 서버 2(통계/보류 API) = **22 통과**. 브라우저 MCP E2E는 이번 라운드를 실행하지 않습니다.

## 트리에서 개념 관리

**개념**에서:

* **새 폴더** — 선택적 상위 폴더(루트 또는 중첩)를 선택한 다음 폴더 이름을 지정합니다.
* **이름 바꾸기/삭제** — 행에 마우스를 올려 놓습니다. delete는 전체 경로와 내부 항목이 제거될 수 있는 항목 수를 표시합니다.
* **끌어서 놓기** — 상위 간에 폴더나 개념을 이동합니다(링크 참조는 서버측에서 업데이트됩니다).
* **세부정보 패널** — 개념을 선택하여 풍부한 렌더링 콘텐츠(인어 다이어그램, KaTeX 수학, GFM 테이블, 구문 강조 코드 블록 및 다크 모드)를 보거나 원시 Markdown 편집으로 전환합니다.
* **4개 탭 편집기(편집)** — `POST /wiki/apply`을 통한 좁은 쓰기(전체 페이지 PUT 아님):
  * **컴파일된 진실** — `## Compiled Truth` 섹션만 패치하세요.
  * **타임라인** — 추가 전용 항목입니다. 중복된 줄은 토스트와 함께 건너뜁니다.
  * **메타데이터** — 머리말의 태그와 별칭을 바꿉니다(설정 경로, 에이전트 병합은 다른 호출자 게이트를 사용함).
  * **고급** — 전체 페이지 교체; **설정 전용**(`caller=settings`). 상담원과 채팅은 이 작업을 사용할 수 없습니다.

저장할 때마다 **임대**(`if_match` = 마지막으로 알려진 `content_hash`) 페이지가 전송됩니다. 다른 탭이나 클라이언트가 페이지를 먼저 변경한 경우 **페이지 충돌** 알림이 표시됩니다. 다시 로드하고 다시 시도하세요.

## 제어된 쓰기 표면(`POST /wiki/apply`)

모든 위키 변형은 하나의 REST 엔드포인트인 **`POST /wiki/apply?caller=`** (`settings` | `agent` | `chat`)를 통과합니다.

| Operation               | Who                                | What it does                                               |
| ----------------------- | ---------------------------------- | ---------------------------------------------------------- |
| `create_note`           | Save to Wiki, Agent (opt-in)       | New concept with managed sections + provenance frontmatter |
| `update_metadata`       | Settings Metadata tab; Agent merge | Tags / aliases / sources / claims                          |
| `patch_compiled_truth`  | Settings Truth tab                 | Replace Compiled Truth block only                          |
| `append_timeline`       | Settings Timeline tab              | Append-only Timeline with dedup guard                      |
| `replace_full_document` | Settings Advanced tab only         | Full page replace — **403** for agent/chat callers         |

**쓰기 시간 중복 제거:** `canonical_id` 및 별칭 인덱스는 생성 시 거의 중복된 페이지를 거부합니다(HTTP 409 `canonical_conflict`). Wiki에 저장은 동일한 주제에 대한 메모가 이미 존재하는 경우 친근한 알림을 표시합니다.

**정직한 경계:** 상담원 `wiki_apply_tool`은 여전히 ​​CSV 스타일 매개변수를 사용하며 `if_match`을 자동 전송하지 않습니다. 설정 GUI 및 Wiki에 저장 경로가 완료되었습니다.

## 원시 증거 레이어 게이트(가져오기 및 수집)

`wiki/raw/`에 대한 안정 경로 쓰기는 개념 계층 `POST /wiki/apply`(#12+#13)를 보완하는 하네스 **`publish_raw`** 게이트를 통과합니다.

| Scenario                              | Default behavior                                                       | User benefit                                                     |
| ------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **Re-import** Folder / ZIP / Obsidian | Skip files that already exist with **different** content               | Your curated raw notes are not silently overwritten              |
| **Conflict dialog**                   | Lists skipped paths; optional **Supersede all** with a required reason | Explicit decision in GUI — no filesystem detective work          |
| **Audit trail**                       | Supersede events append to **`wiki/log.md`**                           | Trace why a raw source was replaced                              |
| **Agent ingest**                      | `wiki_ingest` with `caller=agent`                                      | High-confidence prompt injection is **blocked** before raw write |
| **Unchanged files**                   | Same content hash → skip without re-compile                            | Saves LLM compile cost on repeat imports                         |

**정직한 경계:** 타임스탬프/uuid 원시 경로(연구 덤프, 아티팩트 수집, 세션 아카이브)는 의도적으로 공개되지 않으며 안정적인 경로 충돌이 없습니다. 전용 원시 감사 패널은 없습니다. `wiki/log.md`을 읽거나 개요 통계를 사용하세요.

## 아카이브 보안 거버넌스(민감한 콘텐츠)

모든 내구성 있는 Wiki 쓰기는 하네스 지속성 검사 SSOT(`core/security/persistence/content_scan.py`)를 공유합니다.

| Stage                                 | Gate                                                   | User benefit                                                                                      |
| ------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| **Import / ingest / session archive** | `publish_raw` pre-scan (`WIKI_RAW`)                    | API keys and credential-shaped text are **blocked** or **redacted** before landing in `wiki/raw/` |
| **编译发布**                              | `publish_concept_article`（`WIKI_PUBLISH`）              | 不可脱敏凭证不会静默成为 canonical 页                                                                          |
| **Settings import feedback**          | `WikiImportSecurityDialog`                             | Lists blocked/redacted paths after folder/ZIP/Obsidian import — no silent drops                   |
| **Forget evidence**                   | Overview raw tree → reason → `DELETE /wiki/raw/{path}` | Remove mistaken imports; dependent compiled pages are re-anchored; event logged to `wiki/log.md`  |
| **Maintenance**                       | `wiki_maintain` scans existing raw vault               | Catches legacy files; **blocked credentials are removed** from disk (not count-only)              |

**정직한 경계:** 아직 보안 통계 대시보드가 ​​없습니다. 설정/채팅 가져오기 주입은 경고 전용입니다. **에이전트 `wiki_ingest`은 신뢰도가 높은 주입을 차단합니다**. 에이전트 차단 경로는 설정 대화 상자가 아닌 도구 오류로 표시됩니다.

## 원시 코퍼스 중복 제거 거버넌스(#7)

가져오기 또는 대량 수집 후 Myrm은 SQLite(`.raw_dedup.db`)에 저장된 **3계층 지문**을 사용하여 `wiki/raw/`에서 중복 증거를 검색합니다.

| Tier                | Match                      | Typical cause                          |
| ------------------- | -------------------------- | -------------------------------------- |
| **exact**           | SHA256 of raw bytes        | Same file re-imported                  |
| **normalized**      | Whitespace-normalized hash | Copy-paste with different line endings |
| **near** (optional) | Title/filename similarity  | Multiple exports of the same article   |

**설정 → Wiki → 중복 검토**에는 계층 배지, 나란히 있는 diff 스니펫 및 그룹 작업이 포함된 공개 그룹이 나열됩니다.

* **휴지통 / 제외 / 연기 / 해제** — 감사 기록을 잃지 않고 중복 문제 해결
* **Vault 위생 복원** — 원시 증거가 이동하면 편집된 페이지를 다시 연결합니다.

**컴파일 하드 게이트:** **정확한** 또는 **정규화된** 그룹이 여전히 열려 있는 경우 컴파일은 **409**를 반환합니다. LLM 컴파일이 실행되기 전에 중복 문제를 해결합니다.

**자동화:** 가져오기 후 검사가 자동으로 실행됩니다. 예약된 위생을 위한 선택적 Cron 청사진 `wiki_dedup`.

**테스트:** 67개 대상 pytest(Harness corpus\_dedup 27 + Server dedup\_runner/API 40) + Chrome E2E(시드 고정 장치 → 중복 검토 탭 → 정확한 그룹 패널).

**정직한 경계:** 대규모로 가까운 계층 LSH가 없습니다. 해제는 영구적입니다(실행 취소 불가). Turn1에는 에이전트 관련 중복 제거 도구가 없습니다.

**경쟁업체 대비:** Hermes llm-wiki / OpenClaw / deer-flow / LobsterAI / CoPaw / jiuwenclaw — 원시 레이어 3계층 중복 제거 + GUI 검토 + 컴파일 게이트 루프 없음; Obsidian 플러그인은 로컬에서 중복을 감지하지만 Agent Vault 컴파일과 통합되지 않습니다.

<Note>
  Wiki 파일은 디스크에 일반 마크다운으로 유지됩니다. Obsidian과 다른 편집자는 동일한 저장소를 열 수 있습니다. Myrm은(는) 색인 생성, 검색 및 GUI 관리를 맨 위에 추가합니다.
</Note>

## @wiki와의 채팅에서 Wiki 참조:

실시간 자동 완성으로 Wiki 개념을 검색하려면 채팅 입력에 `@wiki:`을 입력하세요. 컴파일된 컨텐츠를 현재 메시지의 컨텍스트로 삽입할 개념을 선택하십시오.

* **`@wiki:keyword`** — 드롭다운을 필터링하여 일치하는 Wiki 개념만 표시합니다(개념 이름의 퍼지 일치).
* **개념 선택** — 입력은 `@staged` 또는 `@diff`처럼 제거 가능한 알약 태그가 있는 `@wiki:ConceptName`이 됩니다.
* \*\*에이전트는 `<mentioned_files>` XML 블록의 개념 콘텐츠를 수신하여 지식 기반에 대한 답변을 기반으로 합니다.
* **참조 결합** — `@wiki:ProjectArchitecture @staged`는 위키 기사와 Git이 준비한 변경 사항을 모두 하나의 메시지로 보냅니다.
* **일반 `@` 검색** — `@keyword`(`wiki:` 접두사 없이)을 입력하면 에이전트, Wiki 개념 및 업로드된 파일의 혼합 목록이 표시됩니다.

이를 통해 자동 검색이나 프롬프트 엔지니어링에 의존하지 않고 에이전트가 사용하는 지식을 메시지별로 명시적으로 제어할 수 있습니다.

## 채팅 메시지를 Wiki에 저장

**완성된 보조 메시지**에서 메시지 작업 표시줄의 **위키에 합성**(책 아이콘)을 사용하세요.

1. 트리 선택기에서 파일 이름과 선택적 대상 폴더를 선택합니다.
2. 확인 — 클라이언트는 `source_chat` 및 `source_message` ID만 보냅니다. 서버는 데이터베이스에서 Q\&A 및 신뢰 신호를 로드합니다(클라이언트 제공 본문 없음).
3. 초안은 사람의 검토를 위해 **설정 → Wiki → 보류 중인 편집**에 저장됩니다. Vault에 직접 게시되지는 **않습니다**.
4. 준비되면 승인합니다. 답변이 추측에 불과한 경우 거부하거나 인라인으로 편집하세요. 동일한 메시지의 중복 스테이징은 보류 중인 열기 링크와 함께 **409**를 반환합니다.
5. **시크릿 채팅**은 버튼을 숨기고 API을 통해 호출되면 **403**을 반환합니다.

확인되지 않은 답변에는 보류 중인 초안에 적용 범위 면책 조항이 포함됩니다. 채팅 발신자는 직접 `create_note`(HTTP **403**)을 사용하여 이 경로를 우회할 수 없습니다.

## 페이지 유형 계약(머리말 `type`)

모든 위키 페이지는 YAML 서문에서 **페이지 유형**을 선언해야 합니다. 이는 단지 프롬프트 제안이 아니라 컴파일 타임, 편집 승인 보류 시, 린터에 의해 시행됩니다.

**허용되는 값:** `source`, `entity`, `concept`, `comparison`, `overview`, `question`, `session`(Google OKF 호환 하위 집합)

| When                  | What happens                                                                                                |
| --------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Compile**           | LLM output passes through a compile gate; missing `type` defaults to `concept`, invalid values are rejected |
| **Pending approve**   | Approve returns **422** if frontmatter is invalid; the UI shows a friendly error                            |
| **Maintain / Linter** | Auto-detects missing or invalid `type` and can repair on maintain                                           |
| **Repair Page Types** | Settings → Wiki → **Repair Page Types** scans the vault and infers types for legacy notes                   |
| **Obsidian import**   | Types are inferred from path/content heuristics; writeback preserves `type`, `sources`, and `provenance`    |

**정직한 경계:** 보류 중인 채팅 화합물에는 초안 미리보기에 전체 Q\&A가 포함됩니다. Vault에 게시하도록 승인합니다. 설정 고급 전체 페이지 교체는 Frontmatter에서 하드 차단되지 않습니다. 린터는 다음 유지 단계에서 드리프트를 치료합니다.

이렇게 하면 **대화 → 원클릭 준비 → 사람의 검토 → 검색 가능한 지식**이라는 루프가 종료됩니다.

## 검색 및 유지

* **Query Wiki**(개요 탭) — 쿼리 경로에서 **제로 LLM**가 포함된 자연어 답변: 인지 인덱스, 사이드카 요약, FTS5 및 키워드의 시드가 L0/L1/L2 스니펫 및 청구/증거 카드를 조립하기 전에 예산이 책정된 최선의 그래프 확장을 통해 수렴됩니다.
* **검색 모드**(개요 → 위키 쿼리) — **일반**(색인, 디렉토리 및 기사에 균형을 이룸) 또는 **주장 먼저**(구조화된 서문 주장 및 연결된 증거로 개념을 강화하고 주장 일치가 없으면 일반으로 대체)를 선택합니다. OpenClaw은 CLI를 통해서만 유사한 `raw-claim` 동작을 제공합니다. Myrm은 플래그를 기억하지 않고 설정에 노출합니다.
* **인용 신뢰** — 답변 카드에는 주장 텍스트, 증거 경로 및 `snapshot_status`이 포함되어 있으므로 인용된 콘텐츠가 여전히 디스크 저장소와 일치하는지 확인할 수 있습니다.
* **증거 인용 서랍(Closure v2)** — 채팅 또는 설정에서 인용 칩을 탭하세요. 청구 상태 배지(노이즈를 줄이기 위해 이의가 있는/지원되지 않는 경우에만 해당), **명시적으로 설정된 경우 신뢰도 %** 컴파일 및 **원시 발췌** 차단. 검색에서는 LLM 비용이 들지 않는 오래된 이의가 제기된 주장보다 새로운 지원 주장의 순위를 매깁니다.
* **검색 경로 추적 설정** — 쿼리 결과 아래 카드에는 인덱스 적중, 시드, 사이드카 디렉터리 및 선택한 개념이 표시되므로 고급 사용자가 "이 개념이 일치하는 이유"를 디버그할 수 있습니다.
* **컴파일/유지 관리** — 증분 컴파일(SHA256 변경 감지), 병렬 배치 수집(\~40% 더 빠른 다중 문서 처리를 위한 세마포 제한 동시성), 시각적 요소 안내(컴파일러는 LLM에 적절한 경우 인어 다이어그램, GFM 테이블 및 울타리 코드 블록을 생성하도록 요청), 린터 기반 상태 수정(깨진 링크, 드리프트, 오래된 콘텐츠, 격리된/브리지 개념에 대한 지식 격차 감지).
* **유지 관리 모드(#31)** — 설정 **개요 → 유지 관리**는 **구조적**(빠른 린트 + 유형 복구 + 차단된 원시 정리) 또는 **전체**(드리프트 감지 및 백링크 새로 고침 추가)를 제공합니다. Cron 청사진 \*\*`wiki_maintain`\*\*은 라우터 작업 `__wiki_maintain__:{mode}`을 통해 동일한 모드를 예약합니다. 두 번째 브레인 사전 설정은 나중에 읽기 및 아침 델타와 함께 **주말 03:00 전체 유지** 크론을 추가합니다.
* **구조적 상태 통계**(개요 탭) — 0-LLM 스캔에서는 깨진 마크다운 링크, 깨진 Obsidian `[[wikilink]]` 대상(경로 + 고유 제목 별칭) 및 누락된 서문 `type` 값을 계산합니다. 컴파일, 가져오기, 개념 편집, 승인 보류 및 폴더 삭제 후에 황색 배지가 업데이트됩니다. CLI `wiki lint`가 필요하지 않습니다. CI는 모든 하네스 변경에 대해 4가지 사례 검색 회귀 게이트를 실행합니다.
* **라이브러리/브레인 보기** — 커뮤니티 감지 및 개념 탐색이 포함된 3D 지식 그래프(제품 탐색은 배포에 따라 다를 수 있음)
* **지식 그래프** — 컴파일러는 개념과 그 관계를 자동 추출하여 가중치가 부여된 에지(직접 링크 + 소스 중복 + 공통 이웃)가 있는 그래프를 작성합니다. LPA 커뮤니티 탐지 그룹 관련 개념; 격차 분석은 별도의 도메인을 연결하는 격리된 노드와 브리지 개념을 강조합니다.
* **스마트 컨텍스트 회상** — 새 대화를 시작할 때 에이전트는 현재 주제를 기반으로 관련 기억과 지식을 자동으로 회상하므로 수동으로 올바른 문서를 가리킬 필요가 없습니다.
* **모순 감지** — 청구 그래프는 지식 항목 전체에서 `contradiction_status` 및 `CONTRADICTED_BY` 관계를 추적합니다. 통합은 자동으로 덮어쓰는 대신 사람이 검토할 수 있도록 충돌하는 사실에 자동으로 플래그를 지정합니다.
* **연합 검색** — 여러 Wiki 네임스페이스 또는 게시된 디렉터리가 있는 경우 쿼리는 모든 소스에서 검색하고 결과를 RRF 순위와 병합하여 수동 범위 지정 없이 포괄적인 적용 범위를 보장합니다.

## 흑요석에서 가져오기

Myrm은 메모, 태그, 이미지를 보존하는 전용 **Obsidian Vault 가져오기**를 제공합니다.

1. **설정 → Wiki**에서 가져오기 섹션으로 스크롤합니다.
2. **Tauri 데스크탑**: **Obsidian Vault 가져오기**를 클릭하고 로컬 Vault 디렉토리를 선택합니다.
3. **WebUI / 클라우드**: **Obsidian ZIP 업로드**를 클릭하고 볼트를 `.zip` 파일로 업로드합니다.

수입업자는 다음을 처리합니다.

* **YAML 머리말** — 인라인 배열(`tags: [a, b]`) 및 YAML 들여쓰기 목록(`tags:\n  - a\n  - b`) 모두(`aliases`, `created` 및 `updated` 포함).
* **이미지 삽입** — `![[image.png]]` 구문이 표준 마크다운으로 다시 작성되고 이미지가 위키 자산 디렉터리에 복사됩니다.
* **`.canvas` 파일** — 빈 보드나 추출 가능한 텍스트가 없는 보드는 건너뜁니다. 텍스트 노드가 있는 보드는 Markdown(JSON Canvas 1.0에 따른 텍스트 콘텐츠 및 파일/링크 레이블)으로 변환됩니다.
* **인코딩 탄력성** — UTF-8 디코딩에 실패한 파일이 보고되지만 가져오기는 차단되지 않습니다.
* **충돌 방지 다시 가져오기** — 다른 콘텐츠가 포함된 원시 파일이 이미 존재하는 경우 **기본적으로 건너뛰기**됩니다. 대화 상자를 사용하면 이유(`wiki/log.md`에 기록됨)로 대체할 수 있습니다.

가져오기가 완료되면 토스트 알림에 처리된 노트 수, 추출된 태그 및 마이그레이션된 이미지가 표시됩니다. 가져온 파일은 컴파일 대기열에 들어가고 자동으로 색인화됩니다.

## 흑요석에서 열기 및 내보내기 팩(#22 + #22b)

**설정 → Wiki → 개요**의 **Obsidian Vault** 카드는 역방향 열기/내보내기로 위의 가져오기를 보완합니다.

| Action                     | Local / Tauri                                                                                                              | Cloud                              |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **Open in Obsidian**       | When Obsidian is installed (`obsidian_launch_available`) — macOS `open -a`, Windows `%LocalAppData%`, Linux `obsidian` CLI | Hidden (not available)             |
| **Show in folder**         | Reveal wiki directory in Finder / Explorer / file manager                                                                  | Hidden                             |
| **Copy vault path**        | Copy `{harness_dir}/wiki/agents/{agent}/`                                                                                  | Hidden                             |
| **Download Obsidian pack** | Full vault ZIP + `.obsidian/graph.json` (colorGroups by frontmatter `type`) + `README-OBSIDIAN.txt`                        | Same (open locally after download) |

압축을 푼 후: **Obsidian → 폴더를 볼트로 열기** → 그래프 보기에는 페이지 유형별로 색상이 지정된 노드가 표시됩니다.

**테스트(2026년 7월):** 14개 대상 pytest(교차 플랫폼 실행 + 공개 + 내보내기 - Chrome 없음 MCP E2E).

<Note>
  **vs 프로젝트 마운트:** Obsidian/Typora를 사용하여 **자신의 디스크**에서 계속 편집하려면 **설정 → 프로젝트 → 동기화 폴더 마운트**를 사용하세요. #22는 **Myrm 호스팅된 컴파일된 볼트**용입니다. 원클릭 열기 또는 스냅샷 내보내기입니다.
</Note>

<Note>
  **정직한 한계:** 클라우드는 로컬 경로를 공개할 수 없습니다. Obsidian이 설치되지 않은 경우 숨겨진 열기 버튼(폴더에 표시 + 다운로드는 계속 작동함) Windows `%ProgramFiles%\Obsidian\Obsidian.exe`은 아직 조사되지 않았습니다. 이식 가능한 `obsidian://` 딥 링크가 없습니다.
</Note>

## 로컬 볼트 git 스냅샷(#23)

Wiki Vault에서 **버전 제어**가 활성화되면(Local/Tauri은 세션 아카이브 및 유사한 경로에 대해 기본값으로 설정됨) Myrm은 Vault 내부에 **실제 `.git` 디렉터리**를 유지합니다. — Shadow-git 플러그인은 아닙니다.

| What                     | When                                                                                    | User benefit                                                 |
| ------------------------ | --------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| **Auto-commit**          | Compile, import, apply, approve, delete, and other vault mutations (13 SSOT hook sites) | Auditable history without manual `git init`                  |
| **Overview hint**        | Settings → Wiki → Overview                                                              | Shows latest snapshot commit hash when git is active         |
| **Standard git tooling** | Any git client or Obsidian Git plugin                                                   | `git log` / `git blame` work on the same files Myrm compiles |

**테스트(2026년 7월):** Vault git에 대해 5개 대상 pytest(`test_wiki_vault_git_mutation` 2 + Harness `test_vault_git` 3 — Chrome 없음 MCP E2E).

<Note>
  **정직한 제한:** 설정 내 커밋 목록 UI가 없습니다. 자세한 기록을 보려면 `git log` 또는 Obsidian Git을 사용하세요. Obsidian 팩 다운로드 ZIP에는 `.git`이 포함되지 **않습니다**. 클라우드 배포는 Vault git을 약속하지 않습니다.
</Note>

## 가져온 이미지 검색(흑요석 자산)

**Vision Fallback Model**이 **Settings → Models**에서 구성되면 Myrm은 비전 생성 캡션(FTS5 + 선택적 벡터 하이브리드)을 사용하여 `wiki/assets/` 아래의 이미지를 색인화합니다. 별도의 이미지 검색 도구 없이도 찾을 수 있습니다.

* **`wiki_query` / `knowledge_recall(corpus=wiki|all)`** — "아키텍처 다이어그램은 어디에 있나요?"와 같은 텍스트 질문 채팅 소스에서 캡션 및 **썸네일 인용**과 함께 자산 조회수를 반환할 수 있습니다.
* **설정 → Wiki → 개요** — `asset_index` 배지는 색인화됨/보류 중/실패한 수를 표시합니다. 이미지가 있지만 비전이 구성되지 않은 경우 황색 힌트가 모델로 연결됩니다.
* **가져오기 경로** — Obsidian 가져오기는 백그라운드 자산 인덱싱을 예약합니다. 컴파일/유지 관리는 자산 인덱스도 새로 고칩니다.

<Note>
  **정직한 한계:** 캡션을 통한 **텍스트 → 이미지** 검색이며 **이미지 → 이미지**(멀티모달 삽입)가 아닙니다. OpenViking과 같은 경쟁업체는 후자를 제공합니다. 일반 클로 에이전트(OpenClaw, Hermes)에는 Obsidian 자산 캡션 파이프라인이 전혀 없습니다. 비전이 구성되지 않은 경우 자산을 가져오지만 검색할 수는 없습니다. 개요 힌트에서 해당 사례를 다룹니다. 채팅에는 오해의 소지가 있는 빈 캡션 자산 소스가 표시되지 않습니다.
</Note>

## URL 수집 및 동영상 자막 추출

Wiki에 URL을 수집할 때 Myrm은 **CrawlEngine**을 통해 모든 링크를 라우팅합니다.

* **YouTube 동영상** — 자막이 자동으로 추출됩니다(10개 이상의 언어 지원). 위키는 원시 HTML이 아닌 검색 가능한 텍스트를 저장합니다.
* **Bilibili 동영상** — 직접 API을 통한 자막 추출, DOM 구문 분석이 필요하지 않습니다.
* **WeChat 기사** — 다중 계층 가져오기 프로그램은 크롤링 방지 보호(HTTP → 브라우저 → 스텔스 모드 점진적 저하)를 자동으로 처리합니다.
* **일반 웹페이지** — CrawlEngine은 최적의 가져오기 전략을 적응적으로 선택합니다. JS 렌더링 페이지는 자동으로 브라우저 엔진으로 업그레이드됩니다.
* **고가용성 폴백** — CrawlEngine이 실패하면 시스템은 자동으로 `secure_get` + 마크다운 변환으로 폴백하여 수집이 차단되지 않도록 합니다.

사용자는 에이전트와 링크를 공유하고 "이것을 가져오세요"라고 말하면 시스템이 자동으로 URL 유형을 식별하고 최적의 추출 방법을 선택합니다.

## 문서 구문 분석 및 OCR

Wiki에 문서를 수집할 때 Myrm은 최적의 구문 분석 전략을 자동으로 선택합니다.

* **텍스트가 풍부한 PDF** — 병렬 처리, 북마크 삽입 및 글꼴 기반 제목 감지 기능을 갖춘 pdfplumumber를 통해 추출됩니다.
* **스캔한 PDF** — 텍스트 내용이 희박한 경우(\< 200자) 자동 감지됩니다. 페이지를 PNG 이미지로 렌더링한 뒤 **로컬 PaddleOCR 엔진**(한중일영 네이티브, 클라우드·비전 모델 불필요)으로 페이지마다 인식해 검색 가능한 텍스트로 다시 조립합니다. OCR을 사용할 수 없을 때만 비전 모델 보조로 대체됩니다.
* **하이브리드 PDF** — 텍스트는 정상적으로 추출되는 반면, 포함된 차트와 사진도 스마트 이미지 절제 필터(UI 노이즈, 로고, 장식 요소 제거)를 통해 캡처 및 필터링됩니다.
* **이미지** — 로컬 PaddleOCR 엔진은 클라우드 종속성 없이 중국어, 일본어, 한국어, 영어를 지원합니다. 결과에는 신뢰도 점수와 경계 상자가 포함됩니다.
* **Office 파일** — MarkItDown과 같은 외부 종속성이 없는 DOCX, XLSX, PPTX용 기본 파서입니다.

모든 전략은 비동기식으로 실행되며 동일한 컴파일 파이프라인에 반영되므로 수동으로 선택할 필요가 없습니다.

## 보안

Wiki 수집은 **경로 순회 방어** 및 **지속성 레이어 콘텐츠 검사**를 통해 보호됩니다.

1. **파일 이름 삭제** — LLM 제공 파일 이름의 모든 디렉터리 구성 요소가 제거되어(`Path(filename).name`) 삽입된 도구 호출이 `../../../etc/cron.d/evil.md`과 같은 경로를 대상으로 삼는 것을 방지합니다.
2. **경계 유효성 검사** — `safe_join_path()`는 확인된 경로가 wiki 원시 디렉터리 내에 있는지 확인하여 절대 경로, 널 바이트 삽입, 심볼릭 링크 이스케이프 및 `../` 통과를 차단합니다.
3. **사전 쓰기 스캔** — 바이트가 디스크에 도달하기 전에 `publish_raw` 및 컴파일된 게시 실행 자격 증명/삽입 검사를 수행합니다(위의 **아카이브 보안 거버넌스** 참조).

이러한 방어는 하네스 프레임워크 수준에서 작동합니다. 즉, 모든 Wiki 수집 경로(에이전트 도구 호출, 자동 보관, 설정 가져오기, 대용량 문서 RAG 수집)가 자동으로 보호됩니다. Wiki 디렉터리 자체는 사용자 홈 디렉터리 외부에 있으며 코드 실행 중에 OS 수준 샌드박스(macOS Seatbelt/Linux bubblewrap/Windows AppContainer)에 의해 더욱 격리됩니다.

## DIY 위키 스킬과 비교

| DIY (e.g. Hermes llm-wiki SKILL)                    | Myrm                                            |
| --------------------------------------------------- | ----------------------------------------------- |
| Agent must follow hundreds of lines of instructions | Python engine runs compile/search/lint reliably |
| Manual folder layout                                | Settings tree GUI + APIs                        |
| Copy/paste good answers                             | Save to Wiki button + provenance metadata       |
| Obsidian required for graphs                        | Built-in 3D graph + web Settings                |

<Warning>
  Myrm은 아직 Wiki 삭제를 위한 Notion 스타일 휴지통을 제공하지 않습니다. 삭제 확인을 중요하게 다루십시오. 중요한 메모에는 백업을 사용하세요.
</Warning>

## 관련된

* [메모리 시스템](/docs/core-concepts/memory-system) — 에피소드/의미 메모리와 컴파일된 Wiki 기사
* [경쟁사 비교](/docs/getting-started/competitor-comparison) — 마이그레이션 및 포지셔닝
