# Obsidian và Codex: dựng kho kiến thức local cho AI agent

[Hongzhao](https://homus.dev/speakers/hongzhao) · [Hongzhao](https://homus.dev/orgs/hongzhao)

> Chuyển note từ Notion sang Obsidian, dùng Codex tách và dọn note, đưa Codex vào sidebar, sắp brand assets bằng Canvas, lưu web bằng Web Clipper.

Topics: Coding Agents, Context Engineering, Workflow

Canonical: https://homus.dev/talks/obsidian-codex-build-a-free-ai-knowledge-base-full-tutorial

## 1. Đổi agent là phải kể lại từ đầu?

Hongzhao mở đầu video đăng ngày 31/10/2026 bằng một câu hỏi: bạn có mệt vì cứ chuyển qua lại giữa Codex, Claude Code và các AI agent khác, rồi lại phải upload lại file và giải thích lại project của mình từ đầu không? Sẽ ra sao nếu tất cả các agent đó cùng làm việc trên một bộ file chung?

![Slide Switch agents. Start over? với ba ô Codex, Claude Code và Other AI agents](https://homus.dev/photos/9SbYN5WZvR4-0003.jpg)

Slide mở đầu "Switch agents. Start over?" dưới nhãn "The everyday friction": ba ô Codex, Claude Code và Other AI agents nối với nhau bằng mũi tên, chân slide ghi "One project · Shared context" (slide trong video đăng ngày 31/10/2026).

Theo Hongzhao (video đăng ngày 31/10/2026), đó là chỗ Obsidian xuất hiện. Obsidian là một tool quản lý kiến thức miễn phí, lưu note ngay trên máy dưới dạng file Markdown, nên các AI agent dễ dàng truy cập và chỉnh sửa. Slide kế tiếp có dòng "Local notes. Plain Markdown." và một cửa sổ Obsidian với vault "My Vault", thư mục Projects chứa `project.md`, `research.md`, `ideas.md`, góc dưới ghi "Saved locally · .md" và "Read files" (slide trong video đăng ngày 31/10/2026).

Trong video này, Hongzhao đi qua các ví dụ thật, từng bước một: chuyển dữ liệu từ Notion sang, sắp xếp file bằng Codex, quản lý brand assets, rồi nối các note với nhau bằng Web Clipper và Graph View. Và theo Hongzhao, điểm hay là mọi tính năng Obsidian xuất hiện trong video đều dùng miễn phí (video đăng ngày 31/10/2026). Phần mô tả video cũng ghi thêm rằng việc truy cập các dịch vụ AI như Codex có thể phụ thuộc vào tài khoản và giới hạn usage của bạn (mô tả video đăng ngày 31/10/2026).

## 2. Một vòng giao diện Obsidian

Trước khi vào việc, Hongzhao giới thiệu nhanh giao diện Obsidian (theo video đăng ngày 31/10/2026). Bên trái là File Explorer, nơi bạn quản lý note và thư mục. Ở giữa là Workspace, nơi bạn sửa note, xem ảnh và làm việc với Canvas. Bên phải là chỗ mở các panel như Backlinks hoặc Codex. Còn ở góc dưới bên trái là Settings, nơi bạn cài plugin.

Bốn vùng của giao diện Obsidian mà Hongzhao chỉ ra trong video đăng ngày 31/10/2026.

## 3. Bước 1: cài plugin Importer để chuyển từ Notion

Bước 1 là chuyển dữ liệu từ Notion sang. Hongzhao sẽ chuyển các video script của mình từ Notion sang Obsidian một cách tự động (demo trong video đăng ngày 31/10/2026).

Các bước Hongzhao làm trong video đăng ngày 31/10/2026: mở Obsidian, bấm biểu tượng Settings ở góc dưới bên trái. Vào Community Plugins, bấm Browse và tìm "Notion". Plugin cần tìm là Importer, plugin chính thức do Obsidian phát triển. Bấm Install, cài xong thì bấm Enable.

![Cửa sổ Community plugins tìm Notion, mũi tên đỏ chỉ vào plugin Importer By Obsidian](https://homus.dev/photos/9SbYN5WZvR4-0123.jpg)

Cửa sổ Community plugins với từ khoá "Notion" cho ra 55 plugin; mũi tên đỏ chỉ vào Importer "By Obsidian", 1.8M lượt tải, mô tả là chuyển dữ liệu sang file Markdown dùng được trong Obsidian, hỗ trợ Apple Notes, OneNote, Evernote, Notion, Google Keep và nhiều định dạng khác (video đăng ngày 31/10/2026).

Tiếp theo, đóng Settings và mở command palette. Tìm "Import" rồi chọn lệnh "Importer: Import notes". Một danh sách các app và định dạng file được hỗ trợ hiện ra (trong video đăng ngày 31/10/2026 có Airtable, Apple Notes, Apple Journal, Bear, CSV, Evernote, Google Keep, HTML, Markdown, Logseq, Microsoft OneNote, Notion, Roam Research, Textbundle và Tomboy/Gnote). Hongzhao chọn Notion.

Theo Hongzhao (video đăng ngày 31/10/2026), có hai cách import note: kết nối thẳng với tài khoản Notion, hoặc import một file bạn đã export từ Notion trước đó. Cách thứ hai khá đơn giản, bạn chỉ cần upload file đã export. Nhưng trong tutorial này, Hongzhao chọn cách kết nối thẳng tài khoản Notion.

## 4. Tạo connection trong Notion và chỉ cấp quyền đọc

Trước khi load được page nào, cần tạo một kết nối giữa Obsidian và Notion. Theo video đăng ngày 31/10/2026, bấm "Get API token" trong Importer sẽ mở trang dành cho developer của Notion trên browser. Ở đó, bấm "New connection" để tạo một integration mới.

Hongzhao đặt tên là "Obsidian Importer", để nguyên phương thức xác thực là API token và bấm "Create connection". Xong bước này, trang cấu hình sẽ hiện workspace đã kết nối và API token của bạn (demo trong video đăng ngày 31/10/2026).

![Hộp thoại New connection của Notion với tên Obsidian Importer và phương thức API token](https://homus.dev/photos/9SbYN5WZvR4-0223.jpg)

Hộp thoại "New connection" trong trang Developer tools của Notion: tên connection là "Obsidian Importer", phương thức xác thực chọn "API token" (mô tả là token tĩnh theo workspace, giới hạn trong một workspace), phương án còn lại là OAuth; con trỏ đang ở nút "Create connection" (demo trong video đăng ngày 31/10/2026).

Kéo xuống phần Capabilities, đây là nơi quản lý những gì integration được phép làm. Hongzhao giữ "Read content" ở trạng thái bật, và tắt "Update content" cùng "Insert content". Lý do theo Hongzhao (video đăng ngày 31/10/2026): vì ta chỉ import note, nên chỉ cần quyền đọc. Không có lý do gì để integration được sửa hay tạo page trong Notion. Tất nhiên, sau này bạn vẫn có thể bật các quyền đó nếu cần.

## 5. Cấp quyền vào page, dán API token và chạy import

Tiếp theo, chuyển sang tab Content access. Theo video đăng ngày 31/10/2026, ở thời điểm đó connection này chưa được truy cập page nào, nên bấm "Edit access". Trong cửa sổ pop-up, chọn workspace chứa nội dung bạn muốn import. Bạn có thể duyệt qua các page hoặc dùng thanh tìm kiếm để tìm một page cụ thể.

Hongzhao tìm "video script", chọn page đó rồi bấm Save. Hongzhao nhấn mạnh bước này quan trọng: theo Hongzhao (video đăng ngày 31/10/2026), chỉ tạo connection thôi là chưa đủ, bạn còn phải cho nó quyền truy cập những page mà bạn muốn import.

Giờ quay lại tab Configuration và copy API token bằng nút nằm cạnh nó. Trở lại Obsidian, bấm "Link" bên cạnh dòng Notion API token. Cửa sổ "Add secret" mở ra. Ở ô ID, Hongzhao nhập "notion" viết thường, dán API token vào ô secret rồi bấm Save (demo trong video đăng ngày 31/10/2026).

Khi mọi thứ đã kết nối, bấm "Load" bên cạnh dòng "Pages to import". Theo video đăng ngày 31/10/2026, Obsidian sẽ load các page Notion mà ta đã cấp quyền. Và page "Video Script" xuất hiện trong danh sách. Hongzhao chọn nó và bấm Continue.

Ở màn hình kế, ta có thể chọn nơi lưu các note được import và cách Obsidian xử lý file đã có, attachment và các nội dung khác. Bạn có thể chỉnh những thiết lập này theo nhu cầu; Hongzhao hài lòng với mặc định nên bấm Continue. Ở trang tiếp theo, tuỳ chọn "Save Notion ID" đã được bật sẵn. Ta cũng xem trước được note sau khi import sẽ được định dạng thế nào, gồm tiêu đề và properties, và nếu muốn thì có thể tuỳ chỉnh định dạng ở đây (theo video đăng ngày 31/10/2026). Hongzhao để nguyên mọi thứ và bấm "Start import".

Obsidian bắt đầu import page đã chọn cùng các nội dung liên quan. Khi xong, màn hình báo bảy mục đã được import thành công, và Hongzhao bấm Done để đóng Importer (demo trong video đăng ngày 31/10/2026).

Các bước Hongzhao làm để kéo page "Video Script" từ Notion sang Obsidian bằng plugin Importer (demo trong video đăng ngày 31/10/2026).

## 6. Bước 2: tách note bằng tay mất bao nhiêu bước

Bước 2 là sắp xếp note bằng Codex. Trước hết, Hongzhao xem lại những gì vừa import. Theo video đăng ngày 31/10/2026, ở sidebar bên trái, Obsidian đã tự tạo một thư mục Notion. Bên trong có thư mục Video Script chứa mọi note vừa import. Nhưng cấu trúc này chưa đúng ý Hongzhao: Hongzhao muốn tách mọi thứ thành các note riêng để dễ tìm và dễ quản lý hơn.

Có hai cách làm: bằng tay, hoặc dùng một AI agent. Hongzhao thử cách bằng tay trước để xem nó chạy ra sao (demo trong video đăng ngày 31/10/2026). Đầu tiên, bấm biểu tượng bút chì ở góc trên bên phải để chuyển sang chế độ chỉnh sửa. Sau đó chọn heading "Google Gemini Gems" cùng toàn bộ nội dung bên dưới nó. Nhấn Command + P để mở command palette, tìm "Extract current selection" (trong video đăng ngày 31/10/2026, lệnh này hiện là "Note composer: Extract current selection"). Lệnh này lấy phần nội dung đang chọn và biến nó thành một note riêng.

Hongzhao đặt tên note mới là "Google Gemini Gems", và ở phần vị trí thì dùng đường dẫn trong thư mục Notion, Video Script, Google Gemini Gems. Xong bước đó, Obsidian tạo ra một file Markdown riêng cho phần Google Gemini Gems (demo trong video đăng ngày 31/10/2026).

Như bạn thấy, làm bằng tay khá nhiều bước. Theo Hongzhao (video đăng ngày 31/10/2026), cách này ổn nếu bạn chỉ có một hai note, nhưng Hongzhao còn rất nhiều note cần sắp xếp, và làm từng cái một sẽ mất quá nhiều thời gian. Vì vậy Hongzhao chuyển sang dùng Codex để xử lý tất cả trong một lượt.

Hai cách tách note mà Hongzhao so sánh trong video đăng ngày 31/10/2026: bằng tay ổn cho một hai note, còn nhiều note thì giao cho Codex.

## 7. Giao việc tách note cho Codex

Theo Hongzhao (video đăng ngày 31/10/2026), bạn cũng có thể dùng Claude Code hoặc một AI agent khác có quyền truy cập file trên máy; workflow về cơ bản là giống nhau. Các bước với Codex trong video: mở app Codex và tạo một project mới. Ở mục Source Folders, bấm Add. Tìm tới Obsidian Vault trên máy, mở thư mục Notion vừa import và bấm Open. Lúc này project hiện tên là Notion.

Theo Hongzhao (video đăng ngày 31/10/2026), vì ta đã chọn một thư mục local trên máy, Codex có thể làm việc trực tiếp với các file Markdown bên trong Obsidian. Tiếp theo, Hongzhao đưa cho Codex một prompt giải thích muốn sắp xếp các note này ra sao. Một đoạn của prompt đọc được trong app Codex:

```
Reorganize Notion/Video Script/Video Script.md in my Obsidian Vault.
- Split each video script section into a separate Markdown note, using its title as the filename.
- Save all notes in the Video Script folder.
- Preserve all content, formatting, links, and images.
- Keep Video Script.md as an index linking to all notes.
- Don't duplicate the existing Google Gemini Gems note.
- Back up the original file before editing.
First show me your plan. Wait for approval before making changes.
```

![App Codex với prompt sắp xếp lại Video Script.md và trạng thái Thinking](https://homus.dev/photos/9SbYN5WZvR4-0723.jpg)

Trong app Codex, prompt yêu cầu tách mỗi phần video script thành một note Markdown riêng, giữ nguyên nội dung, giữ Video Script.md làm index, backup file gốc và trình bày plan trước khi sửa; bên dưới Codex đang ở trạng thái "Thinking", ô chọn model ghi "GPT-6 Astra Light" (demo trong video đăng ngày 31/10/2026).

Theo video đăng ngày 31/10/2026, Codex sẽ đi qua các file, kiểm tra cấu trúc và tách nội dung thành các note riêng. Nếu Codex hỏi xin duyệt trước khi thay đổi, Hongzhao xem lại rồi xác nhận.

Khi Codex xong, Hongzhao quay lại Obsidian, và mọi phần đã được tách thành các note riêng lẻ (demo trong video đăng ngày 31/10/2026). Danh sách bên trái giờ có các note như "AI Video Editing with Codex", "Brand Design-ChatGPT", "codex Lottie", "Google Gemini Gems", "Json prompt-Nano Banana", cùng một file "Video Script.original-backup". Nếu mở note video script ban đầu, nó giờ cơ bản là một mục lục với link tới từng script. Ta có thể bấm vào bất kỳ tiêu đề nào để nhảy thẳng tới note đó, nhưng Hongzhao thích duyệt note trực tiếp từ sidebar bên trái hơn, nên không thực sự cần note index này và xoá nó đi. Giờ mọi thứ dễ điều hướng hơn nhiều.

Theo Hongzhao (video đăng ngày 31/10/2026), dùng AI agent cho kiểu dọn dẹp hàng loạt này chắc chắn nhanh hơn nhiều so với làm tay, nhưng còn một cách dùng Codex tiện hơn nữa: đưa Codex vào thẳng sidebar của Obsidian. Như vậy ta không phải chuyển qua lại giữa hai app, mà vừa đọc note vừa nhờ AI sửa, tất cả ở một chỗ.

## 8. Bước 3: cài Codex Panel và kết nối Codex CLI

Bước 3 là đưa Codex vào trong Obsidian. Việc đầu tiên là cài một plugin (các bước theo video đăng ngày 31/10/2026): mở Settings, vào Community Plugins, bấm Browse và tìm "Codex Panel". Chọn plugin Codex Panel, bấm Install, cài xong thì bấm Enable.

Tiếp theo cần kết nối Codex CLI. Theo video đăng ngày 31/10/2026, nếu máy bạn đã cài Node.js và npm, mở Terminal và chạy lệnh cài Codex CLI mà Hongzhao đọc trong video:

```
npm install -g @openai/codex
```

Cài xong, chạy lệnh kiểm tra version của Codex để xem Codex đã được cài thành công chưa, rồi chạy `codex` và làm theo hướng dẫn để đăng nhập bằng tài khoản ChatGPT. Nếu bạn đã cài Codex CLI và đăng nhập rồi thì bỏ qua phần này (theo video đăng ngày 31/10/2026). Trang tài liệu Codex CLI của OpenAI cũng ghi lệnh npm này là một cách cài, bên cạnh trình cài standalone (đọc ngày 01/11/2026).

Sau đó, trong Terminal gõ:

```
which codex
```

Theo Hongzhao (video đăng ngày 31/10/2026), lệnh này cho biết file chạy của Codex nằm ở đâu, miễn là nó có trong system path. Copy đường dẫn đó, quay lại Obsidian, mở Settings và tìm Codex Panel ở sidebar bên trái. Tìm ô "Codex executable". Nếu Codex Panel đã tự phát hiện Codex CLI thì để nguyên ô này; nếu không thì dán đường dẫn vừa copy vào.

![Settings của Obsidian với hai plugin đã cài Codex Panel và Importer, mũi tên đỏ chỉ vào mục Codex Panel](https://homus.dev/photos/9SbYN5WZvR4-0943.jpg)

Trong Settings, mục Installed plugins có Codex Panel (v5.11.0, mô tả "Codex in your sidebar") và Importer (v3.1.16); mũi tên đỏ chỉ vào mục Codex Panel trong danh sách Community plugins ở cột trái, nơi sẽ điền đường dẫn Codex executable (demo trong video đăng ngày 31/10/2026).

Hongzhao lưu ý (video đăng ngày 31/10/2026): đường dẫn có thể khác nhau tuỳ cách bạn cài Codex, nên hãy dùng đường dẫn lấy từ chính máy của bạn. Và nếu `which codex` không trả về gì, bạn cần kiểm tra Codex CLI được cài ở đâu, hoặc nó đã được thêm vào path chưa.

Bốn bước Install, Verify, Sign in, Locate theo các nhãn trên slide "Install Codex CLI." và lời Hongzhao trong video đăng ngày 31/10/2026.

## 9. Mở Codex Panel và thử tóm tắt một note

Khi mọi thứ đã cài đặt xong, đóng Settings. Nhấn Command + P để mở command palette, tìm "Codex Panel: Open panel" và bấm vào. Theo video đăng ngày 31/10/2026, lúc này ta có một panel chat Codex nằm ngay trong Obsidian.

Hongzhao bắt đầu bằng một bài thử đơn giản. Theo video đăng ngày 31/10/2026, ở đây bạn cũng chọn được model khác nhau. Để kiểm soát lượng token dùng, Hongzhao chọn GPT 5.6 cho ví dụ này (ô model trong panel ghi "gpt-5.6-luna").

Trong ô chat, Hongzhao gõ:

```
@active Summarize this note.
```

Theo Hongzhao (video đăng ngày 31/10/2026), cú pháp này bảo Codex tóm tắt note đang mở. Sau khi gửi prompt, ta thấy Codex đọc note hiện tại và chia nhỏ các ý chính ngay trong sidebar. Vậy là Codex đã chạy trực tiếp bên trong Obsidian (demo trong video đăng ngày 31/10/2026).

![Note AI Video Editing with Codex mở ở giữa, Codex Panel bên phải tóm tắt note thành năm bước](https://homus.dev/photos/9SbYN5WZvR4-1116.jpg)

Note "AI Video Editing with Codex" mở ở giữa; Codex Panel bên phải nhận "@active Summarize this note." và trả lời rằng note mô tả một workflow năm bước với Codex để tự động làm một video quảng bá Tesla Cybertruck, từ kiểm tra môi trường tới viết voiceover script; chân panel ghi model "gpt-5.6-luna" (demo trong video đăng ngày 31/10/2026).

## 10. Bước 4: dọn heading trùng ở nhiều note cùng lúc

Bước 4 là dọn note bằng AI, và Hongzhao thử một việc thực tế hơn: sửa nhiều note cùng lúc. Theo video đăng ngày 31/10/2026, tiêu đề xuất hiện hai lần ở đầu note. Cái thứ nhất là tiêu đề note do Obsidian hiển thị, cái thứ hai là một heading còn sót lại từ Notion khi tách nội dung.

Và đây không phải note duy nhất bị vậy; vài note khác cũng có heading trùng như thế. Ta có thể mở từng note để xoá bằng tay, nhưng theo Hongzhao (video đăng ngày 31/10/2026) như vậy sẽ tốn thêm rất nhiều công, nên Hongzhao để Codex xử lý. Hongzhao đọc prompt là: "Remove the duplicate headings at the top of the notes in the Notion slash Video Script folder. Keep everything else unchanged." Dòng thực sự gõ trong Codex Panel ở video đăng ngày 31/10/2026 là:

```
remove duplicate titles from app notes in Notion/Video Script/. keep everything else unchanged
```

Gửi đi, Codex kiểm tra các file và tìm những heading lặp lại tiêu đề note, rồi chuẩn bị thay đổi. Hongzhao xem nhanh, thấy ổn thì bấm Allow. Khi Codex xong, Hongzhao mở lại note: heading trùng đã biến mất, nội dung giờ bắt đầu ngay dưới tiêu đề note. Mở thêm vài note khác, heading trùng ở đó cũng đã được xoá. Thay vì sửa từng file, ta dọn hết trong một lượt (demo trong video đăng ngày 31/10/2026).

![Codex Panel báo đã xoá heading trùng, Edited 17 files, sidebar có thư mục Attachments mới](https://homus.dev/photos/9SbYN5WZvR4-1243.jpg)

Codex Panel trả lời "Removed the duplicate top-level title headings from the app notes in Notion/Video Script/. All other note content remains unchanged." kèm dòng "Edited 17 files"; note "Image Enhancement" ở giữa giờ chỉ còn một tiêu đề, và sidebar đã có thư mục Attachments (demo trong video đăng ngày 31/10/2026).

Cuối cùng, Hongzhao dọn danh sách file ở sidebar bên trái. Lúc đó các video script thật và một số note prompt phụ trợ đang lẫn vào nhau. Theo Hongzhao, những file như "5", "prompt" và "Untitled" nên nằm trong một thư mục riêng, nên Hongzhao chuyển các note phụ trợ đó vào thư mục Attachments. Vậy là cấu trúc thư mục gọn hơn nhiều và mọi thứ dễ tìm hơn (demo trong video đăng ngày 31/10/2026).

## 11. Bước 5: sắp xếp brand assets bằng Canvas

Bước 5 là sắp xếp brand assets bằng Canvas. Theo Hongzhao (video đăng ngày 31/10/2026), Obsidian không chỉ hữu ích để sắp xếp note dạng chữ, mà còn giúp sắp xếp ảnh và các asset hình ảnh khác.

Các bước trong video đăng ngày 31/10/2026: tạo một thư mục mới trong sidebar Obsidian và đặt tên là LUMENI. Bấm chuột phải vào thư mục, chọn "New canvas". Tiếp theo kéo các asset đã chuẩn bị vào, gồm logo, brand guidelines, packaging, ảnh quảng bá và mock-up website.

Hongzhao bắt đầu bằng cách đặt logo và brand guidelines cạnh nhau. Chọn cả hai, bấm chuột phải và chọn "Create group". Hongzhao đặt tên nhóm là "Brand Identity", rồi dùng cùng cách đó để xếp các ảnh còn lại vào các nhóm khác nhau (demo trong video đăng ngày 31/10/2026).

![Canvas Images trong thư mục LUMENI với bốn nhóm Brand Identity, Product Design, Marketing Materials và Website Design](https://homus.dev/photos/9SbYN5WZvR4-1343.jpg)

Canvas "Images" trong thư mục LUMENI: nhóm Brand Identity (logo và brand guideline), Product Design (packaging và một ảnh sản phẩm), Marketing Materials (bốn banner và một poster) và Website Design (ba trang mock-up); sidebar liệt kê các file PNG như banner, logo, Packaging, PDP, poster, website home page (demo trong video đăng ngày 31/10/2026).

Sau đó Hongzhao chuyển hết các file ảnh vào một thư mục attachments. Ta cũng có thể lưu các tài liệu liên quan ở đây, như file PDF "LUMENI, Concise Brand Foundation" (demo trong video đăng ngày 31/10/2026).

## 12. Chuyển PDF sang Markdown không cần AI

Theo Hongzhao (video đăng ngày 31/10/2026), khi làm việc với AI agent, Markdown thường dễ đọc và dễ sửa hơn PDF, và cấu trúc đơn giản hơn của nó có thể giúp giảm lượng token dùng không cần thiết. Ta có thể dùng Codex để chuyển PDF, nhưng Obsidian cũng có một plugin làm được việc này mà không cần AI.

Các bước trong video đăng ngày 31/10/2026: mở Settings, vào Community Plugins và bấm Browse. Tìm plugin "Convert to Markdown". Theo Hongzhao (video đăng ngày 31/10/2026), plugin này hỗ trợ PDF, file Word, bảng tính Excel, file PowerPoint, trang web, ảnh và nhiều loại khác. Bấm Install, rồi Enable.

Quay lại File Explorer, bấm chuột phải vào file PDF và chọn "Convert to Markdown". Vậy là xong: file PDF giờ là một note Markdown sửa được (demo trong video đăng ngày 31/10/2026). Note mới có các properties như source là file PDF gốc, source_format là pdf, ngày convert và số trang đã convert, rồi tới nội dung "LUMENI, Concise Brand Foundation" với mục "1. Positioning" (demo trong video đăng ngày 31/10/2026).

Theo Hongzhao (video đăng ngày 31/10/2026), Markdown dễ đọc và dễ sửa hơn PDF với AI agent; plugin Convert to Markdown đổi PDF sang note mà không cần AI.

## 13. Codex đọc brand LUMENI, đề xuất concept và làm poster

Khi file của project đã gọn gàng, Hongzhao mở Codex, mở thư mục LUMENI trong Codex và nhập prompt sau (demo trong video đăng ngày 31/10/2026):

```
Read the brand guidelines and design assets in my Obsidian LUMENI folder, then come up with 3 creative concepts for a new Instagram promotional image that fits the brand style.
```

![App Codex hỏi What should we work on in Notion? với prompt đọc brand guidelines trong thư mục LUMENI](https://homus.dev/photos/9SbYN5WZvR4-1503.jpg)

App Codex với câu chào "What should we work on in Notion?", thư mục Obsidian Vault được gắn vào ô chat cùng prompt yêu cầu đọc brand guidelines và design assets trong thư mục LUMENI rồi đề xuất ba concept cho một ảnh quảng bá Instagram (demo trong video đăng ngày 31/10/2026).

Codex đọc brand guidelines và design assets, rồi đưa ra ba concept sáng tạo cho một ảnh quảng bá trên Instagram (demo trong video đăng ngày 31/10/2026). Trong câu trả lời của Codex ở video, ba concept có tên "Light, Held" (ảnh sản phẩm biểu tượng), "A Gesture, Repeated" (ảnh nghi thức có bàn tay người) và "A Study in Stillness" (ảnh editorial với thực vật); mỗi concept có headline, dòng phụ, layout, asset tham chiếu và lý do phù hợp. Concept thứ nhất có headline "Light, held." và dòng phụ "One oil. Three rituals.", dựa vào cách xử lý sản phẩm trong file `banner2.png`.

Hongzhao chọn concept thứ nhất và nhờ Codex làm một poster dựa trên nó. Theo Hongzhao (demo trong video đăng ngày 31/10/2026), ở kết quả, logo, packaging và tổng thể sản phẩm nhất quán với các brand asset gốc.

![Poster LUMENI Light, held. One oil. Three rituals. với chai tinh dầu hổ phách trên khối đá](https://homus.dev/photos/9SbYN5WZvR4-1543.jpg)

Poster Codex tạo theo concept thứ nhất: chữ LUMENI ở trên, headline "Light, held.", dòng "One oil. Three rituals.", một chai tinh dầu màu hổ phách nhãn LUMENI đặt trên khối đá dưới vệt nắng (demo trong video đăng ngày 31/10/2026).

Theo Hongzhao (video đăng ngày 31/10/2026), trước đây ta phải upload ảnh tham chiếu mỗi lần và giải thích lại phong cách brand từ đầu. Còn giờ, khi mọi thứ đã được sắp xếp trong Obsidian, Codex có thể truy cập thẳng những file đó.

Tiếp theo, Hongzhao nhờ Codex thêm poster mới vào nhóm đã tạo trước đó trong Canvas. Prompt trong app Codex ghi: "Name this image IG.png and save it in Obsidian Vault/LUMENI/Image/. Then add it to the Marketing Materials group in my LUMENI Brand Board Canvas." Codex chạy 55 giây, báo đã lưu poster thành `IG.png` ở kích thước 1080 × 1350, đã thêm nó vào bên phải nhóm Marketing Materials, nới rộng nhóm để chứa nó và giữ nguyên các mục có sẵn (demo trong video đăng ngày 31/10/2026). Quay lại Obsidian kiểm tra, poster Instagram mới đã nằm cạnh các brand asset gốc (demo trong video đăng ngày 31/10/2026).

## 14. Bước 6: lưu web và video bằng Web Clipper

Bước cuối là Web Clipper cùng Graph View. Theo Hongzhao (video đăng ngày 31/10/2026), Web Clipper là extension cho browser của Obsidian, cho phép lưu trang web và nội dung từ mạng xã hội thẳng vào Obsidian. Trước hết, cài extension vào browser. Sau đó, mỗi khi gặp thứ muốn lưu, chỉ cần bấm biểu tượng Obsidian ở góc trên bên phải.

Theo video đăng ngày 31/10/2026, Web Clipper sẽ hiện nội dung nó đã gom từ trang, và bạn có thể sửa nội dung trước khi lưu. Bấm "Add to Obsidian", nội dung sẽ được lưu thẳng vào vault. Trang Web Clipper của Obsidian cũng mô tả extension là để lưu và highlight trang web, "Save anything and everything with just one click" (đọc ngày 01/11/2026).

Hongzhao dùng một video trên kênh YouTube của chính mình làm ví dụ. Theo demo trong video đăng ngày 31/10/2026, Web Clipper lấy được cả phần lời của video, kèm mốc thời gian từng câu. Và tất nhiên bạn cũng sửa được nội dung đã lưu ngay trong Obsidian. Theo video đăng ngày 31/10/2026, mặc định các note này được lưu trong thư mục Clippings.

![Note trong thư mục Clippings với ảnh video Codex Save Tokens 6 Tips và phần lời của video theo mốc thời gian](https://homus.dev/photos/9SbYN5WZvR4-1703.jpg)

Note được Web Clipper lưu vào Clippings: ảnh đại diện video "Running Out of Codex Usage? 6 Tips to Save Tokens", rồi phần lời của video chia theo mục và mốc thời gian, bắt đầu từ "Introduction: Why Codex usage runs out faster than expected" (demo trong video đăng ngày 31/10/2026).

## 15. Graph View và cách nối hai note

Giờ bấm Graph View ở sidebar bên trái. Theo Hongzhao (video đăng ngày 31/10/2026), nó cho ta một bản đồ trực quan của mọi note trong vault. Mỗi chấm là một note, và bạn bấm vào chấm nào cũng mở được note đó. Theo Hongzhao, đây là một cách rất hay để khám phá note và nhanh chóng tìm nội dung liên quan. Các đường nối giữa các chấm thể hiện link giữa các note.

![Graph view của vault với các chấm mang tên note và vài đường nối](https://homus.dev/photos/9SbYN5WZvR4-1743.jpg)

Graph view của vault: mỗi chấm là một note như "Why use a JSON prompt?", "prompt", "Image Enhancement", "LUMENI, Concise Brand Foundation" hay "Codex 6 Tips"; vài đường nối thể hiện các note đã link với nhau (demo trong video đăng ngày 31/10/2026).

Ví dụ, note "Why use a JSON prompt?" và note "prompt" đã được nối với nhau. Theo Hongzhao (video đăng ngày 31/10/2026), tạo những link này rất đơn giản. Hongzhao mở note "Codex 6 Tips". Ở bất kỳ chỗ nào trong note, Hongzhao gõ "Related video script", rồi gõ hai dấu ngoặc vuông:

```
[[
```

Theo video đăng ngày 31/10/2026, Obsidian sẽ hiện danh sách các note có thể link tới. Hongzhao tìm và chọn note "Codex 6 Tips to Save Tokens" từ thư mục video script. Vậy là hai note đã được nối với nhau (demo trong video đăng ngày 31/10/2026). Từ giờ, mỗi khi muốn tìm nội dung liên quan, Hongzhao có thể nhảy qua lại giữa hai note này. Và nếu quay lại Graph View, ta thấy đường nối giữa chúng.

## Nguồn và liên kết

- Tên gốc: Obsidian + Codex: Build a FREE AI Knowledge Base (Full Tutorial)
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=9SbYN5WZvR4](https://www.youtube.com/watch?v=9SbYN5WZvR4)

- Kênh YouTube Hongzhao (Hongzhao): [youtube.com/channel/UCtYAXV1N6ZTbGfbKWt2nN9g](https://www.youtube.com/channel/UCtYAXV1N6ZTbGfbKWt2nN9g)

- Obsidian, app note lưu file Markdown trên máy (đọc ngày 01/11/2026): [obsidian.md](https://obsidian.md/)

- Obsidian Help, Import from Notion (đọc ngày 01/11/2026): [help.obsidian.md/import/notion](https://help.obsidian.md/import/notion)

- Repo plugin Importer của Obsidian, mô tả là chuyển dữ liệu sang file Markdown dùng được trong Obsidian, hỗ trợ Apple Notes, OneNote, Evernote, Notion, Google Keep và nhiều định dạng khác (đọc ngày 01/11/2026): [github.com/obsidianmd/obsidian-importer](https://github.com/obsidianmd/obsidian-importer)

- Codex CLI của OpenAI, trang tài liệu có lệnh cài `npm install -g @openai/codex` (đọc ngày 01/11/2026): [developers.openai.com/codex/cli](https://developers.openai.com/codex/cli)

- Obsidian Help, Canvas (đọc ngày 01/11/2026): [help.obsidian.md/plugins/canvas](https://help.obsidian.md/plugins/canvas)

- Obsidian Web Clipper (đọc ngày 01/11/2026): [obsidian.md/clipper](https://obsidian.md/clipper)

- Obsidian Help, Graph view (đọc ngày 01/11/2026): [help.obsidian.md/plugins/graph](https://help.obsidian.md/plugins/graph)

Nguồn: https://homus.dev/talks/obsidian-codex-build-a-free-ai-knowledge-base-full-tutorial · cập nhật 2026-11-01
