Compass, một đồ thị mã nguồn cục bộ được xây dựng bằng Rust dành cho con người và các tác nhân AI.
Điểm: 2 Bình luận: 0
Compass
Một biểu đồ tri thức nhanh, ưu tiên cục bộ để hiểu các cơ sở mã.
Compass biến mã nguồn và các tạo phẩm dự án thành một biểu đồ mà người dùng có thể tìm kiếm, truy vấn, trực quan hóa, so sánh trên lịch sử Git và chia sẻ với các công cụ phát triển.
cơ sở mã lớn
|
v
Compass -----> bản đồ kiến trúc
| \-> câu trả lời về sự phụ thuộc và tác động
| \-> kết quả CompassQL chính xác
| \-> khác biệt biểu đồ lịch sử
| \-> ngữ cảnh tập trung cho trợ lý
v
ít tìm kiếm hơn, ngữ cảnh nhỏ hơn, bằng chứng có thể truy nguyên
Bắt đầu ·
Đọc tài liệu ·
Khám phá lộ trình ·
Xem các bản phát hành
Sử dụng Compass trong trình chỉnh sửa của người dùng với tiện ích mở rộng
Compass Codegraph của bên thứ nhất dành cho VS Code.
Xem hướng dẫn tiện ích mở rộng VS Code để biết các biểu đồ hiện tại,
biểu đồ cuộc gọi dựa trên con trỏ, luồng kiến trúc, truy vấn và tiến hóa Git chính xác.
Những gì Compass cung cấp
Nhu cầu
Khả năng của Compass
Hiểu một kho lưu trữ không quen thuộc
Cộng đồng, báo cáo kiến trúc, phát hiện nút god và HTML tương tác
Tìm đường dẫn triển khai
Khám phá biểu đồ ngôn ngữ tự nhiên, giải thích ký hiệu và đường dẫn có hướng
Ước tính tác động thay đổi
Duyệt ngược phụ thuộc và khác biệt cấu trúc liên kết từ phiên bản này sang phiên bản khác
Tự động hóa kiểm tra cấu trúc
CompassQL chỉ đọc, xác định với đầu ra JSON và JSONL
Đặt câu hỏi về các bản sửa đổi cũ
Các hiện thực biểu đồ bất biến cho các cam kết Git chính xác
Cung cấp ngữ cảnh tập trung cho trợ lý
Các kỹ năng gốc, hooks, phục vụ MCP và truy vấn biểu đồ nhỏ gọn
Kết nối các công cụ khác
Graph JSON, GraphML, SVG, Wiki, Obsidian, Neo4j, FalkorDB và các xuất khác
Trích xuất cấu trúc và truy vấn biểu đồ chạy cục bộ. Chúng không yêu cầu
Python, nhúng, cơ sở dữ liệu vector, thông tin xác thực mô hình hoặc tải xuống trình phân tích cú pháp thời gian chạy.
Cách thức hoạt động
Compass khám phá các tệp dự án, trích xuất các thực thể và mối quan hệ, giải quyết
các tham chiếu chéo tệp, phân tích biểu đồ kết quả và xuất bản một
ảnh chụp nhất quán.
nút đối tượng hàm / lớp / tệp / tài liệu / lược đồ
Mối quan hệ CALLS / IMPORTS_FROM / USES / CONTAINS
nhóm dày đặc các nút liên quan cộng đồng
bằng chứng trực tiếp / đã giải quyết / không chắc chắn nguồn gốc
Các mối quan hệ giữ lại hướng, vị trí nguồn và nguồn gốc của chúng:
CheckoutHandler
|
+-- CALLS [EXTRACTED] --> authorizePayment()
| |
| +-- USES --> PaymentGateway
|
+-- CALLS [INFERRED] --> reserveInventory()
Đọc Cách Compass hoạt động để biết
quy trình hoàn chỉnh và mô hình Biểu đồ cho mô hình dữ liệu.
Nguồn gốc dự án
Compass được lấy cảm hứng và mô hình hóa theo
Graphify. Graphify đã thiết lập
quy trình làm việc cốt lõi: trích xuất cơ sở mã thành một biểu đồ tri thức, phân tích
các cộng đồng của nó và sử dụng các truy vấn biểu đồ tập trung để điều hướng các dự án phức tạp.
Compass ghi nhận rõ ràng nền tảng đó, nhưng hiện tại nó là một
sản phẩm độc lập với việc triển khai, lệnh, cấu hình, tạo phẩm và
bộ kiểm thử riêng. Compass không thực thi hoặc phụ thuộc vào Graphify.
Khả năng của Compass
Lĩnh vực
Tiện ích mở rộng Compass
Thời gian chạy
Một tệp thực thi Rust gốc không có phụ thuộc Python hoặc Graphify
Truy vấn chính xác
CompassQL, một tập hợp con openCypher chỉ đọc, xác định và có giới hạn
Biểu đồ có phiên bản
Các hiện thực bất biến cho các cam kết chính xác, truy vấn lịch sử, xuất và khác biệt
Hoạt động tăng dần
Tái sử dụng công việc trích xuất không thay đổi tương thích và xuất bản biểu đồ cộng với tệp kê khai một cách nguyên tử
An toàn truy vấn
Giới hạn hàng, đường dẫn, mở rộng, bộ nhớ và thời gian rõ ràng
Phân phối gốc
Các trình phân tích cú pháp được liên kết và triển khai gốc cho các giới hạn biểu đồ, phương tiện, cơ sở dữ liệu và dịch vụ được hỗ trợ
Xem Khả năng tương thích cho các hợp đồng thuộc sở hữu của Compass và
Di chuyển từ Graphify để cắt bỏ hoàn toàn một lần.
Hiệu suất
Hiệu suất của Compass được đánh giá dựa trên các đường cơ sở thuộc sở hữu của Compass trong khi
duy trì tính đúng đắn của đồ thị và đầu ra xác định. Đọc
Đánh giá hiệu suất để biết chính sách bằng chứng và
các lệnh benchmark.
Bắt đầu nhanh
1. Cài đặt
Trên macOS hoặc Linux (Apple Silicon/ARM64 hoặc Intel/AMD64):
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/crabbuild/compass/releases/latest/download/install.sh | sh
Trên Windows x64 hoặc ARM64, chạy trình cài đặt PowerShell xác minh tổng kiểm:
irm https://github.com/crabbuild/compass/releases/latest/download/install.ps1 | iex
Để cài đặt ngoại tuyến, tải xuống tệp lưu trữ và tệp .sha256 phù hợp từ
bản phát hành mới nhất,
xác minh tổng kiểm, giải nén và thêm thư mục chứa compass.exe
vào PATH.
Hoặc xây dựng từ mã nguồn với bộ công cụ Rust 1.97.1+ đã được ghim:
git clone https://github.com/crabbuild/compass.git
cd compass
make install
make install sử dụng ~/.cargo/bin hiện có, nếu không nó sẽ tạo và sử dụng
~/.local/bin. Để chọn một vị trí khác, chạy
make install BINDIR="$HOME/bin".
Bạn cũng có thể cài đặt trực tiếp thông qua Cargo:
cargo install --locked --path crates/compass-cli --bin compass
Nâng cấp bất kỳ tệp thực thi Compass nào đã cài đặt lên bản phát hành ổn định mới nhất bằng cách:
compass upgrade
Compass xác minh tổng kiểm của bản phát hành chính thức trước khi thay thế tệp thực thi.
Nếu không có bản phát hành mới hơn, nó sẽ thoát thành công và báo cáo rằng
phiên bản đã cài đặt đã là phiên bản mới nhất.
2. Cài đặt tiện ích mở rộng VS Code (tùy chọn)
Sau khi cài đặt Compass CLI, cài đặt
Compass Codegraph từ VS Code Marketplace
bằng cách chọn Cài đặt trên trang Marketplace của nó. Bạn cũng có thể cài đặt nó từ
một thiết bị đầu cuối:
code --install-extension crabbuild.crabbuild-compass-vscode
Mở kho lưu trữ của bạn trong VS Code. Tiện ích mở rộng phát hiện Compass
CLI đã cài đặt và hướng dẫn bạn khởi tạo kho lưu trữ từ thanh bên Compass.
3. Khởi tạo và xây dựng một đồ thị cục bộ
cd your-project
compass init
compass init xem trước tập dữ liệu đủ điều kiện, lưu phạm vi dự án trong
.compass/config.toml, và thực hiện lần xây dựng cấu trúc đầu tiên. Để tự động hóa
hoặc một phạm vi monorepo tập trung:
compass init . --include src --include 'services/*/src' --exclude '**/generated/**' --yes
Sau khi thiết lập, compass update và compass watch tự động sử dụng lại
phạm vi đã lưu.
Compass ghi:
compass-out/
├── graph.json đồ thị có thể đọc bằng máy
├── GRAPH_REPORT.md tóm tắt kiến trúc và cộng đồng
├── graph.html trực quan hóa tương tác w
Nguồn tin: Hacker News AI — Tác giả: forhappy. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.