RepoTrending
Về bảng xếp hạng
GitHubAI AgentPython

Graphify-Labs/graphify

Biến bất kỳ cơ sở mã nào, với các tài liệu, lược đồ SQL, cấu hình và tệp PDF, thành một biểu đồ tri thức có thể truy vấn được. Kỹ năng /graphify cho Claude Code, Cursor, Codex và Gemini CLI: phân tích cú pháp AST xác định cục bộ, giải thích mọi cạnh, không lưu trữ vectơ.

110k sao11k fork

README

Graphify

Graphify-Labs%2Fgraphify | Trendshift

Đọc nội dung này bằng các ngôn ngữ khác

🇺🇸 Tiếng Anh | 🇨🇳 简体中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇩🇪 tiếng Đức | 🇫🇷 người Pháp | 🇪🇸 tiếng Tây Ban Nha | 🇮🇳 हिन्दी | 🇧🇷 người Bồ Đào Nha | 🇷🇺 Русский | 🇸🇦 العربية | 🇮🇷 فارسی | 🇮🇹 tiếng Ý | 🇵🇱 Tiếng Ba Lan | 🇳🇱 Hà Lan | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇻🇳 Tiếng Việt | 🇮🇩 Tiếng Bahasa Indonesia | 🇸🇪 Svenska | 🇬🇷 Ελληνικά | 🇷🇴 Româna | 🇨🇿 Čeština | 🇫🇮 Suomi | 🇩🇰 Đan Mạch | 🇳🇴 Norsk | 🇭🇺 Tiếng Magyar | 🇹🇭 ภาษาไทย | 🇺🇿 Oʻzbekcha | 🇹🇼 繁體中文 | 🇵🇭 Tiếng Philippin | 🇮🇱 עברית

PyPI Downloads Discord YouTube LinkedIn YC S26

Quyền truy cập sớm vào nền tảng đồ thị được mở trước khi ra mắt phiên bản v1 công khai: app.graphify.com

Loại /graphify trong trợ lý mã hóa AI của bạn và nó ánh xạ toàn bộ dự án của bạn (mã, tài liệu, PDF, hình ảnh, video) vào một đồ thị kiến thức bạn có thể truy vấn thay vì grpping thông qua các tập tin.

  • Bản đồ mã miễn phí, hoàn toàn địa phương. Mã được phân tích cú pháp bằng AST người chăm sóc cây: xác định, không có LLM, không có gì rời khỏi máy của bạn. (Tài liệu, PDF, hình ảnh và video sử dụng mô hình trợ lý của bạn hoặc khóa API đã định cấu hình để vượt qua ngữ nghĩa.)
  • Mọi cạnh đều được giải thích. Mỗi kết nối được gắn thẻ EXTRACTED (rõ ràng trong nguồn) hoặc INFERRED (được giải quyết bằng đồ thị), vì vậy bạn có thể biết nội dung đã được đọc trực tiếp từ nội dung được suy ra.
  • Không phải là chỉ số vectơ. Không nhúng, không lưu trữ vectơ: một biểu đồ thực mà bạn duyệt qua. Đặt câu hỏi, tìm đường dẫn giữa hai sự vật hoặc giải thích một khái niệm.

Bạn muốn tính năng này luôn bật, cập nhật ở chế độ nền trên mã, tài liệu và cuộc họp của bạn thay vì chỉ theo yêu cầu? Đó là những gì chúng tôi đang xây dựng đồ họa.com, và quyền truy cập sớm hiện đang mở tại app.graphify.com.

graphify's interactive graph.html showing the FastAPI codebase as a force-directed knowledge graph with a legend of detected communities

Cơ sở mã FastAPI được ánh xạ bởi đồ họa. Mỗi nút là một khái niệm, màu sắc là các cộng đồng được phát hiện và toàn bộ nội dung đều có thể nhấp vào trong graph.html.

Bắt đầu (30 giây):

uv tool install graphifyy      # install the CLI (or: pipx install graphifyy)
graphify install               # register the skill with your AI assistant

Sau đó, trong trợ lý AI của bạn:

/graphify .

Thế thôi. Bạn nhận được ba tập tin:

graphify-out/
├── graph.html       open in any browser — click nodes, filter, search
├── GRAPH_REPORT.md  the highlights: key concepts, surprising connections, suggested questions
└── graph.json       the full graph — query it anytime without re-reading your files

Hoạt động ở Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot và hơn 15 loại khác — chọn nền tảng của bạn.


Xem nó hoạt động

graphify path query: a terminal asks for the shortest path between FastAPI and ModelField, and the answer lights up hop by hop across the knowledge graph

Khi biểu đồ được xây dựng, bạn truy vấn nó thay vì đọc tệp. Đầu ra thực, chạy đồ thị trên cơ sở mã FastAPI được hiển thị ở trên:

$ graphify explain "APIRouter"
Node: APIRouter
  Source:    routing.py L2210
  Community: 2
  Degree:    47

Connections (47):
  --> RequestValidationError [uses] [INFERRED]
  --> Dependant [uses] [INFERRED]
  --> .get() [method] [EXTRACTED]
  <-- __init__.py [imports] [EXTRACTED]
  ...

$ graphify path "FastAPI" "ModelField"
Shortest path (3 hops):
  FastAPI --uses--> DefaultPlaceholder <--references-- get_request_handler() --references--> ModelField

Mỗi cạnh mang một thẻ tự tin (EXTRACTED = rõ ràng trong nguồn, INFERRED = bắt nguồn từ độ phân giải), do đó bạn có thể biết nội dung đã đọc trực tiếp từ nội dung được suy ra. graphify query "<question>" trả về một sơ đồ con có phạm vi cho một câu hỏi bằng ngôn ngữ đơn giản và graphify path A B theo dõi cách hai thứ kết nối với nhau.


Nó làm gì

Những gì bạn nhận được khi ra khỏi hộp:

Khả năng Những gì bạn nhận được
nút thần Các khái niệm được kết nối nhiều nhất nên bạn có thể thấy mọi thứ diễn ra như thế nào
Cộng đồng Biểu đồ được chia thành các hệ thống con (Leiden), với nhãn không có LLM
Liên kết chéo tập tin calls / imports / inherits / mixes_in được giải quyết trên ~40 ngôn ngữ thông qua AST người trông cây
Truy vấn, đường dẫn, giải thích Đặt một câu hỏi, tìm ra con đường giữa hai sự vật hoặc giải thích một khái niệm, tất cả đều trái ngược với graph.json
Cơ sở lý luận + tài liệu giới thiệu # NOTE: / # WHY: nhận xét và trích dẫn ADR/RFC trở thành nút hạng nhất được liên kết với mã
Ngoài mã Tất cả tài liệu, PDF, hình ảnh và video/âm thanh đều được ánh xạ vào cùng một biểu đồ
Ưu tiên địa phương Mã được phân tích cú pháp cục bộ bằng tree-sitter (không có LLM, không có gì rời khỏi máy của bạn); chỉ việc truyền ngữ nghĩa qua tài liệu/phương tiện mới gọi là chương trình phụ trợ và chỉ khi bạn định cấu hình một chương trình

Điểm chuẩn

Điểm chuẩn Số liệu đồ họa hóa trường
LOCOMO (n=300) thu hồi@10 0.497 mem0 0,048, siêu bộ nhớ 0,149
LOCOMO (n=300) Độ chính xác của QA 45.3% siêu bộ nhớ 49,7%, mem0 27,3%
LongMemEval-S (n=50) Độ chính xác của QA 76% gắn chặt với RAG dày đặc
Xây dựng đồ thị tín dụng LLM 0 mỗi mã thông báo cho hầu hết các hệ thống

Mọi hệ thống đều chạy trên cùng một dây nịt với cùng một mẫu mã và ngân sách, được đánh giá bởi một thẩm phán được xác nhận mù quáng đối với thẩm phán thứ hai (thỏa thuận 90,6%, kappa của Cohen 0,81). Bảng đầy đủ trên mỗi hệ thống, kết quả mã thông minh và các lệnh sao chép: Benchmarks.md.


Điều kiện tiên quyết

Yêu cầu tối thiểu Kiểm tra cài đặt
Python 3.10+ python --version Python.org
tia cực tím (được khuyến nghị) bất kỳ uv --version curl -LsSf https://astral.sh/uv/install.sh | sh
pipx (thay thế) bất kỳ pipx --version pip install pipx

cài đặt nhanh macOS (Homebrew):

brew install [email protected] uv

Cài đặt nhanh Windows:

winget install astral-sh.uv

Ubuntu/Debian:

sudo apt install python3.12 python3-pip pipx
# or install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh

cài đặt

