// tệp cấu hình
config.yaml
Extension nằm dưới extensions trong ~/.config/goose/config.yaml. goose configure → Add Extension sẽ viết một mục cùng loại cho bạn.
Dành cho người dùng Goose
Goose làm việc thông qua extension, và mỗi extension là một MCP server. Maguyva là extension lập chỉ mục codebase của bạn, nên Goose hỏi mọi thứ nằm ở đâu thay vì liệt kê thư mục.
Gói Free: 3 repository, Tối đa 50K dòng repo đã index, không cần thẻ tín dụng.
Dùng .goosehints cho cách làm việc. Dùng Maguyva cho những gì mã đang nói lúc này. Bốn điều riêng của Goose.
// tệp cấu hình
Extension nằm dưới extensions trong ~/.config/goose/config.yaml. goose configure → Add Extension sẽ viết một mục cùng loại cho bạn.
// giao thức truyền tải
Maguyva là một extension streamable_http, nên Goose tự kết nối tới endpoint: không có tiến trình cục bộ, không cần Node.js. URL đặt trong uri, không phải url.
// khóa
Goose gửi map headers kèm mỗi yêu cầu, nên khóa đặt trong header Authorization. Goose cũng có thể điền khóa từ một biến môi trường được liệt kê trong env_keys.
// bộ lọc công cụ
Một extension có thể chỉ cung cấp một phần công cụ: liệt kê những công cụ bạn muốn dưới available_tools, hoặc để trống để dùng tất cả.
# .goosehints
- Dùng pnpm, không dùng npm.
- Chạy integration test trước khi coi một thay đổi là xong.Mặc định Goose nạp AGENTS.md và .goosehints: hint toàn cục từ ~/.config/goose/.goosehints, hint dự án từ repo, và các tệp lồng nhau khi làm việc trong thư mục con. Hint cần extension Developer. Đây là nơi phù hợp cho:
Hint mô tả dự án. Chúng không trả lời được “cái gì phụ thuộc vào thứ này?”
Ba khoảng trống Goose lấp bằng lệnh shell, mỗi lần một tệp.
Trên một repo xa lạ, Goose định hướng bằng danh sách thư mục và đọc tệp. Mỗi lần như vậy tốn ngữ cảnh trước khi tác vụ bắt đầu.
Tìm kiếm văn bản không phân biệt được lời gọi thật với comment, mock hay method trùng tên.
Tệp hint viết từ quý trước mô tả cấu trúc của quý trước. Goose vẫn làm theo.
Một mục extensions mang lại cho Goose:
Hint cho Goose biết cách làm việc.
Maguyva cho Goose bản đồ của mã.
Bản đồ trước, rồi để Goose chạy.
// workflow 01
goose> vì sao một số lần export kết thúc với không dòng nào? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose đọc hai tệp, không phải cả package export. [exit 0]
Kết quả xếp hạng thu hẹp phạm vi tìm kiếm trước khi Goose mở shell.
// workflow 02
goose> tách class Notifier thành email và SMS dependency_search("Notifier", dependents) 11 tham chiếu trên 5 package → Kế hoạch bao quát cả mười một chỗ trước lần sửa đầu tiên. [exit 0]
Goose nhận đầy đủ danh sách thành phần phụ thuộc trong một lần gọi thay vì một chuỗi grep.
Ba bước. Gói Free: 3 repository, Tối đa 50K dòng repo đã index, không cần thẻ tín dụng.
// step 01
Chọn một repo bạn đã biết, để bạn có thể đánh giá các câu trả lời.
// step 02
~/.config/goose/config.yaml
extensions:
maguyva:
name: maguyva
type: streamable_http
uri: https://maguyva.tools/mcp
enabled: true
headers:
Authorization: Bearer mgv_xxxx
timeout: 300
// step 03
Thay mgv_xxxx bằng khóa API của bạn, chạy goose session, và đặt một câu hỏi mà bạn đã biết câu trả lời. YAML nhạy với thụt lề: dùng dấu cách, không dùng tab.