Files
wehub-resource-sync d88fd01084
CI / test (3.10) (push) Failing after 1s
CI / test (3.12) (push) Failing after 0s
CI / skillgen-check (push) Failing after 0s
CI / security-scan (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:09:14 +08:00

27 KiB
Raw Permalink Blame History

Graphify

🇺🇸 English | 🇨🇳 简体中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇩🇪 Deutsch | 🇫🇷 Français | 🇪🇸 Español | 🇮🇳 हिन्दी | 🇧🇷 Português | 🇷🇺 Русский | 🇸🇦 العربية | 🇮🇷 فارسی | 🇮🇹 Italiano | 🇵🇱 Polski | 🇳🇱 Nederlands | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇻🇳 Tiếng Việt | 🇮🇩 Bahasa Indonesia | 🇸🇪 Svenska | 🇬🇷 Ελληνικά | 🇷🇴 Română | 🇨🇿 Čeština | 🇫🇮 Suomi | 🇩🇰 Dansk | 🇳🇴 Norsk | 🇭🇺 Magyar | 🇹🇭 ภาษาไทย | 🇺🇿 Oʻzbekcha | 🇹🇼 繁體中文 | 🇵🇭 Filipino

YC S26 CI PyPI Downloads Sponsor LinkedIn X

یک مهارت برای دستیار کدنویسی هوش مصنوعی. /graphify را در Claude Code، Codex، OpenCode، Kilo Code، Cursor، Gemini CLI، GitHub Copilot CLI، VS Code Copilot Chat، Aider، Amp، OpenClaw، Factory Droid، Trae، Hermes، Kimi Code، Kiro، Pi، Devin CLI یا Google Antigravity تایپ کنید — تمام پروژه‌تان را می‌خواند، یک گراف دانش می‌سازد، و ساختاری که نمی‌دانستید وجود دارد را به شما بازمی‌گرداند. کدبیس را سریع‌تر درک کنید. «چرا»ی پشت تصمیمات معماری را کشف کنید.

کاملاً چندوجهی. کد، PDF، مارک‌داون، اسکرین‌شات، نمودار، عکس وایت‌بورد، تصاویر به زبان‌های دیگر، یا فایل‌های ویدئو و صوتی بریزید — graphify مفاهیم و روابط را از همه آن‌ها استخراج کرده و در یک گراف به هم متصل می‌کند. ویدئوها به‌صورت محلی با Whisper رونویسی می‌شوند. ۳۶ زبان برنامه‌نویسی از طریق tree-sitter AST پشتیبانی می‌شوند.

Andrej Karpathy یک پوشه /raw نگه می‌دارد که در آن مقالات، توییت‌ها، اسکرین‌شات‌ها و یادداشت‌ها می‌ریزد. graphify پاسخ آن مشکل است — ۷۱.۵ برابر کمتر توکن در هر پرس‌وجو در مقایسه با خواندن فایل‌های خام، در طول جلسات پایدار، و صادق در مورد آنچه پیدا شده در برابر آنچه استنباط شده است.

/graphify .

همین. سه فایل دریافت می‌کنید:

graphify-out/
├── graph.html       در هر مرورگری باز کنید — روی گره‌ها کلیک کنید، فیلتر کنید، جستجو کنید
├── GRAPH_REPORT.md  نکات کلیدی: مفاهیم محوری، اتصالات شگفت‌انگیز، سؤالات پیشنهادی
└── graph.json       گراف کامل — هر زمان بدون نیاز به بازخوانی فایل‌ها پرس‌وجو کنید

برای یک صفحه معماری خوانا با نمودارهای جریان فراخوانی Mermaid، اجرا کنید:

graphify export callflow-html

پیش‌نیازها

پیش‌نیاز حداقل بررسی نصب
Python ۳.۱۰+ python --version python.org
uv (پیشنهادی) هر نسخه uv --version curl -LsSf https://astral.sh/uv/install.sh | sh
pipx (جایگزین) هر نسخه pipx --version pip install pipx

نصب سریع macOS (Homebrew):

brew install python@3.12 uv

نصب سریع Windows:

winget install astral-sh.uv

Ubuntu/Debian:

sudo apt install python3.12 python3-pip pipx
# یا نصب uv:
curl -LsSf https://astral.sh/uv/install.sh | sh

نصب

بسته رسمی: بسته PyPI به نام graphifyy است (با دو y). سایر بسته‌های graphify* در PyPI وابسته به این پروژه نیستند. دستور CLI همچنان graphify است.

مرحله ۱ — نصب بسته:

# پیشنهادی (uv به‌طور خودکار graphify را در PATH قرار می‌دهد):
uv tool install graphifyy

# جایگزین‌ها:
pipx install graphifyy
pip install graphifyy  # ممکن است نیاز به تنظیم PATH داشته باشد — یادداشت زیر را ببینید

مرحله ۲ — ثبت مهارت در دستیار هوش مصنوعی:

graphify install

همین. دستیار هوش مصنوعی‌تان را باز کنید و /graphify . تایپ کنید.

برای نصب مهارت دستیار در مخزن جاری به‌جای پروفایل کاربری، --project اضافه کنید:

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

یادداشت PowerShell: از graphify . استفاده کنید نه /graphify . — اسلش ابتدایی در PowerShell جداکننده مسیر است.

graphify: command not found؟ از uv tool install graphifyy یا pipx install graphifyy استفاده کنید — هر دو CLI را به‌طور خودکار در PATH قرار می‌دهند.

انتخاب پلتفرم

پلتفرم دستور نصب
Claude Code (Linux/Mac) graphify install
Claude Code (Windows) graphify install (تشخیص خودکار) یا graphify install --platform windows
CodeBuddy graphify install --platform codebuddy
Codex graphify install --platform codex
OpenCode graphify install --platform opencode
Kilo Code graphify install --platform kilo
GitHub Copilot CLI graphify install --platform copilot
VS Code Copilot Chat graphify vscode install
Aider graphify install --platform aider
OpenClaw graphify install --platform claw
Factory Droid graphify install --platform droid
Trae graphify install --platform trae
Trae CN graphify install --platform trae-cn
Gemini CLI graphify install --platform gemini
Hermes graphify install --platform hermes
Kimi Code graphify install --platform kimi
Amp graphify amp install
Kiro IDE/CLI graphify kiro install
Pi coding agent graphify install --platform pi
Cursor graphify cursor install
Devin CLI graphify devin install
Google Antigravity graphify antigravity install

افزونه‌های اختیاری

فقط آنچه نیاز دارید نصب کنید:

افزونه چه چیزی اضافه می‌کند نصب
pdf استخراج PDF uv tool install "graphifyy[pdf]"
office پشتیبانی از .docx و .xlsx uv tool install "graphifyy[office]"
google رندرینگ Google Sheets uv tool install "graphifyy[google]"
video رونویسی ویدئو/صوت uv tool install "graphifyy[video]"
mcp سرور MCP stdio uv tool install "graphifyy[mcp]"
neo4j پشتیبانی از Neo4j uv tool install "graphifyy[neo4j]"
ollama استنتاج محلی Ollama uv tool install "graphifyy[ollama]"
openai OpenAI / APIهای سازگار با OpenAI uv tool install "graphifyy[openai]"
gemini Google Gemini API uv tool install "graphifyy[gemini]"
anthropic Anthropic Claude API uv tool install "graphifyy[anthropic]"
bedrock AWS Bedrock (از IAM استفاده می‌کند) uv tool install "graphifyy[bedrock]"
sql استخراج طرح SQL uv tool install "graphifyy[sql]"
all همه موارد بالا uv tool install "graphifyy[all]"

دستیار را همیشه از گراف استفاده کنید

پس از ساخت گراف، یک بار در پروژه‌تان اجرا کنید:

پلتفرم دستور
Claude Code graphify claude install
CodeBuddy graphify codebuddy install
Codex graphify codex install
OpenCode graphify opencode install
Kilo Code graphify kilo install
GitHub Copilot CLI graphify copilot install
VS Code Copilot Chat graphify vscode install
Aider graphify aider install
OpenClaw graphify claw install
Factory Droid graphify droid install
Trae graphify trae install
Cursor graphify cursor install
Gemini CLI graphify gemini install
Amp graphify amp install
Kiro IDE/CLI graphify kiro install
Devin CLI graphify devin install
Google Antigravity graphify antigravity install

این یک فایل پیکربندی کوچک می‌نویسد که به دستیارتان می‌گوید برای سؤالات مربوط به کدبیس، گراف دانش را مشورت بگیرد. برای حذف graphify از همه پلتفرم‌ها به یکباره: graphify uninstall (با --purge برای حذف graphify-out/ نیز).


محتوای گزارش

  • گره‌های اصلی — پرارتباط‌ترین مفاهیم پروژه. همه چیز از این‌ها عبور می‌کند.
  • اتصالات شگفت‌انگیز — پیوندهایی بین چیزهایی که در فایل‌ها یا ماژول‌های مختلف زندگی می‌کنند. بر اساس میزان غیرمنتظره بودن رتبه‌بندی شده.
  • «چرا» — نظرات درون‌خطی (# NOTE:، # WHY:، # HACK:)، داک‌استرینگ‌ها و منطق طراحی از اسناد به‌عنوان گره‌های جداگانه مرتبط با کدی که توضیح می‌دهند استخراج می‌شوند.
  • سؤالات پیشنهادی — ۴ تا ۵ سؤال که گراف به‌طور منحصربه‌فرد می‌تواند پاسخ دهد.
  • برچسب‌های اطمینان — هر رابطه استنباط‌شده با EXTRACTED، INFERRED یا AMBIGUOUS علامت‌گذاری می‌شود. همیشه می‌دانید چه چیزی پیدا شده در برابر چه چیزی حدس زده شده.

فایل‌های پشتیبانی‌شده

نوع پسوندها
کد (۳۶ دستور زبان tree-sitter) .py .ts .js .jsx .tsx .go .rs .java .c .cpp .rb .cs .kt .scala .php .swift .lua .zig .ps1 .ex .exs .vue .svelte .dart و بیشتر
اسناد .md .mdx .html .txt .rst .yaml .yml
Office .docx .xlsx (نیاز به graphifyy[office])
PDF .pdf
تصاویر .png .jpg .webp .gif
ویدئو / صوت .mp4 .mov .mp3 .wav و بیشتر (نیاز به graphifyy[video])
YouTube / URLها هر URL ویدئویی (نیاز به graphifyy[video])

کد به‌صورت محلی با tree-sitter بدون هیچ فراخوانی API استخراج می‌شود. بقیه از طریق API مدل دستیار هوش مصنوعی شما پردازش می‌شوند.


دستورات رایج

/graphify .                        # ساخت گراف برای پوشه جاری
/graphify ./docs --update          # فقط فایل‌های تغییریافته را مجدداً استخراج کن
/graphify . --cluster-only         # خوشه‌بندی مجدد بدون استخراج مجدد
/graphify . --no-viz               # فقط گزارش + JSON، بدون HTML
/graphify . --wiki                 # ساخت ویکی مارک‌داون از گراف
graphify export callflow-html      # HTML معماری/جریان فراخوانی Mermaid

/graphify query "چه چیزی auth را به پایگاه داده متصل می‌کند؟"
/graphify path "UserService" "DatabasePool"
/graphify explain "RateLimiter"

/graphify add https://arxiv.org/abs/1706.03762   # یک مقاله را واکشی و اضافه کن
/graphify add <youtube-url>                       # رونویسی و اضافه کردن ویدئو

graphify hook install              # بازسازی خودکار پس از هر commit
graphify merge-graphs a.json b.json              # ترکیب دو گراف

graphify prs                       # داشبورد PR: وضعیت CI، بررسی، تأثیر گراف
graphify prs 42                    # بررسی عمیق PR شماره ۴۲
graphify prs --triage              # رتبه‌بندی صف بررسی با هوش مصنوعی

مرجع کامل دستورات را ببینید.


نادیده گرفتن فایل‌ها

یک .graphifyignore در ریشه پروژه بسازید — همان سینتکس .gitignore، از جمله نفی با !.

.gitignore به‌طور خودکار رعایت می‌شود. اگر .graphifyignore در یک دایرکتوری وجود نداشته باشد، graphify به .gitignore آن دایرکتوری بازمی‌گردد.

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

# فقط src/ را ایندکس کن، بقیه را نادیده بگیر
*
!src/
!src/**

تنظیمات تیمی

graphify-out/ برای commit شدن در git طراحی شده تا همه در تیم با یک نقشه شروع کنند.

افزودن‌های پیشنهادی به .gitignore:

graphify-out/cost.json        # فقط محلی
# graphify-out/cache/         # اختیاری: برای سرعت commit کنید، برای کوچک نگه داشتن repo حذف کنید

جریان کار: ۱. یک نفر /graphify . اجرا می‌کند و graphify-out/ را commit می‌کند. ۲. همه pull می‌کنند — دستیارشان فوراً گراف را می‌خواند. ۳. graphify hook install را اجرا کنید تا پس از هر commit به‌طور خودکار بازسازی شود. ۴. وقتی اسناد یا مقالات تغییر کردند، /graphify --update اجرا کنید.


استفاده مستقیم از گراف

# پرس‌وجو از گراف در ترمینال
graphify query "جریان احراز هویت را نشان بده"
graphify query "چه چیزی DigestAuth را به Response متصل می‌کند؟" --graph graphify-out/graph.json

# نمایش گراف به‌عنوان سرور MCP
python -m graphify.serve graphify-out/graph.json

# یا سرویس‌دهی از طریق HTTP برای دسترسی تیمی:
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"

سرور MCP دسترسی ساختاریافته می‌دهد: query_graph، get_node، get_neighbors، shortest_path، list_prs، get_pr_impact، triage_prs.


متغیرهای محیطی

اینها فقط برای استخراج بدون نمایشگر / CI (graphify extract) لازم هستند. هنگام اجرا از طریق مهارت /graphify داخل IDE، API مدل توسط جلسه IDE شما تأمین می‌شود.

متغیر استفاده شرط لزوم
ANTHROPIC_API_KEY بک‌اند Claude (Anthropic) --backend claude
GEMINI_API_KEY یا GOOGLE_API_KEY بک‌اند Google Gemini --backend gemini
OPENAI_API_KEY OpenAI یا APIهای سازگار --backend openai
DEEPSEEK_API_KEY بک‌اند DeepSeek --backend deepseek
MOONSHOT_API_KEY بک‌اند Kimi Code --backend kimi
OLLAMA_BASE_URL URL استنتاج محلی Ollama --backend ollama
AZURE_OPENAI_API_KEY بک‌اند Azure OpenAI --backend azure
GRAPHIFY_MAX_WORKERS تعداد thread های موازی AST اختیاری
GRAPHIFY_FORCE بازسازی اجباری گراف اختیاری
GRAPHIFY_QUERY_LOG_DISABLE برای غیرفعال کردن ثبت پرس‌وجو 1 تنظیم کنید اختیاری

حریم خصوصی

  • فایل‌های کد — به‌صورت محلی از طریق tree-sitter پردازش می‌شوند. هیچ چیزی دستگاه شما را ترک نمی‌کند.
  • ویدئو / صوت — به‌صورت محلی با faster-whisper رونویسی می‌شوند. هیچ چیزی دستگاه شما را ترک نمی‌کند.
  • اسناد، PDF‌ها، تصاویر — برای استخراج معنایی به API مدل دستیار هوش مصنوعی شما ارسال می‌شوند.
  • بدون تله‌متری، بدون ردیابی استفاده، بدون آنالیتیکس.

عیب‌یابی

graphify: command not found پس از pip install graphifyy pip اسکریپت‌ها را در دایرکتوری bin کاربر نصب می‌کند که ممکن است در PATH نباشد:

  • macOS: ~/Library/Python/3.x/bin را به PATH در ~/.zshrc اضافه کنید
  • Linux: ~/.local/bin را به PATH در ~/.bashrc اضافه کنید
  • یا از uv tool install graphifyy / pipx install graphifyy استفاده کنید.

/graphify . در PowerShell "path not recognized" نشان می‌دهد PowerShell / ابتدایی را به‌عنوان جداکننده مسیر در نظر می‌گیرد. از graphify . (بدون اسلش) در Windows استفاده کنید.

گراف پس از --update یا بازسازی گره کمتری دارد اگر یک refactor فایل‌ها را حذف کرده، گره‌های قدیمی باقی می‌مانند. --force (یا GRAPHIFY_FORCE=1) را پاس دهید:

graphify extract . --force

استخراج برای اسناد یا PDF‌ها گره/یال خالی برمی‌گرداند اسناد، PDF‌ها و تصاویر به یک فراخوانی LLM نیاز دارند. بررسی کنید API key تنظیم شده و بک‌اند صحیح است:

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

مرجع کامل دستورات

/graphify                          # اجرا روی دایرکتوری جاری
/graphify ./raw                    # اجرا روی پوشه مشخص
/graphify ./raw --mode deep        # استخراج رابطه‌های عمیق‌تر
/graphify ./raw --update           # فقط فایل‌های تغییریافته را مجدداً استخراج کن
/graphify ./raw --directed         # حفظ جهت یال‌ها
/graphify ./raw --cluster-only     # خوشه‌بندی مجدد روی گراف موجود
/graphify ./raw --no-viz           # بدون HTML بصری‌سازی
/graphify ./raw --obsidian         # تولید Obsidian vault
/graphify ./raw --wiki             # ساخت ویکی مارک‌داون قابل خزیدن برای agent
/graphify ./raw --svg              # خروجی graph.svg
/graphify ./raw --graphml          # خروجی برای Gephi / yEd
/graphify ./raw --neo4j            # تولید cypher.txt برای Neo4j
/graphify ./raw --watch            # همگام‌سازی خودکار با تغییر فایل‌ها
/graphify ./raw --mcp              # شروع سرور MCP stdio

/graphify add https://arxiv.org/abs/1706.03762
/graphify add <video-url>

/graphify query "چه چیزی attention را به optimizer متصل می‌کند؟"
/graphify path "DigestAuth" "Response"
/graphify explain "SwinTransformer"

graphify uninstall                 # حذف از همه پلتفرم‌ها
graphify uninstall --purge         # همچنین graphify-out/ را حذف کن

graphify hook install              # hook های post-commit + post-checkout
graphify hook uninstall
graphify hook status

graphify claude install            # CLAUDE.md + PreToolUse hook (Claude Code)
graphify codex install             # AGENTS.md + PreToolUse hook (Codex)
graphify cursor install            # .cursor/rules/graphify.mdc (Cursor)
graphify gemini install            # GEMINI.md + BeforeTool hook (Gemini CLI)
graphify amp install               # فایل مهارت (Amp)
graphify kiro install              # .kiro/skills/ + .kiro/steering/ (Kiro)
graphify devin install             # فایل مهارت + .windsurf/rules/ (Devin CLI)
graphify antigravity install       # .agents/rules + .agents/workflows (Google Antigravity)

graphify extract ./docs                        # استخراج بدون نمایشگر برای CI
graphify extract ./docs --backend gemini       # بک‌اند صریح
graphify extract ./docs --backend ollama       # Ollama محلی - بدون نیاز به API key
graphify extract ./docs --backend bedrock      # AWS Bedrock از طریق IAM
graphify extract --postgres "postgresql://user:pass@host/db"   # طرح PostgreSQL زنده

graphify prs                              # داشبورد PR
graphify prs 42                           # بررسی عمیق PR شماره ۴۲
graphify prs --triage                     # رتبه‌بندی هوش مصنوعی
graphify prs --conflicts                  # PR هایی که جوامع گراف را به اشتراک می‌گذارند

graphify export callflow-html             # HTML معماری/جریان فراخوانی
graphify merge-graphs a.json b.json --out merged.json
graphify --version

بیشتر بدانید


ساخته‌شده روی graphify — Penpax

Penpax لایه همیشه‌روشن ساخته‌شده روی graphify است — همان رویکرد گراف را بر کل زندگی کاری شما اعمال می‌کند: جلسات، تاریخچه مرورگر، ایمیل‌ها، فایل‌ها و کد، به‌صورت مداوم در پس‌زمینه به‌روزرسانی می‌شود.

ساخته‌شده برای کسانی که کارشان در صدها مکالمه و سند پراکنده است. بدون ابر، کاملاً روی دستگاه.

آزمایش رایگان به‌زودی راه‌اندازی می‌شود. به لیست انتظار بپیوندید ←


مشارکت در پروژه

راه‌اندازی محیط توسعه

این پروژه از uv برای جریان کار توسعه استفاده می‌کند. یک بار آن را نصب کنید، سپس:

git clone https://github.com/safishamsi/graphify.git
cd graphify
git checkout v8                        # شاخه توسعه فعال

uv sync --all-extras

اجرای تست‌ها

uv run pytest tests/ -q                # اجرای کل مجموعه
uv run pytest tests/test_extract.py -q # یک ماژول

جریان کار Git

  • توسعه فعال روی شاخه v8 انجام می‌شود.
  • سبک commit: fix: <توضیح> / feat: <توضیح> / docs: <توضیح>
  • قبل از باز کردن PR، uv run pytest tests/ -q اجرا کنید و از موفقیت آن مطمئن شوید.

چه چیزی مشارکت کنیم

نمونه‌های کاری مفیدترین نوع مشارکت هستند. /graphify را روی یک corpus واقعی اجرا کنید، خروجی را در worked/{slug}/ ذخیره کنید، یک review.md صادقانه بنویسید که چه چیزهایی درست و نادرست بوده، و یک PR باز کنید.

باگ‌های استخراج — یک issue با فایل ورودی، آیتم کش (graphify-out/cache/) و آنچه اشتباه یا حذف شده باز کنید.

برای مسئولیت‌های ماژول و نحوه اضافه کردن زبان جدید ARCHITECTURE.md را ببینید.