Gói chính thức: Gói PyPI là graphifyy (kép-y). Khác graphify* các gói trên PyPI không được liên kết. Lệnh CLI vẫn còn graphify.

Bước 1 - cài đặt gói:

# Recommended (isolated env; if 'graphify' isn't found after, run: uv tool update-shell):
uv tool install graphifyy

# Alternatives:
pipx install graphifyy
pip install graphifyy  # may need PATH setup — see note below

Bước 2 - đăng ký kỹ năng với trợ lý AI của bạn:

graphify install

Thế thôi. Mở trợ lý AI của bạn và gõ /graphify .

Để cài đặt kỹ năng trợ lý vào kho lưu trữ hiện tại thay vì hồ sơ người dùng của bạn, hãy thêm --project:

graphify install --project
graphify install --project --platform codex

Ví dụ: cài đặt trong phạm vi dự án ghi vào thư mục hiện tại .claude/skills/graphify/SKILL.md hoặc .agents/skills/graphify/SKILL.md (cộng với một references/ sidecar tải kỹ năng theo yêu cầu) và in một git add gợi ý cho các tập tin có thể được cam kết. Ví dụ: các lệnh trên mỗi nền tảng hỗ trợ cài đặt trong phạm vi dự án chấp nhận cùng một cờ graphify claude install --project hoặc graphify codex install --project.

Ghi chú PowerShell: sử dụng graphify . không /graphify . — dấu gạch chéo ở đầu là dấu phân cách đường dẫn trong PowerShell.

graphify: command not found? uv tool install / pipx install đặt graphify lệnh trong thư mục bin công cụ của họ (~/.local/bin). Nếu shell của bạn không thể tìm thấy nó ngay sau khi cài đặt — thường gặp trên thiết lập macOS + zsh mới — thì thư mục đó không có trên PATH chưa: chạy uv tool update-shell (hoặc pipx ensurepath), sau đó mở một thiết bị đầu cuối mới. Với đồng bằng pip, thêm ~/.local/bin (Linux) hoặc ~/Library/Python/3.x/bin (Mac) vào PATH của bạn hoặc chạy python -m graphify.

Chạy với uvx / uv tool run thay vì cài đặt? Đặt tên cho gói, không phải lệnh: uvx --from graphifyy graphify install. đồng bằng uvx graphify … thất bại (No solution found … no versions of graphify) bởi vì uv tool run đọc từ đầu tiên như một gói, và gói là graphifyy - cái graphify lệnh sống bên trong nó.

Tránh pip install trên Mac/Windows nếu có thể. Kỹ năng này giải quyết Python khi chạy từ graphify-out/.graphify_python; nếu điều đó trỏ đến một môi trường khác với nơi pip đã cài đặt gói, bạn sẽ nhận được ModuleNotFoundError: No module named 'graphify'. uv tool installpipx install cô lập gói trong env của riêng họ và tránh điều này hoàn toàn.

Móc Git và công cụ uv/pipx: graphify hook install nhúng trực tiếp đường dẫn trình thông dịch hiện tại vào tập lệnh hook khi cài đặt, do đó, hook hậu cam kết sẽ kích hoạt chính xác ngay cả trong các ứng dụng khách GUI git và trình chạy CI trong đó ~/.local/bin không có trên PATH. Nếu bạn cài đặt lại hoặc nâng cấp đồ họa, hãy chạy lại graphify hook install để làm mới đường dẫn được nhúng.

Chế độ nghiêm ngặt (Claude Code): graphify install --project --strict làm cho trợ lý thực sự sử dụng biểu đồ. Cài đặt mặc định huých nhẹ nó để chạy graphify query trước khi đọc tập tin; chế độ nghiêm ngặt khối nguồn thô đầu tiên đọc của một phiên và chuyển hướng nó đến biểu đồ, sau đó quay lại trạng thái thúc đẩy (để nó kích hoạt tối đa một lần mỗi phiên và không bao giờ bị kẹt). Chuyển đổi khi chạy với GRAPHIFY_HOOK_STRICT=1/0; cài đặt mặc định không thay đổi (nâng nhẹ).

Chọn nền tảng của bạn (hơn 20 trợ lý, nhấp để mở rộng)
Nền tảng Lệnh cài đặt
Claude Code (Linux/Mac) graphify install
Claude Code (Windows) graphify install (tự động phát hiện) hoặc graphify install --platform windows
CodeBuddy graphify install --platform codebuddy
Codex graphify install --platform codex
Mã mở graphify install --platform opencode
Mã Kilo graphify install --platform kilo
GitHub Copilot CLI graphify install --platform copilot
VS Code Copilot Trò chuyện graphify vscode install
Người trợ giúp graphify install --platform aider
OpenClaw graphify install --platform claw
Nhà máy Droid graphify install --platform droid
Trà graphify install --platform trae
Trà CN graphify install --platform trae-cn
Gemini CLI graphify install --platform gemini
Hermes graphify install --platform hermes
Mã Kimi graphify install --platform kimi
Bộ khuếch đại graphify amp install
Kỹ năng của tác nhân (đa khung) graphify install --platform agents (bí danh --platform skills)
Kiro IDE/CLI graphify kiro install
Đại lý mã hóa Pi graphify install --platform pi
Cursor graphify cursor install
Devin CLI graphify devin install
Google phản lực hấp dẫn graphify antigravity install

Người dùng Codex cũng cần multi_agent = true dưới [features] trong ~/.codex/config.toml để khai thác song song. CodeBuddy sử dụng công cụ Agent và cơ chế hook PreToolUse giống như Claude Code. Factory Droid sử dụng Task công cụ để gửi tác nhân con song song. OpenClaw và Aider sử dụng tính năng trích xuất tuần tự (hỗ trợ tác nhân song song vẫn còn sớm trên các nền tảng đó). Trae sử dụng công cụ Tác nhân để gửi tác nhân phụ song song và thực hiện không hỗ trợ PreToolUse hook, vì vậy AGENTS.md là cơ chế luôn bật.

--platform agents (bí danh --platform skills) nhắm mục tiêu đa khung chung Kỹ năng đặc vụ vị trí: người dùng toàn cầu của thông số kỹ thuật ~/.agents/skills/ (đọc bởi npx skills và các khung tuân thủ thông số kỹ thuật) để cài đặt toàn cầu và ./.agents/skills/ cho một dự án (--project) cài đặt. trần trụi graphify install vẫn duy trì nền tảng đơn (Claude Code) theo thiết kế — sử dụng tên agents nền tảng khi bạn muốn kỹ năng có thể được phát hiện bởi bất kỳ khung nào đọc .agents/skills.

Công dụng của Codex $graphify thay vì /graphify.

Các tính năng bổ sung tùy chọn (chỉ cài đặt những gì bạn cần)
Thêm Những gì nó thêm vào cài đặt
pdf Trích xuất PDF uv tool install "graphifyy[pdf]"
office .docx.xlsx hỗ trợ uv tool install "graphifyy[office]"
google Kết xuất Google Trang tính uv tool install "graphifyy[google]"
video Phiên âm video/âm thanh (thì thầm nhanh hơn + yt-dlp) uv tool install "graphifyy[video]"
mcp máy chủ stdio MCP uv tool install "graphifyy[mcp]"
neo4j Hỗ trợ đẩy Neo4j uv tool install "graphifyy[neo4j]"
falkordb Hỗ trợ đẩy FalkorDB uv tool install "graphifyy[falkordb]"
svg Xuất đồ thị SVG uv tool install "graphifyy[svg]"
leiden Phát hiện cộng đồng Leiden (chỉ Python < 3.13) uv tool install "graphifyy[leiden]"
ollama Ollama suy luận cục bộ uv tool install "graphifyy[ollama]"
openai API tương thích với OpenAI / OpenAI uv tool install "graphifyy[openai]"
gemini Google Gemini API uv tool install "graphifyy[gemini]"
anthropic Anthropic Claude API (--backend claude, sử dụng ANTHROPIC_API_KEY) uv tool install "graphifyy[anthropic]"
bedrock AWS Bedrock (sử dụng IAM, không có khóa API) uv tool install "graphifyy[bedrock]"
azure Dịch vụ Azure OpenAI (--backend azure, sử dụng AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT) uv tool install "graphifyy[openai]"
sql Trích xuất lược đồ SQL uv tool install "graphifyy[sql]"
postgres Nội tâm PostgreSQL trực tiếp (--postgres DSN) uv tool install "graphifyy[postgres]"
dm BÊN NGOÀI DreamMaker .dm/.dme Trích xuất AST (có thể cần trình biên dịch C + python3-dev nếu không có bánh xe phù hợp với nền tảng của bạn) uv tool install "graphifyy[dm]"
terraform Địa hình / HCL .tf/.tfvars/.hcl Chiết xuất AST uv tool install "graphifyy[terraform]"
pascal Pascal/Delphi .pas/.dpr/.dpk/.inc Chiết xuất AST (chính xác hơn calls/inherits các cạnh; quay trở lại trình trích xuất biểu thức chính quy khi vắng mặt) uv tool install "graphifyy[pascal]"
ocaml OCaml .ml/.mli Chiết xuất AST uv tool install "graphifyy[ocaml]"
commonlisp Lisp thông thường .lisp/.cl/.lsp/.asd Chiết xuất AST uv tool install "graphifyy[commonlisp]"
chinese Phân đoạn truy vấn tiếng Trung (jieba) uv tool install "graphifyy[chinese]"
all Mọi thứ ở trên uv tool install "graphifyy[all]"

