Skip to main content
memory-wiki là một plugin đi kèm, biên soạn tri thức bền vững thành một wiki có thể điều hướng: các trang có tính xác định, các khẳng định có cấu trúc kèm bằng chứng, nguồn gốc, bảng điều khiển và bản tóm lược mà máy có thể đọc được. Plugin này không thay thế plugin Active Memory. Việc truy hồi, thăng cấp, lập chỉ mục và Dreaming vẫn thuộc trách nhiệm của bất kỳ backend bộ nhớ nào được cấu hình (memory-core, QMD, Honcho, v.v.). memory-wiki hoạt động bên cạnh backend đó và biên soạn tri thức thành một lớp wiki được duy trì. Bật plugin trước khi sử dụng CLI, công cụ hoặc tích hợp runtime của plugin:
Quy tắc thực tế:
  • memory_search để thực hiện một lượt truy hồi rộng trên mọi kho ngữ liệu đã cấu hình
  • wiki_search / wiki_get khi cần xếp hạng dành riêng cho wiki, nguồn gốc hoặc cấu trúc niềm tin cấp trang
  • memory_search corpus=all để bao quát cả hai lớp trong một lần gọi, khi plugin Active Memory hỗ trợ chọn kho ngữ liệu
Một thiết lập ưu tiên cục bộ phổ biến: dùng QMD làm backend Active Memory để truy hồi và memory-wiki ở chế độ bridge cho các trang tổng hợp bền vững. Xem ví dụ QMD + chế độ cầu nối trong phần Cấu hình. Nếu chế độ cầu nối báo cáo không có hiện vật nào được xuất, plugin Active Memory hiện không cung cấp đầu vào cầu nối công khai. Trước tiên, hãy chạy openclaw wiki doctor, sau đó xác nhận plugin Active Memory hỗ trợ hiện vật công khai.

Chế độ kho

  • isolated (mặc định): kho riêng, nguồn riêng, không phụ thuộc vào plugin Active Memory. Dùng chế độ này cho một kho tri thức tuyển chọn độc lập.
  • bridge: đọc các hiện vật bộ nhớ và nhật ký sự kiện công khai từ plugin Active Memory thông qua các đường nối SDK plugin công khai. Dùng chế độ này để biên soạn các hiện vật được plugin bộ nhớ xuất mà không truy cập nội bộ riêng tư của plugin.
  • unsafe-local: lối thoát rõ ràng trên cùng máy dành cho các đường dẫn cục bộ riêng tư. Có chủ ý mang tính thử nghiệm và không di động; chỉ sử dụng khi bạn hiểu ranh giới tin cậy và đặc biệt cần quyền truy cập hệ thống tệp cục bộ mà chế độ cầu nối không thể cung cấp.
Chế độ kho và phạm vi kho là hai lựa chọn riêng biệt:
  • vaultMode chọn nguồn đầu vào của wiki.
  • vault.scope chọn việc mọi tác nhân dùng chung một kho hay mỗi tác nhân có một kho con.
vault.scope: "global" là mặc định và duy trì hành vi một kho hiện có. Dùng vault.scope: "agent" với chế độ isolated hoặc bridge khi các tác nhân không được dùng chung trang wiki, bản tóm lược đã biên soạn, kết quả tìm kiếm hoặc thao tác ghi. Không thể kết hợp phạm vi tác nhân với chế độ unsafe-local vì các đường dẫn riêng tư đã cấu hình đó không phải là đầu vào thuộc sở hữu của tác nhân. Quá trình xác thực cấu hình sẽ từ chối tổ hợp này. Chế độ cầu nối có thể lập chỉ mục các nội dung sau, tùy theo công tắc cấu hình bridge.*:
  • các hiện vật bộ nhớ đã xuất (indexMemoryRoot)
  • ghi chú hằng ngày (indexDailyNotes)
  • báo cáo Dreaming (indexDreamReports)
  • nhật ký sự kiện bộ nhớ (followMemoryEvents)
Khi chế độ cầu nối đang hoạt động và bridge.readMemoryArtifacts được bật, openclaw wiki status, openclaw wiki doctoropenclaw wiki bridge import được định tuyến qua Gateway đang chạy để chúng thấy cùng ngữ cảnh plugin Active Memory như bộ nhớ của tác nhân/runtime. Nếu cầu nối bị tắt hoặc việc đọc hiện vật bị tắt, các lệnh đó vẫn giữ hành vi cục bộ/ngoại tuyến.

Bố cục kho

