close

graphify

Mã nguồn mở bởi Graphify-Labs

graphify là công cụ dòng lệnh biến cả dự án (mã nguồn, tài liệu, PDF, ảnh, video) thành một đồ thị tri thức, để trợ lý lập trình AI truy vấn thay vì grep từng file. Phần mã nguồn được phân tích ngay trên máy bằng tree-sitter, không cần gọi mô hình AI.

graphify dùng để làm gì?

  • Vẽ bản đồ kiến trúc cả codebase thành đồ thị bấm, lọc, tìm kiếm được trên trình duyệt
  • Hỏi về mã nguồn bằng câu tự nhiên với lệnh graphify query
  • Truy đường nối giữa hai thành phần, ví dụ từ lớp API tới model dữ liệu
  • Giúp Claude Code, Cursor, Codex… tra đồ thị trước khi đọc từng file
  • Đưa tài liệu, bài báo, video vào cùng đồ thị với mã nguồn

Giao diện

Ảnh và video lấy từ README của dự án trên GitHub, bản quyền thuộc nhóm phát triển.

Cần biết trước khi dùng

  • Cần chú ýHướng dẫn cài có dạng "curl … | sh": chạy script từ Internet trực tiếp, nên đọc script trước khi chạy.
  • Lưu ýTino chưa kiểm thử dự án này.

Kiểm tra tự động ngày 04/11/2026 từ dữ liệu GitHub, OSV.dev và docker-compose. Đây không phải chứng nhận bảo mật; Tino không phát triển hay bảo trì repo này.

graphify là gì?

Khi trợ lý AI cần hiểu một dự án lớn, nó thường phải grep và đọc rất nhiều file, vừa tốn token vừa dễ sót mối liên hệ. graphify quét dự án một lần và tạo đồ thị tri thức: mỗi nút là một khái niệm (lớp, hàm, file, tài liệu), mỗi cạnh là một quan hệ như gọi hàm, import, kế thừa.

Mã nguồn khoảng 40 ngôn ngữ được phân tích bằng tree-sitter ngay trên máy, không dùng LLM và không gửi dữ liệu đi. Tài liệu, PDF, ảnh mới cần một lượt phân tích ngữ nghĩa bằng mô hình của trợ lý bạn đang dùng hoặc khoá API bạn cấu hình. Mỗi cạnh được gắn nhãn EXTRACTED (đọc trực tiếp từ nguồn) hoặc INFERRED (graphify suy ra), nên bạn biết thông tin nào chắc chắn.

Kết quả gồm 3 file trong thư mục graphify-out: graph.html để xem đồ thị trên trình duyệt, GRAPH_REPORT.md tóm tắt các khái niệm chính và gợi ý câu hỏi, graph.json chứa toàn bộ đồ thị để truy vấn về sau. graphify không phải chỉ mục vector: không có embedding, đây là đồ thị thật để duyệt.

Nhóm phát triển còn có bản trả phí Graphify Cloud (đồ thị cập nhật liên tục, nhiều repo). Trang này chỉ nói về bản mã nguồn mở chạy trên máy.

Nên dùng khi

  • Bạn mới vào một codebase lớn và cần nắm kiến trúc nhanh
  • Trợ lý AI tốn nhiều token để đọc lại file mỗi lần bạn hỏi về dự án
  • Bạn muốn biết hai thành phần trong mã nguồn liên quan với nhau qua đâu

Không nên dùng khi

  • Dự án chỉ vài file, trợ lý đọc thẳng còn nhanh hơn dựng đồ thị
  • Tài liệu nội bộ không được gửi ra ngoài mà bạn chưa đặt --code-only hoặc GRAPHIFY_BACKEND=ollama
  • Máy không có Python 3.10 trở lên

Tính năng chính

  • God nodes: các khái niệm có nhiều liên kết nhất, nơi mọi luồng đi qua
  • Communities: chia đồ thị thành các phân hệ, đặt tên không cần LLM
  • Liên kết giữa các file (calls, imports, inherits) cho khoảng 40 ngôn ngữ
  • Lệnh query, path, explain chạy trên graph.json
  • Ghi chú # NOTE:, # WHY: và trích dẫn ADR/RFC thành nút riêng gắn với mã
  • Đưa tài liệu, PDF, ảnh, âm thanh, video vào cùng đồ thị
  • Hỗ trợ hơn 20 trợ lý: Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot…
  • Không gửi telemetry, không theo dõi sử dụng

