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ơ.
README
Đọ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 | 🇮🇱 עברית
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ặcINFERRED(đượ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.
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
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ácgraphify*các gói trên PyPI không được liên kết. Lệnh CLI vẫn còngraphify.
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đặtgraphifylệ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ênPATHchưa: chạyuv tool update-shell(hoặcpipx ensurepath), sau đó mở một thiết bị đầu cuối mới. Với đồng bằngpip, thêm~/.local/bin(Linux) hoặc~/Library/Python/3.x/bin(Mac) vào PATH của bạn hoặc chạypython -m graphify.
Chạy với
uvx/uv tool runthay vì cài đặt? Đặt tên cho gói, không phải lệnh:uvx --from graphifyy graphify install. đồng bằnguvx 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áigraphifylệnh sống bên trong nó.
Tránh
pip installtrê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ơipipđã cài đặt gói, bạn sẽ nhận đượcModuleNotFoundError: No module named 'graphify'.uv tool installvàpipx installcô 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 installnhú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/binkhô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ạigraphify hook installđể làm mới đường dẫn được nhúng.
Chế độ nghiêm ngặt (Claude Code):
graphify install --project --strictlàm cho trợ lý thực sự sử dụng biểu đồ. Cài đặt mặc định huých nhẹ nó để chạygraphify querytrướ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ớiGRAPHIFY_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
$graphifythay 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 và .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ặcAMBIGUOUS. 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 |
|
| 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, .gsheetvà .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 và .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.jsonhiệ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:
- Một người chạy
/graphify .và cam kếtgraphify-out/. - Mọi người kéo - trợ lý của họ đọc biểu đồ ngay lập tức.
- 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.jsonkhô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ọ. - 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 và --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ôngpython. 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 extractchạ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
/graphifykỹ năng, sử dụng bất kỳ mô hình nào phiên IDE của bạn chạy). Không đầugraphify extractyêu cầuGEMINI_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ặcclaudeCLI 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-llmcờ sử dụng cùng một khóa. - Nơi lưu trữ dữ liệu —
graphify extracttự độ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--backendcờ. 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à MCPquery_graphcuộ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. ĐặtGRAPHIFY_QUERY_LOG_DISABLE=1để chọn không tham gia, hoặcGRAPHIFY_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ênPATH. Chạyuv tool update-shell, sau đó mở một thiết bị đầu cuối mới. (Tìm thư mục vớiuv tool dir --bin.) - pipx (
pipx install graphifyy): chạypipx 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ậtPATH- thêm~/Library/Python/3.x/bin(macOS) hoặc~/.local/bin(Linux) cho bạnPATHtrong~/.zshrc/~/.bashrc, hoặc chỉ cần chạypython -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 và --with graphifyy sẽ không ghi đè lên nó. Nó chạy không có lỗi, nhưng bạn nhận được 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-onlytự độ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ạygraphify labelđể (tái) tạo tên theo yêu cầu.
Tìm hiểu thêm
- Nó hoạt động như thế nào — quy trình trích xuất, phát hiện cộng đồng, chấm điểm độ tin cậy, điểm chuẩn
- KIẾN TRÚC.md - phân tích mô-đun, cách thêm ngôn ngữ
- Tích hợp tùy chọn — Docker MCP Bộ công cụ + SQLite
- Lớp bộ nhớ — cuốn sách về những ý tưởng đằng sau đồ họa, kiến trúc từ đầu đến cuối
đồ 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.f90vàsample.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
LongPathsEnabledchí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
v8chi 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/ -qvà 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.pycho 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
Dự án cùng danh mục
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. 🦞
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.
Đại lý phát triển cùng bạn
Kỹ năng dành cho kỹ sư thực sự. Trực tiếp từ thư mục .agents của tôi.
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.