Nội dung được quản lý nằm trong các khối được tạo; các khối ghi chú của con người được giữ nguyên qua các lần tạo lại.
  • sources/: tài liệu thô đã nhập và các trang dựa trên cầu nối/cục bộ không an toàn
  • entities/: sự vật, con người, hệ thống, dự án và đối tượng bền vững
  • concepts/: ý tưởng, khái niệm trừu tượng, mẫu và chính sách (đồng thời là nơi tiếp nhận nội dung nhập từ OKF)
  • syntheses/: bản tóm tắt đã biên soạn và bản tổng hợp được duy trì
  • reports/: bảng điều khiển được tạo

Nhập Open Knowledge Format

Nhập một gói Open Knowledge Format đã giải nén vào các trang khái niệm wiki. Phù hợp khi danh mục dữ liệu, trình thu thập tài liệu hoặc tác nhân làm giàu đã tạo ra OKF: giữ OKF làm hiện vật trao đổi di động và để memory-wiki chuyển nó thành các trang khái niệm gốc OpenClaw và bản tóm lược đã biên soạn.
  • các tệp .md không dành riêng là tài liệu khái niệm
  • mỗi khái niệm được nhập yêu cầu trường frontmatter type không rỗng; thiếu type sẽ tạo cảnh báo missing-type và tệp bị bỏ qua
  • các giá trị type không xác định được chấp nhận dưới dạng khái niệm chung
  • index.mdlog.md được dành riêng và không bao giờ được nhập dưới dạng khái niệm
  • các liên kết Markdown bị hỏng hoặc bên ngoài được giữ nguyên
Các trang được nhập được làm phẳng dưới concepts/ để các luồng biên soạn, tìm kiếm, lấy và bảng điều khiển hiện có có thể thấy chúng mà không cần cây wiki thứ hai. Mỗi trang giữ ID khái niệm OKF gốc, đường dẫn nguồn, type, resource, tags, dấu thời gian và toàn bộ frontmatter của trình tạo. Các liên kết OKF nội bộ được viết lại để trỏ đến các trang khái niệm wiki đã tạo, đồng thời phát ra các mục relationships có cấu trúc với kind: okf-link.

Khẳng định và bằng chứng có cấu trúc

Các trang mang frontmatter claims có cấu trúc, không chỉ là văn bản tự do. Mỗi khẳng định có thể bao gồm id, text, status, confidence, evidence[]updatedAt. Mỗi mục bằng chứng có thể bao gồm kind, sourceId, path, lines, weight, confidence, privacyTier, noteupdatedAt. Điều này khiến wiki hoạt động như một lớp niềm tin, thay vì một nơi chứa ghi chú thụ động. Các khẳng định có thể được theo dõi, chấm điểm, tranh luận và đối chiếu ngược về nguồn.

Siêu dữ liệu thực thể dành cho tác nhân

Các trang thực thể mang siêu dữ liệu định tuyến chung có thể dùng cho con người, nhóm, hệ thống, dự án hoặc bất kỳ loại thực thể nào khác:
  • entityType: ví dụ person, team, system, project
  • canonicalId: khóa định danh ổn định xuyên suốt các bí danh và nội dung nhập
  • aliases: tên, tên hiệu hoặc nhãn phân giải đến cùng một trang
  • privacyTier: chuỗi tự do; public được xem là không cần xem xét, mọi giá trị khác (ví dụ local-private, sensitive, confirm-before-use) đều được đánh dấu trong reports/privacy-review.md
  • bestUsedFor / notEnoughFor: gợi ý định tuyến ngắn gọn
  • lastRefreshedAt: dấu thời gian làm mới nguồn, tách biệt với thời gian chỉnh sửa trang
  • personCard: thẻ định tuyến tùy chọn dành riêng cho cá nhân (tên hiệu, mạng xã hội, email, múi giờ, luồng, nội dung nên hỏi, nội dung nên tránh hỏi, độ tin cậy, cấp độ riêng tư)
  • relationships: các cạnh có kiểu đến những trang liên quan (đích, loại, trọng số, độ tin cậy, loại bằng chứng, cấp độ riêng tư, ghi chú)
Đối với wiki về con người, hãy bắt đầu bằng reports/person-agent-directory.md, sau đó mở trang cá nhân bằng wiki_get trước khi sử dụng thông tin liên hệ hoặc các sự kiện được suy luận.

Pipeline biên soạn