Làm cho trợ lý của bạn luôn sử dụng biểu đồ

Chạy cái này một lần trong dự án của bạn sau khi xây dựng biểu đồ:

Nền tảng Lệnh
Claude Code graphify claude install
CodeBuddy graphify codebuddy install
Codex graphify codex install
Mã mở graphify opencode install
Mã Kilo graphify kilo install
GitHub Copilot CLI graphify copilot install
VS Code Copilot Trò chuyện graphify vscode install
Người trợ giúp graphify aider install
OpenClaw graphify claw install
Nhà máy Droid graphify droid install
Trà graphify trae install
Trà CN graphify trae-cn install
Cursor graphify cursor install
Gemini CLI graphify gemini install
Hermes graphify hermes install
Mã Kimi graphify install --platform kimi
Bộ khuếch đại graphify amp install
Kỹ năng của tác nhân (đa khung) graphify agents install (bí danh graphify skills install)
Kiro IDE/CLI graphify kiro install
Đại lý mã hóa Pi graphify pi install
Devin CLI graphify devin install
Google phản lực hấp dẫn graphify antigravity install

Thao tác này ghi một tệp cấu hình nhỏ yêu cầu trợ lý của bạn tham khảo biểu đồ kiến thức cho các câu hỏi về cơ sở mã, ưu tiên các truy vấn có phạm vi như graphify query "<question>" đọc qua báo cáo đầy đủ hoặc lấy các tập tin thô.

  • Nền tảng móc (Claude Code, Gemini CLI): một hook tự động kích hoạt trước khi gọi công cụ kiểu tìm kiếm (và, trên Claude Code, trước khi đọc từng tệp nguồn thông qua công cụ Read/Glob) và đẩy trợ lý của bạn về phía đường dẫn biểu đồ.
  • Nền tảng tập tin hướng dẫn (Codex, OpenCode, Cursor, v.v.): các tệp hướng dẫn liên tục (AGENTS.md, .cursor/rules/, v.v.) cung cấp hướng dẫn tương tự về truy vấn đầu tiên.

GRAPH_REPORT.md vẫn có sẵn để xem xét kiến ​​trúc rộng rãi.

CodeBuddy thực hiện hai việc tương tự như Claude Code: viết một CODEBUDDY.md phần yêu cầu CodeBuddy đọc graphify-out/GRAPH_REPORT.md trước khi trả lời các câu hỏi về kiến trúc và cài đặt PreToolUse móc (.codebuddy/settings.json) kích hoạt trước khi lệnh tìm kiếm Bash và đọc tệp, di chuyển về phía graphify query thay vào đó.

Codex viết vào AGENTS.md, đây thực sự là thứ mang hướng dẫn biểu đồ luôn bật trên nền tảng này. graphify codex install cũng đăng ký một PreToolUse móc vào .codex/hooks.json (graphify hook-check), nhưng mục đó cố tình là một không hoạt động: Codex Desktop từ chối hookSpecificOutput.additionalContext trên PreToolUse, do đó, việc phát ra một cú huých ở đó sẽ làm hỏng lệnh gọi công cụ Bash. Không giống như Claude Code, trong đó móc (graphify hook-guard) thực hiện thao tác huých, trên Codex, móc câu kích hoạt và cố tình không làm gì cả, và AGENTS.md là cơ chế luôn bật.

Mã Kilo cài đặt kỹ năng Graphify để ~/.config/kilo/skills/graphify/SKILL.md và một người bản xứ /graphify lệnh để ~/.config/kilo/command/graphify.md. graphify kilo install cũng viết AGENTS.md cộng với một người bản xứ tool.execute.before plugin (.kilo/plugins/graphify.js + .kilo/kilo.json hoặc .kilo/kilo.jsonc đăng ký) để Kilo nhận được hành vi nhắc nhở biểu đồ luôn bật tương tự thông qua ứng dụng gốc .kilo config.

Cursor viết .cursor/rules/graphify.mdc với alwaysApply: true, do đó, Cursor sẽ tự động đưa nó vào mọi cuộc trò chuyện mà không cần hook.

Để xóa Graphify khỏi tất cả các nền tảng cùng một lúc: graphify uninstall (thêm --purge cũng xóa graphify-out/). Hoặc sử dụng lệnh trên mỗi nền tảng (ví dụ: graphify claude uninstall).


