KB-6A28 rev 15

Rà soát Công cụ Có sẵn — Tools Inventory

11 min read Revision 15
architecturetoolsdirectusnuxtinventorygap-analysis

Rà soát Công cụ Có sẵn — Tools Inventory

v1.2 | 2026-03-10 S109 — 111 DOT tools (108 registered, 3 orphan). DOT Việt hoá 18 categories. +dot-duplicate-engine (kế hoạch, Luật v1.2). +dot-registry-crosscheck v3 (kiểm chứng ngược). +dot-layer-integrity-audit v2 (check mô tả). +dot-registry-baseline-set. +dot-update-tool-categories-vn. Rà soát những gì Directus, Nuxt, Langroid, Agency OS, nguồn mở ĐÃ CÓ để tận dụng tối đa. search_knowledge("tools inventory công cụ có sẵn")


NGUYÊN TẮC: TẬN DỤNG TRƯỚC, XÂY SAU

Trước khi xây bất cứ thứ gì → kiểm tra 4 nguồn theo thứ tự:

  1. Directus built-in (system collections, APIs, Flows, hooks)
  2. Nuxt/Agency OS built-in (modules, composables, UI components)
  3. Nguồn mở bên ngoài (npm packages, Directus extensions, tools)
  4. Code mới (CHỈ KHI 1-3 không giải quyết được)

1. DIRECTUS — CÁI GÌ ĐÃ CÓ SẴN

1.1 Registry System (Directus = Registry Engine bẩm sinh)

Directus BẢN CHẤT đã là 1 metadata registry engine. Mỗi collection, field, relation đều có metadata record.

Directus system collection Chức năng Có sẵn
directus_collections Registry TẤT CẢ collections + metadata (note, icon, group, color, singleton, translations)
directus_fields Registry TẤT CẢ fields + metadata (note, interface, display, options, sort, group, translations, validations)
directus_relations Registry TẤT CẢ relationships
directus_permissions Registry TẤT CẢ access control rules
directus_flows Registry TẤT CẢ automation flows
directus_operations Registry TẤT CẢ flow operations
directus_activity Audit log TẤT CẢ actions
directus_revisions Version history TẤT CẢ item changes

Phát hiện quan trọng: Directus ĐÃ CÓ registry cho database entities. Vấn đề: chúng ta KHÔNG KHAI THÁC.