Quá trình biên soạn đọc các trang wiki, chuẩn hóa bản tóm tắt và lưu giữ một ảnh chụp nhanh dành cho máy trong trạng thái plugin SQLite dùng chung của OpenClaw. Mã runtime sử dụng ảnh chụp nhanh của chủ sở hữu do vòng đời quản lý để tải SQLite trong quá trình chuẩn bị lời nhắc bất đồng bộ; quá trình lắp ráp lời nhắc đồng bộ không bao giờ thu thập Markdown hoặc đọc tệp bộ nhớ đệm. Đầu ra đã biên soạn cũng hỗ trợ việc lập chỉ mục wiki lượt đầu cho tìm kiếm/lấy, tra cứu ID khẳng định ngược về trang sở hữu, phần bổ sung lời nhắc ngắn gọn và tạo báo cáo. Các chỉnh sửa nguồn và khôi phục kho chỉ trở thành dữ liệu dành cho máy sau lần biên soạn tiếp theo. Việc khởi động lại hoặc làm mới vòng đời plugin sẽ so sánh bản công bố biên soạn có chuỗi nhân quả của kho với SQLite và từ chối ảnh chụp nhanh từ một trạng thái mới hơn đã bị khôi phục. Trình biên dịch khởi động trước khi khôi phục không thể công bố dựa trên trạng thái tiền nhiệm đã được phục hồi. Quá trình chuẩn bị lời nhắc không thăm dò kho hoặc cài đặt trình theo dõi tệp. Sau khi cách ly do khôi phục, một lần biên soạn trong tiến trình đang chạy sẽ xóa chủ sở hữu ngay lập tức; một tiến trình biên dịch riêng biệt yêu cầu làm mới vòng đời plugin để daemon có thể xác nhận bản công bố bền vững mới. Bộ nhớ đệm đã biên soạn có thể xây dựng lại: các hàng bộ nhớ đệm từ trước các kỷ nguyên công bố được xem là trượt bộ nhớ đệm và được thay thế bởi lần biên soạn tiếp theo; chúng không được di chuyển.

Bảng điều khiển và báo cáo tình trạng

Khi render.createDashboards được bật, quá trình biên soạn duy trì các bảng điều khiển trong reports/:

Tìm kiếm và truy xuất

Hai backend tìm kiếm:
  • shared: sử dụng luồng tìm kiếm bộ nhớ dùng chung khi khả dụng
  • local: tìm kiếm wiki cục bộ
Ba kho ngữ liệu: wiki, memory, all.
  • wiki_search / wiki_get sử dụng bản tóm lược đã biên soạn làm lượt đầu khi có thể
  • ID khẳng định được phân giải ngược về trang sở hữu
  • các khẳng định bị tranh luận/đã cũ/mới ảnh hưởng đến thứ hạng
  • nhãn nguồn gốc được giữ lại trong kết quả
Các chế độ tìm kiếm (tham số --mode / công cụ mode): Khi một kết quả khớp với tuyên bố có cấu trúc, wiki_search trả về matchedClaimId, matchedClaimStatus, matchedClaimConfidence, evidenceKindsevidenceSourceIds trong payload chi tiết. Đầu ra văn bản bao gồm các dòng Claim:Evidence: dạng rút gọn khi có.

Công cụ tác nhân

Plugin cũng đăng ký một phần bổ sung không độc quyền cho kho ngữ liệu bộ nhớ, nhờ đó memory_searchmemory_get dùng chung có thể truy cập wiki khi Plugin bộ nhớ đang hoạt động hỗ trợ lựa chọn kho ngữ liệu.

Hành vi của prompt và ngữ cảnh

Khi context.includeCompiledDigestPrompt được bật, các phần prompt bộ nhớ sẽ nối thêm một bản chụp đã biên dịch dạng rút gọn từ trạng thái Plugin: chỉ các trang hàng đầu, chỉ các tuyên bố hàng đầu, số lượng mâu thuẫn, số lượng câu hỏi, các tiêu chí định tính về độ tin cậy/độ mới. Đây là tính năng chọn tham gia vì nó thay đổi cấu trúc prompt; tính năng này chủ yếu quan trọng đối với các công cụ ngữ cảnh hoặc quá trình tạo prompt có sử dụng rõ ràng các phần bổ sung bộ nhớ.

Cấu hình

Đặt cấu hình trong plugins.entries.memory-wiki.config:
Các tùy chọn chính:

Vault theo từng tác nhân