Có gì trong báo cáo

  • nút thần — các khái niệm được kết nối nhiều nhất trong dự án của bạn. Mọi thứ đều chảy qua những thứ này.
  • Kết nối đáng ngạc nhiên — liên kết giữa những thứ tồn tại trong các tệp hoặc mô-đun khác nhau. Xếp hạng theo mức độ bất ngờ của chúng.
  • "Tại sao" - nhận xét nội tuyến (# NOTE:, # WHY:, # HACK:), chuỗi tài liệu và lý do thiết kế từ tài liệu được trích xuất dưới dạng các nút riêng biệt được liên kết với mã mà chúng giải thích.
  • Câu hỏi gợi ý — 4–5 câu hỏi mà biểu đồ được định vị duy nhất để trả lời.
  • Thẻ tin cậy - mọi mối quan hệ được suy luận đều được đánh dấu EXTRACTED, INFERREDhoặc AMBIGUOUS. Bạn luôn biết những gì đã được tìm thấy và đoán.

Những tập tin nó xử lý

Loại Tiện ích mở rộng
Mã (37 ngữ pháp người trông cây) .py .ts .mts .cts .js .jsx .tsx .mjs .go .rs .java .c .cpp .cc .cxx .h .hpp .cu .cuh .metal .rb .cs .kt .kts .scala .php .swift .lua .luau .toc .zig .ps1 .psm1 .psd1 .ex .exs .m .mm .ml .mli .jl .vue .svelte .astro .groovy .gradle .dart .v .sv .svh .sql .f .f90 .f95 .f03 .f08 .pas .pp .dpr .dpk .lpr .inc .dfm .lfm .lpk .sh .bash .json .dm .dme .dmi .dmm .dmf .sln .slnx .csproj .fsproj .vbproj .xaml .razor .cshtml (.dm/.dme yêu cầu uv tool install graphifyy[dm], .ml/.mli yêu cầu uv tool install graphifyy[ocaml]; .mts/.cts sử dụng lại ngữ pháp TypeScript, .cc/.cxx và CUDA .cu/.cuh và kim loại .metal sử dụng lại ngữ pháp C++)
Lực lượng bán hàng Apex .cls .trigger (dựa trên biểu thức chính quy; các lớp, giao diện, enum, phương thức, trình kích hoạt, các cạnh SOQL/DML)
Địa hình / HCL .tf .tfvars .hcl (yêu cầu uv tool install graphifyy[terraform])
OCaml .ml .mli (yêu cầu uv tool install graphifyy[ocaml])
Lisp thông thường .lisp .cl .lsp .asd (yêu cầu uv tool install graphifyy[commonlisp])
cấu hình MCP .mcp.json mcp.json mcp_servers.json claude_desktop_config.json — trích xuất các nút máy chủ, giới thiệu gói, yêu cầu var env
Bản kê khai gói apm.yml pyproject.toml go.mod pom.xml - một nút gói chuẩn cho mỗi gói (theo tên) cộng với depends_on các cạnh, vì vậy một gói được tham chiếu từ nhiều bảng kê khai là một trung tâm duy nhất
Tài liệu .md .mdx .qmd .html .txt .rst .yaml .yml (giảm giá [text](https://raw.githubusercontent.com/Graphify-Labs/graphify/HEAD/other.md) liên kết và [[wikilinks]] trở thành references cạnh giữa các tài liệu)
văn phòng .docx .xlsx (yêu cầu uv tool install graphifyy[office])
Google Workspace .gdoc .gsheet .gslides (chọn tham gia; yêu cầu gws xác thực và --google-workspace; Trang tính cần uv tool install graphifyy[google])
PDF .pdf
Hình ảnh .png .jpg .webp .gif
Video / Âm thanh .mp4 .mov .mp3 .wav và hơn thế nữa (yêu cầu uv tool install graphifyy[video])
YouTube / URL bất kỳ URL video nào (yêu cầu uv tool install graphifyy[video])

Mã được trích xuất cục bộ không có cuộc gọi API (AST thông qua người trông cây). Mọi thứ khác đều thông qua mô hình trợ lý AI của bạn API.

Google Drive dành cho máy tính để bàn .gdoc, .gsheet.gslides tập tin là con trỏ phím tắt, không phải nội dung tài liệu. Để đưa Google Tài liệu, Trang tính và Trang trình bày gốc vào bản trích xuất không có giao diện người dùng, hãy cài đặt và xác thực gws CLI, sau đó chạy:

uv tool install "graphifyy[google]"  # needed for Google Sheets table rendering
gws auth login -s drive
graphify extract ./docs --google-workspace

Bạn cũng có thể thiết lập GRAPHIFY_GOOGLE_WORKSPACE=1. Biểu đồ xuất các phím tắt vào graphify-out/converted/ dưới dạng sidecar Markdown, sau đó trích xuất các tệp đó.


Các lệnh chung

/graphify .                        # build graph for current folder
/graphify ./docs --update          # re-extract only changed files
/graphify . --cluster-only         # rerun clustering without re-extracting
/graphify . --cluster-only --resolution 1.5      # more granular communities
/graphify . --cluster-only --exclude-hubs 99     # suppress utility super-hubs from god-node rankings
/graphify . --no-viz               # skip the HTML, just the report + JSON
/graphify . --wiki                 # build a markdown wiki from the graph
graphify export callflow-html      # Mermaid architecture/call-flow HTML (auto-regenerates on every git commit if hook is installed)

/graphify query "what connects auth to the database?"
/graphify path "UserService" "DatabasePool"
/graphify explain "RateLimiter"

/graphify add https://arxiv.org/abs/1706.03762   # fetch a paper and add it
/graphify add <youtube-url>                       # transcribe and add a video

graphify hook install              # auto-rebuild on git commit
graphify merge-graphs a.json b.json              # combine two graphs

graphify prs                       # PR dashboard: CI state, review status, worktree mapping
graphify prs 42                    # deep dive on PR #42 with graph impact
graphify prs --triage              # AI ranks your review queue (uses whatever backend is configured)
graphify prs --conflicts           # PRs sharing graph communities — merge-order risk

Xem tham chiếu lệnh đầy đủ bên dưới.


Bỏ qua tập tin

Tạo một .graphifyignore trong thư mục gốc dự án của bạn - cú pháp tương tự như .gitignore, bao gồm ! phủ định.

.gitignore được tôn trọng một cách tự động. đồ họa đọc .gitignore trong mỗi thư mục. Nếu một .graphifyignore cũng có mặt, cả hai đều sáp nhập.graphifyignore các mẫu được đánh giá cuối cùng, do đó chúng giành chiến thắng trong các xung đột (bao gồm cả ! phủ định). Thêm một .graphifyignore chỉ bao giờ loại trừ nhiều hơn; nó không bao giờ bao gồm lại một tập tin của bạn .gitignore đã bị loại trừ rồi. Phạm vi thư mục con hoạt động tương tự như git - một tệp bỏ qua chỉ ảnh hưởng đến cây con của chính nó.

Vượt qua --no-gitignore để graphify extract khi mã được tạo hoặc dịch mã bị bỏ qua git thuộc về biểu đồ. Điều này vô hiệu hóa .gitignore.git/info/exclude; .graphifyignore vẫn được áp dụng.

# .graphifyignore
node_modules/
dist/
*.generated.py

# only index src/, ignore everything else
*
!src/
!src/**

Thiết lập nhóm

graphify-out/ có nghĩa là cam kết sử dụng git để mọi người trong nhóm bắt đầu với một bản đồ.

Được đề xuất .gitignore bổ sung:

graphify-out/cost.json        # local only
# graphify-out/cache/         # optional: commit for speed, skip to keep repo small

manifest.json hiện có thể mang theo được — các khóa được lưu trữ dưới dạng đường dẫn tương đối và được neo lại khi tải, do đó, việc cam kết sẽ an toàn và tránh việc xây dựng lại toàn bộ trong lần thanh toán đầu tiên.

Quy trình làm việc:

  1. Một người chạy /graphify . và cam kết graphify-out/.
  2. Mọi người kéo - trợ lý của họ đọc biểu đồ ngay lập tức.
  3. Chạy graphify hook install để tự động xây dựng lại sau mỗi lần xác nhận (chỉ AST, không tốn API). Điều này cũng thiết lập trình điều khiển hợp nhất git để graph.json không bao giờ để lại dấu xung đột - hai nhà phát triển cam kết song song sẽ tự động hợp nhất biểu đồ của họ.
  4. Khi tài liệu hoặc giấy tờ thay đổi, hãy chạy /graphify --update để làm mới các nút đó.

Sử dụng biểu đồ trực tiếp

# query the graph from the terminal
graphify query "show the auth flow"
graphify query "what connects DigestAuth to Response?" --graph graphify-out/graph.json

# expose the graph as an MCP server (for repeated tool-call access)
python -m graphify.serve graphify-out/graph.json
python -m graphify.serve --graph graphify-out/graph.json  # --graph flag also accepted

# register with Kimi Code:
kimi mcp add --transport stdio graphify -- python -m graphify.serve graphify-out/graph.json

# or serve over HTTP so a whole team points at one URL (no local graphify needed):
python -m graphify.serve graphify-out/graph.json --transport http --port 8080
python -m graphify.serve graphify-out/graph.json --transport http --host 0.0.0.0 --api-key "$SECRET"

Máy chủ MCP cung cấp cho trợ lý của bạn quyền truy cập có cấu trúc: query_graph, get_node, get_neighbors, shortest_path, list_prs, get_pr_impact, triage_prs.

Máy chủ HTTP được chia sẻ

--transport stdio (mặc định) sinh ra một máy chủ cục bộ cho mỗi nhà phát triển. --transport http phục vụ các công cụ tương tự trên phương tiện truyền tải HTTP có thể phát trực tuyến MCP, do đó, một quy trình chia sẻ duy nhất có thể cung cấp biểu đồ cho cả nhóm - khách hàng trỏ cấu hình IDE MCP của họ vào http://<host>:8080/mcp thay vì chạy đồ thị cục bộ.

Cờ Mặc định Mục đích
--transport {stdio,http} stdio Vận chuyển phục vụ trên
--host 127.0.0.1 HTTP liên kết máy chủ (sử dụng 0.0.0.0 để lộ ra ngoài localhost)
--port 8080 Cổng liên kết HTTP
--api-key env GRAPHIFY_API_KEY Yêu cầu Authorization: Bearer <key> (hoặc X-API-Key)
--path /mcp Đường dẫn gắn kết HTTP
--json-response tắt Trả về JSON đơn giản thay vì luồng SSE
--stateless tắt Không có trạng thái mỗi phiên (đối với triển khai cân bằng tải/CI)
--session-timeout 3600 Lấy lại các phiên trạng thái nhàn rỗi sau N giây (0 vô hiệu hóa)

Mặc định 127.0.0.1 liên kết chỉ dành cho loopback. Đặt --host 0.0.0.0 --api-key cùng nhau khi hiển thị trên một máy chủ được chia sẻ. Chạy nó trong một thùng chứa:

docker build -t graphify .
docker run -p 8080:8080 -v "$(pwd)/graphify-out:/data" graphify \
  /data/graph.json --transport http --host 0.0.0.0 --api-key "$SECRET"

Lưu ý WSL/Linux: tàu Ubuntu python3, không python. Sử dụng venv để tránh xung đột:

python3 -m venv .venv && .venv/bin/pip install "graphifyy[mcp]"

Biến môi trường

Những thứ này chỉ cần thiết cho chiết xuất không đầu / CI (graphify extract). Khi chạy qua /graphify kỹ năng bên trong IDE của bạn, mô hình API được phiên IDE của bạn cung cấp — không cần thêm khóa.

Biến Dùng cho Khi được yêu cầu
ANTHROPIC_API_KEY Phần phụ trợ Claude (Anthropic) --backend claude
ANTHROPIC_BASE_URL URL điểm cuối tương thích với Anthropic (proxy LiteLLM, cổng, ...) --backend claude (mặc định: https://api.anthropic.com)
ANTHROPIC_MODEL Tên mô hình cho phần phụ trợ Claude — đối với các điểm cuối tùy chỉnh, hãy sử dụng tên/bí danh mô hình mà máy chủ của bạn hiển thị --backend claude (mặc định: claude-sonnet-4-6)
GEMINI_API_KEY hoặc GOOGLE_API_KEY Phần phụ trợ của Google Gemini --backend gemini
OPENAI_API_KEY API tương thích với OpenAI hoặc OpenAI --backend openai (máy chủ cục bộ chấp nhận mọi giá trị không trống)
OPENAI_BASE_URL URL máy chủ tương thích với OpenAI (Llama.cpp, vLLM, LM Studio, ...) --backend openai (mặc định: https://api.openai.com/v1)
OPENAI_MODEL Tên mẫu cho phần phụ trợ OpenAI — đối với các máy chủ tự lưu trữ, hãy sử dụng tên/bí danh mẫu mà máy chủ của bạn hiển thị (kiểm tra /v1/models điểm cuối), ví dụ: LFM2.5-8B-A1B-UD-Q4_K_XL cho Llama.cpp --backend openai (mặc định: gpt-4.1-mini)
DEEPSEEK_API_KEY phụ trợ DeepSeek --backend deepseek
MOONSHOT_API_KEY Phần phụ trợ của Kimi Code --backend kimi
OLLAMA_BASE_URL Ollama URL suy luận cục bộ --backend ollama (mặc định: http://localhost:11434)
OLLAMA_MODEL Tên mẫu máy Ollama --backend ollama (mặc định: tự động phát hiện)
GRAPHIFY_OLLAMA_NUM_CTX Ghi đè kích thước cửa sổ bộ đệm KV Ollama tùy chọn - tự động điều chỉnh kích thước theo mặc định
GRAPHIFY_OLLAMA_KEEP_ALIVE Số phút để duy trì tải mô hình Ollama tùy chọn - đặt 0 dỡ bỏ sau mỗi đoạn
AZURE_OPENAI_API_KEY Phần phụ trợ dịch vụ Azure OpenAI --backend azure
AZURE_OPENAI_ENDPOINT URL điểm cuối tài nguyên Azure --backend azure (bắt buộc cùng với phím API)
AZURE_OPENAI_API_VERSION Ghi đè phiên bản Azure API tùy chọn - mặc định 2024-12-01-preview
AZURE_OPENAI_DEPLOYMENT hoặc GRAPHIFY_AZURE_MODEL Tên triển khai Azure tùy chọn - mặc định gpt-4o
AWS_* / ~/.aws/credentials AWS Bedrock — chuỗi thông tin xác thực tiêu chuẩn --backend bedrock (không có khóa API, sử dụng IAM)
GRAPHIFY_MAX_WORKERS Số lượng luồng song song AST tùy chọn - cũng --max-workers cờ
GRAPHIFY_MAX_OUTPUT_TOKENS Tăng giới hạn đầu ra cho tập đoàn dày đặc tùy chọn - ví dụ: 32768 cho các tập tin lớn
GRAPHIFY_API_TIMEOUT Thời gian chờ cho mỗi cuộc gọi tính bằng giây cho các chương trình phụ trợ HTTP, Claude-CLI, Anthropic SDK và Bedrock (mặc định: 600) tùy chọn - cũng --api-timeout cờ
GRAPHIFY_MAX_RETRIES Bao nhiêu lần thử lại yêu cầu giới hạn tỷ lệ (429) trước khi từ bỏ (mặc định: 6; vinh dự Retry-After) tùy chọn - tăng giới hạn nghiêm ngặt cho mỗi tổ chức (ví dụ: kimi); 0 vô hiệu hóa
GRAPHIFY_MAX_RETRY_DEPTH Độ sâu của một đoạn bị cắt ngắn có thể được chia đôi và trích xuất lại (mặc định: 3, do đó, tối đa 8 lần lệnh gọi phụ cho một đoạn) tùy chọn - hạ thấp nó để giới hạn chi tiêu trong trường hợp xấu nhất; 0 vô hiệu hóa mọi lần thử lại (không chia đôi, không thử lại phản hồi rỗng), do đó, một đoạn tốn chính xác một cuộc gọi
GRAPHIFY_FORCE Buộc xây dựng lại biểu đồ ngay cả với ít nút hơn tùy chọn - cũng --force cờ
GRAPHIFY_GOOGLE_WORKSPACE Tự động bật tính năng xuất Google Workspace tùy chọn - đặt thành 1
GRAPHIFY_TRIAGE_BACKEND Phụ trợ cho graphify prs --triage tùy chọn - tự động được phát hiện từ các phím có sẵn
GRAPHIFY_TRIAGE_MODEL Ghi đè mô hình để phân loại tùy chọn - ví dụ: claude-opus-4-7
GRAPHIFY_QUERY_LOG_ENABLE Đặt thành 1 để bật nhật ký truy vấn cục bộ tại ~/.cache/graphify-queries.log (ghi lại từng truy vấn/đường dẫn/giải thích câu hỏi + đường dẫn kho ngữ liệu). Tắt theo mặc định - không có gì được viết trừ khi bạn chọn tham gia (#1797) không bắt buộc
GRAPHIFY_QUERY_LOG Kích hoạt nhật ký truy vấn và ghi nó vào đường dẫn này thay vì mặc định tùy chọn - tắt trừ khi điều này hoặc _ENABLE được thiết lập
GRAPHIFY_QUERY_LOG_DISABLE Đặt thành 1 để buộc đăng xuất truy vấn (thắng các vars kích hoạt) không bắt buộc
GRAPHIFY_QUERY_LOG_RESPONSES Khi bật nhật ký, hãy ghi lại toàn bộ phản hồi của biểu đồ con (tắt theo mặc định) không bắt buộc
GRAPHIFY_MAX_GRAPH_BYTES Ghi đè biểu đồ 512 MiB. Giới hạn kích thước JSON — ví dụ: 700MB, 2GBhoặc byte đơn giản tùy chọn - hữu ích cho tập đoàn rất lớn
GRAPHIFY_MAX_CONTEXTS Số lượng biểu đồ dự án không mặc định tối đa được giữ lại bởi một máy chủ MCP nhiều dự án tùy chọn - mặc định: 8; sử dụng giá trị không hợp lệ 8và các giá trị bên dưới 1 sử dụng 1
GRAPHIFY_LLM_TEMPERATURE Ghi đè nhiệt độ LLM để trích xuất ngữ nghĩa - ví dụ: 0.7hoặc none bỏ qua tùy chọn - tự động bỏ qua đối với các mô hình suy luận o1/o3/o4/gpt-5

Quyền riêng tư

  • Tệp mã — được xử lý cục bộ thông qua người trông cây. Không có gì rời khỏi máy của bạn. Kho văn bản chỉ có mã không yêu cầu khóa API - graphify extract chạy hoàn toàn ngoại tuyến. Trên một repo hỗn hợp, thêm --code-only để chỉ lập chỉ mục mã và bỏ qua các tài liệu/PDF/hình ảnh mà lẽ ra cần có LLM.
  • Video/âm thanh - được phiên âm cục bộ với lời thì thầm nhanh hơn. Không có gì rời khỏi máy của bạn.
  • Tài liệu, PDF, hình ảnh — được gửi tới trợ lý AI của bạn để trích xuất ngữ nghĩa (thông qua /graphify kỹ năng, sử dụng bất kỳ mô hình nào phiên IDE của bạn chạy). Không đầu graphify extract yêu cầu GEMINI_API_KEY / GOOGLE_API_KEY (Gemini), MOONSHOT_API_KEY (Kimi), ANTHROPIC_API_KEY (Claude), OPENAI_API_KEY (OpenAI), DEEPSEEK_API_KEY (DeepSeek), một phiên bản Ollama đang chạy (OLLAMA_BASE_URL), thông tin xác thực AWS thông qua chuỗi nhà cung cấp tiêu chuẩn (Bedrock - không cần khóa API, sử dụng IAM) hoặc claude CLI nhị phân (Claude Code - không cần khóa API, sử dụng đăng ký Claude của bạn). các --dedup-llm cờ sử dụng cùng một khóa.
  • Nơi lưu trữ dữ liệugraphify extract tự động phát hiện nhà cung cấp nào sẽ sử dụng dựa trên khóa API nào được đặt (ưu tiên: Gemini → Kimi → Claude → OpenAI → DeepSeek → Azure → Bedrock → Ollama). Đối với mã có yêu cầu về nơi lưu trữ dữ liệu, hãy sử dụng --backend ollama (hoàn toàn cục bộ) hoặc chuyển một thông báo rõ ràng --backend cờ. Kimi (MOONSHOT_API_KEY) đến máy chủ Moonshot AI ở Trung Quốc.
  • Không đo từ xa, không theo dõi việc sử dụng, không phân tích.
  • Ghi nhật ký truy vấn — mọi graphify query, graphify path, graphify explain, và MCP query_graph cuộc gọi được ghi vào ~/.cache/graphify-queries.log ở định dạng Dòng JSON (dấu thời gian, câu hỏi, kho dữ liệu, nút được trả về, thời lượng). Các câu trả lời dưới dạng đầy đủ là không được lưu trữ theo mặc định. Đặt GRAPHIFY_QUERY_LOG_DISABLE=1 để chọn không tham gia, hoặc GRAPHIFY_QUERY_LOG=/dev/null để im lặng mà không vô hiệu hóa đường dẫn mã.

Khắc phục sự cố

graphify: command not found sau khi cài đặt CLI đã được cài đặt nhưng thư mục bin của nó không có trên shell của bạn PATH. Chọn bản sửa lỗi cho cách bạn cài đặt:

  • tia cực tím (uv tool install graphifyy): lệnh nằm trong thư mục bin công cụ của uv (~/.local/bin), mà thiết lập macOS/zsh mới thường không có trên PATH. Chạy uv tool update-shell, sau đó mở một thiết bị đầu cuối mới. (Tìm thư mục với uv tool dir --bin.)
  • pipx (pipx install graphifyy): chạy pipx ensurepath, sau đó mở một thiết bị đầu cuối mới.
  • pip (pip install graphifyy): pip cài đặt các tập lệnh vào thư mục bin người dùng có thể chưa được bật PATH - thêm ~/Library/Python/3.x/bin (macOS) hoặc ~/.local/bin (Linux) cho bạn PATH trong ~/.zshrc/~/.bashrc, hoặc chỉ cần chạy python -m graphify.

uvx graphify … hoặc uv tool run graphify … không giải quyết được graphify Gói PyPI là graphifyy; graphify chỉ là lệnh nó cung cấp. uv tool run coi từ đầu tiên là một tên gói, vì vậy nó sẽ tìm một gói có tên graphify và báo cáo No solution found … no versions of graphify. Đặt tên gói một cách rõ ràng: uvx --from graphifyy graphify install (giống như uv tool run --from graphifyy graphify install). Hoặc uv tool install graphifyy một lần rồi gọi graphify trực tiếp.

uv run --with graphifyy python -m graphify âm thầm chạy bản cài đặt cũ hơn uv run sử dụng của bạn hệ thống Python, vì vậy nếu cũ hơn graphifyy cũng sống ở đó (ví dụ: quá khứ pip install graphifyy), Python có thể tìm thấy bản sao đó trước tiên trên sys.path--with graphifyy sẽ không ghi đè lên nó. Nó chạy không có lỗi, nhưng bạn nhận được hành vi của phiên bản - ví dụ: env ghi đè như OPENAI_BASE_URL bị âm thầm bỏ qua, do đó các yêu cầu chạm đến điểm cuối mặc định và không thành công với lỗi 401 trông giống như một khóa không hợp lệ. Dấu vân tay là một warning: skill is from graphify <newer>, package is <older> dòng - điều đó có nghĩa là một bản cài đặt khác đã được tải, không chỉ là một kỹ năng cũ. Kiểm tra bản sao nào thực sự được tải:

python -c "import graphify; print(graphify.__file__)"

Sau đó chạy trực tiếp lệnh đã cài đặt (nó sử dụng bản sao do uv quản lý) hoặc xóa bản sao hệ thống cũ:

uvx --from graphifyy graphify extract . --backend openai   # names the package explicitly
pip uninstall graphifyy                                    # or remove the old system install

python -m graphify hoạt động nhưng graphify lệnh không Vỏ của bạn PATH không bao gồm thư mục bin mà lệnh đã được cài đặt. Thích hơn uv tool install / pipx install trên đồng bằng pip, sau đó chạy uv tool update-shell / pipx ensurepath và mở một thiết bị đầu cuối mới (xem ghi chú cài đặt ở trên).

/graphify . gây ra "đường dẫn không được nhận dạng" trong PowerShell PowerShell xử lý hàng đầu / như một dấu phân cách đường dẫn. sử dụng graphify . (không có dấu gạch chéo) trên Windows.

Đồ thị có ít nút hơn sau --update hoặc xây dựng lại Nếu một bộ tái cấu trúc đã xóa các tập tin, các nút cũ vẫn tồn tại. Vượt qua --force (hoặc đặt GRAPHIFY_FORCE=1) để ghi đè ngay cả khi quá trình xây dựng lại có ít nút hơn.

extract thoát với "trích xuất không đầy đủ ... từ chối ghi đè" Khi quá trình trích xuất gặp sự cố hoặc quá trình đi bộ không thể đọc đầy đủ kho văn bản, quá trình chạy sẽ nhỏ hơn quá trình hoàn chỉnh, vì vậy graphify extract từ chối ghi đè lên biểu đồ hiện có lớn hơn bằng một phần kết quả (bảo vệ graph.json). Khắc phục lỗi cơ bản và chạy lại hoặc vượt qua --allow-partial dù sao cũng phải ghi đè.

Biểu đồ có các nút trùng lặp cho cùng một thực thể (bản sao ma) Các bản sao ma (cùng một biểu tượng xuất hiện hai lần - một lần từ trích xuất AST với vị trí nguồn, một lần từ trích xuất ngữ nghĩa không có) hiện được tự động hợp nhất tại thời điểm xây dựng. Nếu bạn thấy điều này trong biểu đồ được tạo trước v0.8.33, hãy chạy trích xuất lại toàn bộ để dọn dẹp:

graphify extract . --force

Ollama hết VRAM/vượt quá cửa sổ ngữ cảnh Cửa sổ KV-cache có kích thước tự động nhưng có thể quá lớn đối với GPU của bạn. Giảm nó:

GRAPHIFY_OLLAMA_NUM_CTX=8192 graphify extract ./docs --backend ollama --token-budget 4000

LLM returned invalid JSON / Unterminated string cảnh báo Phản hồi JSON của mô hình đã đạt đến giới hạn mã thông báo đầu ra và bị cắt ở giữa chuỗi. đồ họa tự động phục hồi (nó phân tách đoạn và trích xuất lại một nửa và một tài liệu quá khổ trước tiên được cắt ở ranh giới tiêu đề/đoạn để toàn bộ tệp vẫn bị che), vì vậy những cảnh báo này gây nhiễu nhưng không mất dữ liệu. Để giảm tỷ lệ rời bỏ, hãy tăng giới hạn đầu ra hoặc thu nhỏ đầu ra của từng đoạn:

GRAPHIFY_MAX_OUTPUT_TOKENS=16384 graphify extract . --mode deep   # lift the cap
graphify extract . --mode deep --token-budget 4000                # smaller input chunks -> smaller output

Với cổng đám mây như OpenRouter, hãy ưu tiên --backend openai (đặt OPENAI_BASE_URL) trên miếng đệm Ollama — đó là đường dẫn tương thích với OpenAI sạch hơn. Nếu mô hình có mức trần sản lượng tối đa riêng, việc hạ thấp --token-budget là đòn bẩy đáng tin cậy.

Đồ thị HTML quá lớn để mở trong trình duyệt (>5000 nút) Bỏ qua việc tạo HTML và sử dụng trực tiếp JSON:

graphify cluster-only ./my-project --no-viz
graphify query "..."

graph.json có các dấu hiệu xung đột sau khi hai nhà phát triển cam kết cùng một lúc Chạy graphify hook install — nó thiết lập trình điều khiển hợp nhất git để hợp nhất liên kết graph.json tự động để xung đột không bao giờ xảy ra.

Quá trình trích xuất trả về các nút/cạnh trống cho tài liệu hoặc tệp PDF Tài liệu, PDF và hình ảnh yêu cầu lệnh gọi LLM — tập tin chỉ có mã không cần khóa. Kiểm tra xem khóa API của bạn đã được đặt chưa và phần phụ trợ có chính xác không:

ANTHROPIC_API_KEY=sk-... graphify extract ./docs --backend claude

Cảnh báo phiên bản kỹ năng không khớp trong IDE của bạn Phiên bản đồ họa đã cài đặt của bạn khác với tệp kỹ năng. Cập nhật:

uv tool upgrade graphifyy
graphify install  # overwrites the skill file

Bộ đệm nhắc nhở Claude Code bị vô hiệu sau mỗi lần graphify extract Graphify ghi các tập tin đầu ra (graph.json, graphify-out/) vào không gian làm việc. Nếu những đường dẫn đó không bị bỏ qua thì mỗi lần ghi sẽ làm mất hiệu lực bộ nhớ đệm nhắc nhở của Claude Code, buộc phải tải lên lại toàn bộ với tốc độ ghi vào bộ nhớ đệm ở lượt tiếp theo. Thêm chúng vào .claudeignore:

# .claudeignore
graph.json
graphify-out/

Tham chiếu lệnh đầy đủ

/graphify                          # run on current directory
/graphify ./raw                    # run on a specific folder
/graphify ./raw --mode deep        # more aggressive relationship extraction
graphify extract ./raw --code-only # index code only — local AST, no API key (skips docs/PDFs/images); an `extract` flag, not a skill flag
/graphify ./raw --update           # re-extract only changed files
/graphify ./raw --directed         # preserve edge direction
/graphify ./raw --cluster-only     # rerun clustering on existing graph
/graphify ./raw --no-viz           # skip HTML visualization
/graphify ./raw --obsidian         # generate Obsidian vault
/graphify ./raw --obsidian --obsidian-dir ~/vault  # write into an existing vault (never overwrites your own notes or .obsidian config)
/graphify ./raw --wiki             # build agent-crawlable markdown wiki
/graphify ./raw --svg              # export graph.svg
/graphify ./raw --graphml          # export for Gephi / yEd
/graphify ./raw --neo4j            # generate cypher.txt for Neo4j
/graphify ./raw --neo4j-push bolt://localhost:7687
/graphify ./raw --falkordb         # generate cypher.txt for FalkorDB
/graphify ./raw --falkordb-push falkordb://localhost:6379
/graphify ./raw --watch            # auto-sync as files change
/graphify ./raw --mcp              # start MCP stdio server

/graphify add https://arxiv.org/abs/1706.03762
/graphify add <video-url>
/graphify add https://... --author "Name" --contributor "Name"

/graphify query "what connects attention to the optimizer?"
/graphify query "..." --dfs --budget 1500
/graphify path "DigestAuth" "Response"
/graphify explain "SwinTransformer"

graphify save-result --question "Q" --answer "A" --nodes Foo Bar --outcome useful   # record how a Q&A turned out (work memory; outcome ∈ useful|dead_end|corrected)
graphify reflect                   # aggregate graphify-out/memory/ outcomes into reflections/LESSONS.md
graphify reflect --if-stale        # no-op when LESSONS.md is already newer than every input (cheap to run each session)
graphify reflect --out docs/LESSONS.md    # write the lessons doc somewhere else
graphify reflect --graph graphify-out/graph.json  # group lessons by community + write the work-memory overlay (.graphify_learning.json)
                                   # the overlay tags nodes preferred/tentative/contested (recency-weighted, with provenance);
                                   # graphify explain / query then show a "Lesson:" hint, flagged "code changed — re-verify" when the source moved on

graphify uninstall                 # remove from all platforms in one shot
graphify uninstall --purge         # also delete graphify-out/
graphify uninstall --project --platform codex  # remove project-scoped install files only

graphify hook install              # post-commit + post-checkout hooks
graphify hook uninstall
graphify hook status

# always-on assistant instructions - platform-specific
graphify claude install            # CLAUDE.md + PreToolUse hook (Claude Code)
graphify claude uninstall
graphify codebuddy install         # CODEBUDDY.md + PreToolUse hook (CodeBuddy)
graphify codebuddy uninstall
graphify codex install             # AGENTS.md + PreToolUse hook in .codex/hooks.json (Codex)
graphify opencode install          # AGENTS.md + tool.execute.before plugin (OpenCode)
graphify kilo install              # native Kilo skill + /graphify command + AGENTS.md + .kilo plugin
graphify kilo uninstall
graphify cursor install            # .cursor/rules/graphify.mdc (Cursor)
graphify cursor uninstall
graphify gemini install            # GEMINI.md + BeforeTool hook (Gemini CLI)
graphify gemini uninstall
graphify copilot install           # skill file (GitHub Copilot CLI)
graphify copilot uninstall
graphify aider install             # AGENTS.md (Aider)
graphify aider uninstall
graphify claw install              # AGENTS.md (OpenClaw)
graphify claw uninstall
graphify droid install             # AGENTS.md (Factory Droid)
graphify droid uninstall
graphify trae install              # AGENTS.md (Trae)
graphify trae uninstall
graphify trae-cn install           # AGENTS.md (Trae CN)
graphify trae-cn uninstall
graphify hermes install             # AGENTS.md + ~/.hermes/skills/ (Hermes)
graphify hermes uninstall
graphify amp install               # skill file (Amp)
graphify amp uninstall
graphify agents install            # ~/.agents/skills/ + AGENTS.md (cross-framework; alias: graphify skills)
graphify agents uninstall
graphify kiro install               # .kiro/skills/ + .kiro/steering/graphify.md (Kiro IDE/CLI)
graphify kiro uninstall
graphify pi install                # skill file (Pi coding agent)
graphify pi uninstall
graphify devin install             # skill file + .windsurf/rules/graphify.md (Devin CLI)
graphify devin uninstall
graphify antigravity install       # .agents/rules + .agents/workflows (Google Antigravity)
graphify antigravity uninstall

graphify extract ./docs                        # headless LLM extraction for CI (no IDE needed)
graphify extract ./docs --backend gemini       # explicit backend: gemini, kimi, claude, openai, deepseek, ollama, bedrock, or claude-cli
graphify extract ./docs --backend gemini --model gemini-3.1-pro-preview
graphify extract ./docs --backend ollama       # local Ollama (set OLLAMA_BASE_URL / OLLAMA_MODEL) - no API key needed for loopback
OPENAI_BASE_URL=http://localhost:8080/v1 OPENAI_MODEL=my-model graphify extract ./docs --backend openai   # any OpenAI-compatible server (llama.cpp, vLLM, LM Studio)
ANTHROPIC_BASE_URL=http://localhost:4000 ANTHROPIC_MODEL=my-model graphify extract ./docs --backend claude   # any Anthropic-compatible endpoint (LiteLLM proxy, gateways)
GRAPHIFY_OLLAMA_NUM_CTX=32768 graphify extract ./docs --backend ollama   # override KV-cache window (auto-sized by default)
GRAPHIFY_OLLAMA_KEEP_ALIVE=0 graphify extract ./docs --backend ollama    # unload model after each chunk (saves VRAM on small GPUs)
graphify extract ./docs --backend bedrock      # AWS Bedrock via IAM - no API key, uses AWS credential chain
graphify extract ./docs --backend claude-cli   # route through Claude Code CLI - no API key, uses your Claude subscription
graphify extract ./docs --backend azure        # Azure OpenAI (set AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT)
graphify extract ./docs --max-workers 16       # AST parallelism (also GRAPHIFY_MAX_WORKERS)
graphify extract --postgres "postgresql://user:pass@host/db"   # introspect live PostgreSQL schema directly
graphify extract ./my-workspace --cargo        # introspect Rust Cargo workspace dependencies directly
graphify extract ./docs --token-budget 30000   # smaller semantic chunks for local/small models
graphify extract ./docs --max-concurrency 2    # fewer parallel LLM calls (useful for local inference)
graphify extract ./docs --api-timeout 900      # longer HTTP timeout for slow local models (default 600s)
graphify extract ./docs --google-workspace     # export .gdoc/.gsheet/.gslides via gws before extraction
graphify extract ./src --no-gitignore          # include git-ignored source; still honor .graphifyignore
graphify extract ./docs --mode deep            # richer semantic extraction via extended system prompt
graphify extract ./docs --no-cluster           # raw extraction only, skip clustering
graphify extract ./docs --timing               # print per-stage wall-clock timings to stderr (also works on cluster-only)
graphify extract ./docs --force                # overwrite graph.json even if new graph has fewer nodes (use after refactors or to clear ghost duplicates)
graphify extract ./docs --dedup-llm            # LLM tiebreaker for ambiguous entity pairs (uses same API key)
graphify extract ./src --no-dedup              # skip entity dedup; on an incremental merge this also arms the shrink guard that refuses to drop untouched files' nodes
graphify extract ./docs --global --as myrepo   # extract and register into the cross-project global graph
GRAPHIFY_MAX_OUTPUT_TOKENS=32768 graphify extract ./docs --backend claude  # raise output cap for dense corpora

graphify export callflow-html                       # graphify-out/<project>-callflow.html
graphify export callflow-html --max-sections 8      # cap generated architecture sections
graphify export callflow-html --output docs/arch.html
graphify export callflow-html ./some-repo/graphify-out

graphify global add graphify-out/graph.json --as myrepo   # register a project graph into ~/.graphify/global-graph.json
graphify global remove myrepo                         # remove a project from the global graph
graphify global list                                  # show all registered repos + node/edge counts
graphify global path                                  # print path to the global graph file

graphify prs                              # PR dashboard: CI, review, worktree, graph impact
graphify prs 42                           # deep dive on PR #42
graphify prs --triage                     # AI triage ranking (auto-detects backend from env)
graphify prs --worktrees                  # worktree → branch → PR mapping
graphify prs --conflicts                  # PRs sharing graph communities (merge-order risk)
graphify prs --base main                  # filter to PRs targeting a specific base branch
graphify prs --repo owner/repo            # run against a different GitHub repo
GRAPHIFY_TRIAGE_BACKEND=kimi graphify prs --triage   # use a specific backend for triage

graphify clone https://github.com/karpathy/nanoGPT
graphify merge-graphs a.json b.json --out merged.json
graphify --version                                    # print installed version
graphify watch ./src
graphify check-update ./src
graphify update ./src
graphify update ./src --no-cluster  # skip reclustering, write raw AST graph only
graphify update ./src --force       # overwrite even if new graph has fewer nodes
graphify cluster-only ./my-project
graphify cluster-only ./my-project --graph path/to/graph.json  # custom graph location
graphify cluster-only ./my-project --max-concurrency 16 --batch-size 200  # parallel community labeling (large graphs)
graphify cluster-only ./my-project --resolution 1.5            # more, smaller communities
graphify cluster-only ./my-project --exclude-hubs 99           # exclude p99 degree nodes from partitioning
graphify cluster-only ./my-project --no-label                  # keep "Community N" placeholders
graphify cluster-only ./my-project --backend=gemini            # backend for community naming
graphify cluster-only ./my-project --backend=gemini --model gemini-2.5-pro  # specific model
graphify label ./my-project                                    # (re)name communities with the configured backend
graphify label ./my-project --backend=openai --model gpt-4o   # force a specific backend and model

Tên cộng đồng: bên trong một tác nhân (Claude Code, Gemini CLI), tác nhân đó tự đặt tên cho các cộng đồng. Khi bạn chạy CLI trần, cluster-only tự động đặt tên cho chúng bằng phần phụ trợ đã định cấu hình (nhà cung cấp tương thích với OpenAI tích hợp hoặc tùy chỉnh) - vượt qua --no-label để giữ Community N, hoặc chạy graphify label để (tái) tạo tên theo yêu cầu.


Tìm hiểu thêm


đồ họa doanh nghiệp

đồ họa doanh nghiệp là lớp luôn bật được xây dựng dựa trên Graphify — nó áp dụng cùng một cách tiếp cận biểu đồ cho toàn bộ bối cảnh làm việc của bạn: cuộc họp, tệp, tài liệu và mã, cập nhật liên tục trong nền.

Được xây dựng dành cho những người và nhóm có công việc trải qua hàng trăm cuộc hội thoại và tài liệu mà họ không bao giờ có thể tái tạo lại đầy đủ.

Tham gia danh sách chờ tại Graphify.com. Bản dùng thử miễn phí sẽ sớm ra mắt.


Đóng góp

Thiết lập phát triển

Dự án sử dụng tia cực tím cho quy trình làm việc của nhà phát triển. Cài đặt nó một lần, sau đó:

git clone https://github.com/safishamsi/graphify.git
cd graphify
git checkout v8                        # active development branch

# Create the project venv and install graphify + all extras + the dev group
# (pytest). uv installs the dev dependency group by default; pass --no-dev to
# skip it.
uv sync --all-extras

Xác minh cài đặt có thể chỉnh sửa:

uv run graphify --version
uv run python -c "import graphify; print(graphify.__file__)"

Chạy thử nghiệm

uv run pytest tests/ -q                # run the full suite
uv run pytest tests/test_extract.py -q # one module
uv run pytest tests/ -q -k "python"    # filter by name

Kiểm tra tính chẵn lẻ CI

Các lệnh CI có thẩm quyền tồn tại trong .github/workflows/. Để xác minh kiểu CI cục bộ, hãy sử dụng Python 3.10 hoặc 3.12 và chạy:

uv sync --all-extras --frozen
uv run --frozen pytest tests/ -q --tb=short
uv run --frozen python -m tools.skillgen --check
uv run --frozen python -m tools.skillgen --audit-coverage
uv run --frozen python -m tools.skillgen --schema-singleton
uv run --frozen python -m tools.skillgen --monolith-roundtrip
uv run --frozen python -m tools.skillgen --always-on-roundtrip
uv run --frozen graphify --help
uv run --frozen graphify install

Ruff rất hữu ích như một biện pháp kiểm tra cục bộ bổ sung (uv run --frozen ruff check .), nhưng hiện không phải là công việc chặn CI. Pyright cũng mang tính địa phương/tư vấn trừ khi nó được thêm vào CI sau này. Các bước CI kiểm tra pip và Bandit hiện đang sử dụng continue-on-error, vì vậy những phát hiện của họ mang tính chất tư vấn hơn là ngăn chặn.

lưu ý macOS: bộ thử nghiệm bao gồm cả sample.f90sample.F90 đồ đạc. Chúng xung đột trên các hệ thống tệp HFS+ / APFS không phân biệt chữ hoa chữ thường. Chạy trên Linux hoặc trong vùng chứa Docker nếu bạn cần kiểm tra đồng thời cả hai biến thể Fortran.

Lưu ý của Windows: bộ kiểm tra Windows gốc thực hiện các liên kết tượng trưng, ​​đường dẫn dài, quyền POSIX, dấu phân tách đường dẫn và hành vi hệ thống tệp UTF-8. Bật Chế độ nhà phát triển Windows để cho phép tạo liên kết tượng trưng không có đặc quyền hoặc chạy thử nghiệm từ trình bao nâng cao. Kích hoạt Windows LongPathsEnabled chính sách trước khi dựa vào các bài kiểm tra đường dài. Khởi động lại các shell hoặc ứng dụng bị ảnh hưởng sau khi thay đổi cài đặt. Để có sự tương đương chính xác với ma trận kiểm tra Hành động chặn GitHub, hãy chạy bộ phần mềm trong WSL hoặc Linux; CI hiện chạy trên Ubuntu với Python 3.10 và 3.12. Pyright có sẵn dưới dạng kiểm tra tư vấn cục bộ, nhưng hiện tại nó không phải là công việc chặn CI.

Quy trình làm việc Git

  • Sự phát triển tích cực diễn ra trên v8 chi nhánh.
  • Cam kết phong cách: fix: <description> / feat: <description> / docs: <description>
  • Trước khi mở PR, hãy chạy uv run pytest tests/ -q và xác nhận nó đã vượt qua.
  • Thêm một tập tin lịch thi đấu vào tests/fixtures/ và các bài kiểm tra để tests/test_languages.py cho bất kỳ trình trích xuất ngôn ngữ mới nào.

Đóng góp gì

Ví dụ đã làm việc là những đóng góp hữu ích nhất. Chạy /graphify trên một kho văn bản thực, lưu kết quả đầu ra vào worked/{slug}/, viết một cách trung thực review.md bao gồm những gì biểu đồ đúng và sai, đồng thời mở một PR.

Lỗi khai thác — mở một vấn đề với tệp đầu vào, mục bộ đệm (graphify-out/cache/) và những gì đã bị bỏ sót hoặc sai.

Xem KIẾN TRÚC.md để biết trách nhiệm của mô-đun và cách thêm ngôn ngữ.


Cộng đồng và liên kết

Website Discord X YouTube Sponsor The Memory Layer

Dự án cùng danh mục

openclaw/openclaw

Trợ lý AI cá nhân của riêng bạn. Bất kỳ hệ điều hành nào. Bất kỳ nền tảng nào. Cách tôm hùm. 🦞

387k81k23 phút trước
GitHubAI AgentTypeScript

affaan-m/ECC

Hệ thống tối ưu hóa hiệu suất khai thác tác nhân. Kỹ năng, bản năng, trí nhớ, bảo mật và sự phát triển ưu tiên nghiên cứu cho Claude Code, Codex, Opencode, Cursor và hơn thế nữa.

243k37k18 giờ trước
GitHubAI AgentJavaScript

NousResearch/hermes-agent

Đại lý phát triển cùng bạn

236k48k1 giờ trước
GitHubAI AgentPython

mattpocock/skills

Kỹ năng dành cho kỹ sư thực sự. Trực tiếp từ thư mục .agents của tôi.

235k20k9 giờ trước
GitHubAI AgentShell

anomalyco/opencode

Tác nhân mã hóa nguồn mở.

201k26k25 phút trước
GitHubAI AgentTypeScript

ultraworkers/claw-code

Triển lãm bảo tàng do đại lý quản lý, được xây dựng trong Rust với Gajae-Code / LazyCodex — được phát triển và duy trì mà không có sự can thiệp của con người.

195k109k8 ngày trước
GitHubAI AgentRust
Graphify-Labs/graphify — Repo Trending