Cách cài đặt graphify

  1. Cài Python 3.10+ và uv (Ubuntu/Debian) macOS: brew install python@3.12 uv. Windows: winget install astral-sh.uv. Đã có Python 3.10+ và uv thì bỏ qua bước này.
    sudo apt install python3.12 python3-pip pipx
    # or install uv:
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Cài công cụ graphify Tên gói chính thức trên PyPI là graphifyy (hai chữ y); các gói graphify* khác không phải của nhóm phát triển. Không dùng uv thì chạy pipx install graphifyy. Cài xong mà không tìm thấy lệnh graphify thì chạy uv tool update-shell.
    uv tool install graphifyy
  3. Đăng ký vào trợ lý AI Lệnh tự nhận trợ lý bạn đang dùng và đăng ký skill (mặc định Claude Code). Trợ lý khác dùng cờ --platform, ví dụ graphify install --platform codex, hoặc lệnh riêng như graphify cursor install.
    graphify install
  4. Dựng đồ thị cho dự án Gõ trong ô chat của trợ lý AI, đứng ở thư mục dự án. Codex dùng $graphify thay cho /graphify.
    /graphify .

Lệnh chép từ README của dự án. Đọc kỹ trước khi chạy và đối chiếu với README mới nhất, vì lệnh có thể đổi theo phiên bản.

Cấu hình quan trọng

MụcÝ nghĩa
GRAPHIFY_BACKENDChọn backend cho lượt phân tích ngữ nghĩa; ollama để chạy hoàn toàn trên máy, none để tắt mọi LLM và chỉ dựng đồ thị mã nguồn
ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY…Khoá API khi chạy graphify extract không qua trợ lý; graphify tự chọn nhà cung cấp theo khoá đang đặt và in ra biến đã dùng
GRAPHIFY_QUERY_LOG_DISABLEĐặt 1 để không ghi log truy vấn vào ~/.cache/graphify-queries.log
.graphifyrcFile cấu hình trong thư mục dự án, ví dụ language.inc=php để khai báo đuôi file dễ nhầm ngôn ngữ

Cách tích hợp và sử dụng

  1. Mở kết quảMở graphify-out/graph.html trên trình duyệt để bấm vào nút, lọc, tìm kiếm; đọc GRAPH_REPORT.md để xem các khái niệm chính.
  2. Hỏi đồ thịgraphify query "what connects auth to the database?" trả về phần đồ thị liên quan tới câu hỏi; graphify path "UserService" "DatabasePool" truy đường nối giữa hai thành phần; graphify explain "RateLimiter" giải thích một khái niệm.
  3. Để trợ lý luôn dùng đồ thịChạy graphify claude install (hoặc graphify codex install…) trong dự án. Với Claude Code, một hook nhắc trợ lý tra đồ thị trước khi tìm kiếm hay đọc từng file; Codex, Cursor dùng file hướng dẫn như AGENTS.md.
  4. Tự cập nhật đồ thịgraphify hook install để dựng lại đồ thị mỗi lần commit và đổi nhánh; sau git pull thì chạy graphify update .
  5. Gỡ cài đặtgraphify uninstall gỡ khỏi mọi trợ lý; thêm --purge để xoá cả thư mục graphify-out.

Cập nhật và sao lưu

Đồ thị nằm trong thư mục graphify-out/ của dự án và có thể commit để cả nhóm dùng chung. Sau khi mã thay đổi, chạy /graphify . --update hoặc graphify update . để chỉ dựng lại phần đã đổi.

README không nêu lệnh nâng cấp riêng cho công cụ.

Câu hỏi thường gặp

Vì sao tên gói là graphifyy?

Gói chính thức trên PyPI là graphifyy (hai chữ y), còn lệnh vẫn là graphify. README cảnh báo các gói graphify* khác trên PyPI không phải của nhóm phát triển.

Mã nguồn của tôi có bị gửi ra ngoài không?

File mã nguồn thì không: chúng được phân tích bằng tree-sitter trên máy. Tài liệu, PDF, ảnh được gửi tới mô hình của trợ lý hoặc khoá API bạn cấu hình; dùng --code-only hoặc GRAPHIFY_BACKEND=ollama nếu muốn giữ mọi thứ trên máy.

graphify khác RAG dùng vector thế nào?

graphify không tạo embedding hay kho vector; nó dựng đồ thị quan hệ thật để duyệt, truy đường nối và giải thích từng khái niệm.

Có cần cài graphify lên VPS không?

Không bắt buộc. graphify chạy ở nơi đặt mã nguồn và trợ lý AI: máy cá nhân hoặc máy chủ phát triển.

Ứng dụng liên quan

Miễn trừ trách nhiệm

Tino không phát triển, không sở hữu và không liên kết với graphify hay nhóm phát triển Graphify-Labs. Tên, logo và nhãn hiệu thuộc về chủ sở hữu tương ứng; việc nhắc tới chỉ để mô tả, không có nghĩa là dự án xác nhận hay hợp tác với Tino.

graphify được phân phối theo giấy phép Apache-2.0 của nhóm phát triển. Tino không bảo đảm về tính năng, bảo mật hay mức độ phù hợp của phần mềm; bạn tự chịu trách nhiệm khi cài đặt, cấu hình và sử dụng.

Lệnh cài và thông tin trên trang lấy từ tài liệu công khai của dự án tại thời điểm cập nhật và có thể đã thay đổi. Đọc tài liệu chính thức và sao lưu dữ liệu trước khi chạy trên máy chủ thật.