Cụ thể thiếu gì:

  • meta.note trên collections và fields: ✅ ĐÃ ĐIỀN 100% (PHASE1-FILL PR #450). Coverage: 100% fields, 100% collection notes.
  • meta.group trên collections: ✅ ĐÃ TỔ CHỨC 86.8% (PHASE1-FILL). 14 ungrouped = top-level parents.
  • Field note: ✅ ĐÃ ĐIỀN 100% — Vietnamese descriptions cho 695 fields.
  • Field translations: Hỗ trợ đa ngôn ngữ cho field names. ĐÃ CÓ. KHÔNG DÙNG.
  • Content Versioning: Theo dõi thay đổi nội dung. ĐÃ CÓ.

KẾT LUẬN: ✅ Metadata cơ bản ĐÃ HOÀN THÀNH 100% (PHASE1-FILL). Không còn fields/collections trống note. Tiếp theo: tạo registry collections cho thực thể chưa có (DOT tools, pages, collections, agents) → REGISTRY-ENGINE mission.

1.2 Automation (Directus Flows)

Khả năng Trạng thái Giới hạn
Event trigger (item create/update/delete) ✅ Có Không CRUD cùng collection với trigger
Schedule trigger (cron) ✅ Có
Webhook trigger ✅ Có
Send notification ✅ Có
Send webhook ✅ Có
Run script (JavaScript) ✅ Có Sandbox, limited APIs
Condition logic ✅ Có
Loop/iteration ❌ KHÔNG Cần external service

Dùng cho: Tầng 5 (giám sát) — khi collection thay đổi → trigger kiểm tra → cảnh báo. Nhưng giới hạn: không loop, không CRUD cùng collection.

1.3 Directus APIs đã có

API Dùng cho
/collections Quản lý collections (CRUD) — ADMIN ONLY
/fields Quản lý fields (CRUD) — ADMIN ONLY
/fields/:collection List fields của 1 collection
/relations Quản lý relationships
/schema/snapshot Export TOÀN BỘ schema (JSON) — rất hữu ích cho audit
/schema/diff So sánh schema hiện tại với snapshot — phát hiện drift
/schema/apply Áp dụng schema changes — migration
/activity Audit log
/revisions Version history
/server/info Server info + health

Phát hiện: /schema/snapshot + /schema/diff = công cụ phát hiện schema drift có sẵn. ✅ ĐÃ KHAI THÁC — DOT tools dot-schema-snapshot + dot-schema-diff (PR #449).

1.4 Directus Extensions ecosystem

Extension type Dùng cho Có sẵn
Hooks Chạy code khi event xảy ra (không giới hạn như Flows) ✅ Có thể tự viết
Endpoints Custom API routes trong Directus ✅ Có thể tự viết
Modules Custom pages trong Directus Admin UI ✅ Có thể tự viết
Interfaces Custom field inputs
Displays Custom field displays
Panels Dashboard widgets

Quan trọng: Directus Hooks = giải pháp cho giới hạn Flows. Hook có thể chạy arbitrary code (bao gồm loop, CRUD bất kỳ collection) khi event xảy ra.


2. NUXT / AGENCY OS — CÁI GÌ ĐÃ CÓ

2.1 Nuxt UI v2.22.3

23 components đang dùng, ~15+ chưa dùng. Đã inventory trong Assembly SSOT.

2.2 Agency OS Template

Feature Trạng thái Khai thác
Portal pages (projects, tasks, invoices) ✅ Có Dùng làm mẫu cho knowledge pages
Auth + SSO ✅ Có Chưa cần
Layout system (sidebar, header, content) ✅ Có Đang dùng
Composables (useDirectus, useAsyncData) ✅ Có Đang dùng
SEO + sitemap ✅ Có Đang dùng

2.3 Nuxt Modules ecosystem

Module Dùng cho Trạng thái
@nuxt/content File-based CMS Không cần (dùng Directus)
@nuxtjs/i18n Đa ngôn ngữ UI Chưa cài, CẦN cho Vietnamese labels
@vueuse/nuxt Utility composables Chưa cài, HỮU ÍCH

3. AGENT DATA / LANGROID — CÁI GÌ ĐÃ CÓ

Feature Trạng thái Khai thác
Document CRUD Đang dùng cho SSOT
Vector search (RAG) Đang dùng
Event system (webhooks → Directus sync) Đang dùng
Batch read Đang dùng
Patch document Đang dùng
Audit sync (/kb/audit-sync) Đang dùng

4. NGUỒN MỞ BÊN NGOÀI CẦN XEM XÉT

4.1 Cho Tầng 2 (Registry + Metadata)

Tool Mục đích Đánh giá
Directus schema/snapshot API Export/diff/apply schema — phát hiện drift ★★★ ĐÃ CÓ SẴN, chỉ cần DÙNG
Directus Hooks extension Entity lifecycle enforcement — chặn tạo không qua quy trình ★★★ Cần viết
Directus Tags interface Gắn tags cho items (classification) ★★ Đã có sẵn trong Directus

4.2 Cho Tầng 5 (Giám sát)

Tool Mục đích Đánh giá
Directus Flows (cron) Chạy kiểm tra định kỳ ★★★ Đã có
Directus Hooks Realtime enforcement — chặn ngay khi vi phạm ★★★ Cần viết
Prefect Orchestration cho complex workflows ★★ Planned, chưa triển khai

4.3 Cho batch metadata

Tool Mục đích Đánh giá
Directus /fields API Batch update field notes/metadata ★★★ Đã có, qua DOT script
/schema/snapshot Export toàn bộ → phân tích → tìm fields thiếu note ★★★
DOT script mới: dot-metadata-audit Quét all fields → báo cáo coverage % ✅ ĐÃ TẠO (PR #449)
DOT script: dot-metadata-fill Bulk fill Vietnamese metadata cho collections/fields. 695 fields, 38 collections filled. ✅ ĐÃ TẠO (PR #450)

5. GAP ANALYSIS — THIẾU GÌ THỰC SỰ

KHÔNG cần tạo mới (chỉ cần KHAI THÁC):

  1. Collection/field metadata → Directus meta.note, meta.group, translations ĐÃ CÓ
  2. Schema audit → /schema/snapshot + /schema/diff ĐÃ CÓ
  3. Activity log → directus_activity ĐÃ CÓ
  4. Version history → directus_revisions ĐÃ CÓ
  5. Field grouping → Directus field groups ĐÃ CÓ
  6. Config versioningdirectus_revisions ĐÃ CÓ (GPT đề xuất xây mới — KHÔNG CẦN)
  7. Event bus → Directus Flows + Hooks + Agent Data Events ĐỦ (GPT đề xuất xây mới — KHÔNG CẦN)
  8. UI layouts registry → Nuxt layout system + Agency OS ĐÃ CÓ (GPT đề xuất — KHÔNG CẦN)

CẦN tạo mới:

  1. collection_registry — meta-layer: phân loại collections (core/module/data), owner, status vòng đời, tầng kiến trúc → REGISTRY-ENGINE Mission 1
  2. ui_tables → ✅ ĐÃ TẠO (table_registry PR #445, 8 records)
  3. ui_pages — registry routes/pages → REGISTRY-ENGINE Mission 1
  4. ui_components — đợi khi cần
  5. dot_tools — registry DOT tools (thay markdown file) → REGISTRY-ENGINE Mission 1
  6. api_endpoints — đợi khi cần
  7. entity_dependencies — dependency graph → Phase 2-3
  8. schema_change_requests — schema governance → Phase 2-3
  9. event_registry — đợi khi cần
  10. Directus Hook extension — entity lifecycle enforcement → Phase 2-3
  11. DOT: dot-metadata-audit — ✅ ĐÃ TẠO (PR #449)
  12. DOT: dot-metadata-fill — ✅ ĐÃ TẠO (PR #450)
  13. DOT: dot-schema-snapshot — ✅ ĐÃ TẠO (PR #449)
  14. DOT: dot-schema-diff — ✅ ĐÃ TẠO (PR #449)
  15. DOT: dot-entity-create — script chuẩn tạo entity mới → REGISTRY-ENGINE
  16. DOT: dot-registry-diff — quét toàn bộ, phát hiện lệch → REGISTRY-ENGINE Mission 3
  17. meta_catalog → ✅ ĐÃ TẠO (S105, 11 records)
  18. agents — registry agents → REGISTRY-ENGINE Mission 1
  19. Cron job / Directus Flow — auto-count, auto-ID → REGISTRY-ENGINE Mission 2

TỔNG KẾT (cập nhật S106 — Phase 2 bắt đầu):

  • 70% nhu cầu = ĐÃ KHAI THÁC Directus (note ✅ 100%, group ✅ 86.8%, schema snapshot ✅, audit ✅, 13 auto-ID flows ✅)
  • 20% = ĐÃ TẠO registry collections — 13 entries trong meta_catalog, 248+ items populated, 3-layer UI
  • 10% = CẦN LÀM TIẾP — Orphan Scanner (TD-094), Duplicate Engine (TD-083), dot-catalog-sync auto (TD-085)

DOT tools cốt lõi S106: dot-schema-snapshot, dot-schema-diff, dot-metadata-audit, dot-metadata-fill, dot-registry-diff, dot-registry-populate, dot-flow-setup-auto-id, dot-schema-registry-collections-ensure, dot-schema-checkpoint-node-identity.

Công cụ nguồn mở đánh giá:

  • Ansible — ★★★ cho VPS migration (TD-092). Industry standard. Playbook trong Git.
  • n8n — ★★ cho workflow orchestration Phase 3+. Self-hostable. CHƯA CẦN ngay.
  • Grafana/Prometheus — ❌ quá nặng. Nuxt + meta_catalog đủ cho monitoring.
  • Apache Atlas/DataHub — ❌ quá nặng. Directus IS registry engine.

Đồ sẵn có cho Orphan Scanner: Directus API (list_collections, get_items) + bash (ls, find, grep) + Agent Data API (upload report) = ĐỦ. Không cần tool bên ngoài.