Đặt vault.scope thành agent để cung cấp cho mỗi tác nhân đã cấu hình một wiki riêng. Trong phạm vi này, vault.path là thư mục cha và OpenClaw nối thêm id tác nhân đã chuẩn hóa:
Cấu hình này được phân giải thành ~/.openclaw/wiki/support~/.openclaw/wiki/marketing. Nếu vault.path bị bỏ qua trong phạm vi tác nhân, thư mục cha mặc định là ~/.openclaw/wiki. Vì vậy, tác nhân main mặc định vẫn giữ đường dẫn ~/.openclaw/wiki/main hiện có. Các công cụ tác nhân, bản tóm lược prompt đã biên dịch và phần bổ sung wiki được cung cấp qua memory_search / memory_get sẽ phân giải vault từ ngữ cảnh tác nhân đang hoạt động. Đối với lệnh gọi CLI và Gateway trong thiết lập có nhiều tác nhân được cấu hình, hãy chỉ định rõ tác nhân bằng openclaw wiki --agent <agentId> ... hoặc agentId của yêu cầu Gateway. Một tác nhân duy nhất đã cấu hình vẫn là mặc định khi không cung cấp id. Trong chế độ cầu nối, quá trình nhập theo phạm vi tác nhân chỉ chấp nhận một tạo tác bộ nhớ công khai khi agentIds của tạo tác đó bao gồm tác nhân đã chọn. Các tạo tác thuộc sở hữu của tác nhân khác, không có siêu dữ liệu quyền sở hữu hoặc có chủ sở hữu không xác định sẽ bị bỏ qua. Phạm vi toàn cục giữ nguyên hành vi tạo tác dùng chung hiện có.
Việc thay đổi vault.scope không sao chép hoặc phân tách vault hiện có. Trong phạm vi tác nhân, vault.path được cấu hình rõ ràng sẽ trở thành thư mục cha, vì vậy hãy chủ động di chuyển hoặc nhập các trang hiện có trước khi chuyển đổi các tác nhân sản xuất. Trước tiên, hãy sao lưu vault.Vault theo từng tác nhân là ranh giới tri thức trong cùng một tiến trình, không phải ranh giới bảo mật của hệ điều hành. Các Plugin và công cụ không được sandbox hóa có quyền truy cập hệ thống tệp của máy chủ vẫn có thể đọc thư mục của tác nhân khác. Hãy sử dụng sandbox hoặc các hồ sơ Gateway riêng biệt khi các tác nhân không tin cậy lẫn nhau.

Ví dụ: QMD + chế độ cầu nối

Hãy sử dụng cấu hình này khi bạn muốn dùng QMD để truy hồi và memory-wiki làm lớp tri thức được duy trì. Mỗi lớp giữ đúng trọng tâm: QMD giúp các ghi chú thô, bản xuất phiên và các bộ sưu tập bổ sung có thể tìm kiếm được, còn memory-wiki biên dịch các thực thể ổn định, tuyên bố, bảng điều khiển và trang nguồn.
Cấu hình này để QMD phụ trách truy hồi bộ nhớ đang hoạt động, giữ memory-wiki tập trung vào các trang và bảng điều khiển đã biên dịch, đồng thời giữ nguyên cấu trúc prompt cho đến khi bạn chủ động bật prompt tóm lược đã biên dịch.

CLI

Xem CLI: wiki để biết tài liệu tham khảo đầy đủ về lệnh, bao gồm wiki okf import, wiki apply metadata, wiki unsafe-local import, wiki chatgpt import / wiki chatgpt rollback và toàn bộ tập hợp lệnh con wiki obsidian.

Hỗ trợ Obsidian

Khi vault.renderModeobsidian, Plugin ghi Markdown tương thích với Obsidian và có thể tùy chọn sử dụng CLI obsidian chính thức để thăm dò trạng thái, tìm kiếm vault, mở trang, gọi lệnh và chuyển đến ghi chú hằng ngày. Đây là tính năng tùy chọn; wiki vẫn hoạt động ở chế độ gốc mà không cần Obsidian. Các vault theo phạm vi tác nhân vẫn có thể sử dụng Markdown tương thích với Obsidian, nhưng quá trình xác thực cấu hình sẽ từ chối obsidian.useOfficialCli: true với vault.scope: "agent". Thiết lập obsidian.vaultName hiện tại có phạm vi toàn cục và không thể chọn một vault Obsidian riêng biệt cho từng tác nhân. Thay vào đó, hãy sử dụng các công cụ wiki và thao tác CLI, hoặc giữ wiki do Obsidian vận hành trong phạm vi toàn cục.

Quy trình làm việc được đề xuất

1

Giữ Plugin Active Memory để truy hồi

Việc truy hồi, thăng cấp và Dreaming vẫn thuộc quyền quản lý của backend bộ nhớ đã cấu hình.
2

Bật memory-wiki

Bắt đầu với chế độ isolated trừ khi bạn chủ đích muốn dùng chế độ cầu nối.
3

Dùng wiki_search / wiki_get khi nguồn gốc thông tin là quan trọng

Ưu tiên các công cụ này hơn memory_search khi bạn muốn cách xếp hạng dành riêng cho wiki hoặc cấu trúc niềm tin ở cấp độ trang.
4

Dùng wiki_apply cho các bản tổng hợp phạm vi hẹp hoặc cập nhật siêu dữ liệu

Tránh chỉnh sửa thủ công các khối được tạo và quản lý tự động.
5

Chạy wiki_lint sau các thay đổi đáng kể

Phát hiện mâu thuẫn, câu hỏi chưa giải quyết và lỗ hổng về nguồn gốc thông tin.
6

Bật bảng điều khiển để hiển thị nội dung lỗi thời/mâu thuẫn

Đặt render.createDashboards: true (mặc định).

Tài liệu liên quan