Cài đặt
Pi sử dụng tệp cài đặt JSON với cài đặt dự án ghi đè cài đặt chung.
| Vị trí | Phạm vi |
|---|---|
~/.pi/agent/settings.json |
Toàn cầu (tất cả các dự án) |
.pi/settings.json |
Dự án (thư mục hiện tại) |
Chỉnh sửa trực tiếp hoặc sử dụng /settings cho các tùy chọn phổ biến.
Dự án ủy thác
Khi khởi động tương tác, pi hỏi trước khi tin cậy một thư mục dự án có chứa các cài đặt, tài nguyên hoặc dự án cục bộ của dự án .agents/skills và không có quyết định nào được lưu cho thư mục hoặc thư mục mẹ trong ~/.pi/agent/trust.json. Tin tưởng vào một dự án cho phép pi tải tài nguyên .pi/settings.json và .pi, cài đặt các gói dự án bị thiếu và thực hiện các phần mở rộng dự án.
Các chế độ không tương tác (-p, --mode json và --mode rpc) không hiển thị lời nhắc tin cậy. Nếu không có quyết định tin cậy đã lưu hiện hành, họ sẽ sử dụng defaultProjectTrust từ cài đặt chung: ask (mặc định) và never bỏ qua các tài nguyên dự án đó, trong khi always tin cậy chúng. Vượt qua --approve/-a hoặc --no-approve/-na để ghi đè độ tin cậy của dự án trong một lần chạy.
Nếu không áp dụng tiện ích mở rộng hoặc quyết định đã lưu, defaultProjectTrust sẽ kiểm soát hành vi dự phòng. Đặt thành "ask", "always" hoặc "never" trong ~/.pi/agent/settings.json hoặc thay đổi bằng /settings.
pi config và các lệnh gói sử dụng cùng một luồng tin cậy của dự án, ngoại trừ pi update không bao giờ nhắc. Chuyển --approve để tin cậy cài đặt dự án cục bộ cho một lệnh hoặc --no-approve để bỏ qua chúng.
Sử dụng /trust trong chế độ tương tác để lưu quyết định tin cậy dự án cho các phiên trong tương lai, bao gồm cả tin cậy cho thư mục mẹ trực tiếp. Nó chỉ viết ~/.pi/agent/trust.json; phiên hiện tại không được tải lại, vì vậy hãy khởi động lại pi để các thay đổi có hiệu lực.
Tất cả cài đặt
Mô hình & Tư duy
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
defaultProvider |
sợi dây | - | Nhà cung cấp mặc định (ví dụ: "anthropic", "openai") |
defaultModel |
sợi dây | - | ID mẫu mặc định |
defaultThinkingLevel |
sợi dây | - | "off", "minimal", "low", "medium", "high", "xhigh", "max" |
hideThinkingBlock |
boolean | false |
Ẩn các khối suy nghĩ trong đầu ra |
showCacheMissNotices |
boolean | false |
Hiển thị thông báo bản ghi khi có lỗi nhắc nhở đáng kể trong bộ nhớ đệm |
thinkingBudgets |
sự vật | - | Ngân sách mã thông báo tùy chỉnh cho mỗi cấp độ tư duy |
suy nghĩNgân sách
{
"thinkingBudgets": {
"minimal": 1024,
"low": 4096,
"medium": 10240,
"high": 32768
}
}Giao diện người dùng & Hiển thị
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
theme |
sợi dây | "dark" |
Tên chủ đề ("dark", "light" hoặc tùy chỉnh) |
externalEditor |
sợi dây | $VISUAL, rồi $EDITOR, rồi Notepad trên Windows hoặc nano ở nơi khác |
Lệnh cho trình soạn thảo bên ngoài Ctrl+G; được ưu tiên hơn các biến môi trường |
quietStartup |
boolean | false |
Ẩn tiêu đề khởi động |
defaultProjectTrust |
sợi dây | "ask" |
Hành vi tin cậy của dự án dự phòng: "ask", "always" hoặc "never". Chỉ cài đặt chung |
collapseChangelog |
boolean | false |
Hiển thị nhật ký thay đổi cô đọng sau khi cập nhật |
enableInstallTelemetry |
boolean | true |
Gửi ping phiên bản cài đặt/cập nhật ẩn danh sau lần cài đặt đầu tiên hoặc các bản cập nhật được phát hiện trong nhật ký thay đổi. Điều này không kiểm soát việc kiểm tra cập nhật |
enableAnalytics |
boolean | false |
Chọn tham gia chia sẻ dữ liệu phân tích. Hiện chỉ được yêu cầu trong lần thiết lập thử nghiệm lần đầu tiên (PI_EXPERIMENTAL=1) |
trackingId |
sợi dây | - | Mã nhận dạng theo dõi phân tích, được tạo khi enableAnalytics được bật |
doubleEscapeAction |
sợi dây | "tree" |
Hành động để thoát kép: "tree", "fork" hoặc "none" |
treeFilterMode |
sợi dây | "default" |
Bộ lọc mặc định cho /tree: "default", "no-tools", "user-only", "labeled-only", "all" |
editorPaddingX |
con số | 0 |
Đệm ngang cho trình soạn thảo đầu vào (0-3) |
outputPad |
con số | 1 |
Khoảng đệm ngang cho tin nhắn của người dùng, tin nhắn trợ lý và suy nghĩ (0 hoặc 1) |
autocompleteMaxVisible |
con số | 5 |
Các mục hiển thị tối đa trong danh sách thả xuống tự động hoàn thành (3-20) |
showHardwareCursor |
boolean | false |
Hiển thị con trỏ đầu cuối trong khi TUI định vị nó để hỗ trợ IME |
tuiMode |
sợi dây | "regular" |
Chế độ tương tác TUI: "regular" hoặc thử nghiệm "fullscreen". Những thay đổi từ /settings áp dụng ngay lập tức; --tui-mode ghi đè cài đặt này khi khởi động |
fullscreenExitOutput |
sợi dây | "transcript" |
Đầu ra thoát toàn màn hình: "transcript" in bản ghi cuối cùng và gợi ý tiếp tục, trong khi "resume-hint" khôi phục màn hình trước đó và chỉ in gợi ý sơ yếu lý lịch. Không có tác dụng ở chế độ TUI thông thường |
fullscreenScrollbar |
sợi dây | "auto" |
Thanh cuộn bản ghi toàn màn hình: "auto" hiển thị tạm thời trong khi cuộn, "always" đặt cột ngoài cùng bên phải và giữ cho cột đó hiển thị, đồng thời "hidden" ẩn cột đó. Không có tác dụng ở chế độ TUI thông thường |
Đối với Mã VS, hãy bao gồm --wait để pi tiếp tục hoạt động sau khi trình chỉnh sửa thoát:
{
"externalEditor": "code --wait"
}Kiểm tra từ xa và cập nhật
enableInstallTelemetry chỉ kiểm soát ping cài đặt/cập nhật ẩn danh thành https://pi.dev/api/report-install. Việc chọn không tham gia đo từ xa sẽ không vô hiệu hóa việc kiểm tra cập nhật; Pi vẫn có thể tìm nạp https://pi.dev/api/latest-version để tìm phiên bản mới nhất.
Đặt PI_SKIP_VERSION_CHECK=1 để tắt kiểm tra cập nhật phiên bản Pi. Sử dụng --offline hoặc PI_OFFLINE=1 để tắt tất cả các hoạt động mạng khởi động được mô tả ở đây, bao gồm kiểm tra cập nhật, kiểm tra cập nhật gói và đo từ xa cài đặt/cập nhật.
Mạng
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
httpProxy |
sợi dây | - | URL proxy HTTP được áp dụng dưới dạng HTTP_PROXY và HTTPS_PROXY. Chỉ cài đặt chung. |
{
"httpProxy": "http://127.0.0.1:7890"
}Cảnh báo
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
warnings.anthropicExtraUsage |
boolean | true |
Hiển thị cảnh báo khi xác thực đăng ký Anthropic có thể sử dụng mức sử dụng bổ sung phải trả phí |
{
"warnings": {
"anthropicExtraUsage": false
}
}nén chặt
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
compaction.enabled |
boolean | true |
Bật tính năng tự động nén |
compaction.reserveTokens |
con số | 16384 |
Mã thông báo dành riêng cho phản hồi LLM |
compaction.keepRecentTokens |
con số | 20000 |
Mã thông báo gần đây cần giữ (không được tóm tắt) |
{
"compaction": {
"enabled": true,
"reserveTokens": 16384,
"keepRecentTokens": 20000
}
}Tóm tắt chi nhánh
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
branchSummary.reserveTokens |
con số | 16384 |
Mã thông báo dành riêng cho branch summarization |
branchSummary.skipPrompt |
boolean | false |
Bỏ qua "Tóm tắt chi nhánh?" lời nhắc trên điều hướng /tree (mặc định là không có tóm tắt) |
Thử lại
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
retry.enabled |
boolean | true |
Bật thử lại cấp tác nhân tự động đối với các lỗi tạm thời |
retry.maxRetries |
con số | 3 |
Số lần thử lại cấp đại lý tối đa |
retry.baseDelayMs |
con số | 2000 |
Độ trễ cơ sở cho thời gian chờ theo cấp số nhân cấp đại lý (2 giây, 4 giây, 8 giây) |
retry.provider.timeoutMs |
con số | SDK mặc định | Nhà cung cấp/SDK hết thời gian chờ yêu cầu tính bằng mili giây |
retry.provider.maxRetries |
con số | 0 |
Nhà cung cấp/SDK thử lại |
retry.provider.maxRetryDelayMs |
con số | 60000 |
Độ trễ tối đa do máy chủ yêu cầu trước khi thất bại (60 giây) |
Khi nhà cung cấp yêu cầu độ trễ thử lại lâu hơn retry.provider.maxRetryDelayMs, yêu cầu sẽ không thành công ngay lập tức kèm theo lỗi thông tin thay vì im lặng chờ đợi. Đặt thành 0 để tắt giới hạn.
Giữ retry.provider.maxRetries ở 0 trừ khi rõ ràng cần phải thử lại ở cấp độ nhà cung cấp. Việc đặt nó ở trên 0 có thể khiến SDK/nhà cung cấp thử lại xử lý các lỗi hết giới hạn sử dụng trước khi Pi nhìn thấy chúng, điều này có thể chặn tác nhân cho đến khi hạn mức của nhà cung cấp được đặt lại trong một số trường hợp.
{
"retry": {
"enabled": true,
"maxRetries": 3,
"baseDelayMs": 2000,
"provider": {
"timeoutMs": 3600000,
"maxRetries": 0,
"maxRetryDelayMs": 60000
}
}
}Gửi tin nhắn
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
steeringMode |
sợi dây | "one-at-a-time" |
Cách gửi thông báo chỉ đạo: "all" hoặc "one-at-a-time" |
followUpMode |
sợi dây | "one-at-a-time" |
Cách gửi tin nhắn tiếp theo: "all" hoặc "one-at-a-time" |
transport |
sợi dây | "auto" |
Phương tiện vận chuyển ưu tiên dành cho nhà cung cấp hỗ trợ nhiều phương tiện vận chuyển: "sse", "websocket", "websocket-cached" hoặc "auto" |
httpIdleTimeoutMs |
con số | 300000 |
Thời gian chờ không hoạt động của tiêu đề/nội dung HTTP tính bằng mili giây, cũng được sử dụng bởi các nhà cung cấp có thời gian chờ không hoạt động của luồng rõ ràng. Đặt thành 0 để tắt. |
websocketConnectTimeoutMs |
con số | 15000 |
Thời gian chờ bắt tay mở/kết nối WebSocket tính bằng mili giây đối với các nhà cung cấp hỗ trợ truyền tải WebSocket. Đặt thành 0 để tắt. |
Thiết bị đầu cuối & Hình ảnh
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
terminal.showImages |
boolean | true |
Hiển thị hình ảnh trong thiết bị đầu cuối (nếu được hỗ trợ) |
terminal.imageWidthCells |
con số | 60 |
Chiều rộng hình ảnh nội tuyến ưa thích trong các ô cuối |
terminal.clearOnShrink |
boolean | false |
Xóa các hàng trống khi nội dung bị thu nhỏ (có thể gây nhấp nháy) |
images.autoResize |
boolean | true |
Thay đổi kích thước hình ảnh thành tối đa 2000x2000. Áp dụng cho @file tệp đính kèm, read và hình ảnh được các công cụ trả về |
images.blockImages |
boolean | false |
Chặn tất cả hình ảnh được gửi đến LLM |
Vỏ bọc
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
shellPath |
sợi dây | - | Đường dẫn shell tùy chỉnh (ví dụ: đối với Cygwin trên Windows); hỗ trợ ~ hàng đầu cho thư mục chính |
shellCommandPrefix |
sợi dây | - | Tiền tố cho mỗi lệnh bash (ví dụ: "shopt -s expand_aliases") |
npmCommand |
sợi dây[] | - | Lệnh argv được sử dụng cho các thao tác tra cứu/cài đặt gói npm (ví dụ: ["mise", "exec", "node@20", "--", "npm"]) |
{
"npmCommand": ["mise", "exec", "node@20", "--", "npm"]
}npmCommand được sử dụng cho tất cả các hoạt động của trình quản lý gói npm, bao gồm cài đặt, gỡ cài đặt và cài đặt phụ thuộc bên trong các gói git. Các gói npm trong phạm vi người dùng được cài đặt trong ~/.pi/agent/npm/; cài đặt các gói npm trong phạm vi dự án trong .pi/npm/. Sử dụng các mục nhập kiểu argv chính xác như quy trình sẽ được khởi chạy. Khi npmCommand được định cấu hình, các bản cài đặt phụ thuộc gói git sử dụng install đơn giản để tránh các cờ dành riêng cho npm trong trình bao bọc hoặc trình quản lý gói thay thế.
Phiên
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
sessionDir |
sợi dây | - | Thư mục lưu trữ các tập tin phiên. Chấp nhận đường dẫn tuyệt đối hoặc tương đối, cộng với ~. |
{ "sessionDir": ".pi/sessions" }Khi nhiều nguồn chỉ định một thư mục phiên, mức độ ưu tiên là --session-dir, PI_CODING_AGENT_SESSION_DIR, sau đó là sessionDir trong settings.json.
Người mẫu đi xe đạp
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
enabledModels |
sợi dây[] | - | Các mẫu mô hình cho vòng đạp Ctrl+P (cùng định dạng với cờ --models CLI) |
{
"enabledModels": ["claude-*", "gpt-4o", "gemini-2*"]
}Markdown
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
markdown.codeBlockIndent |
sợi dây | " " |
Thụt lề cho khối mã |
markdown.mermaid |
sợi dây | "streaming" |
Chế độ kết xuất nàng tiên cá: "off", "final" hoặc "streaming" |
Tài nguyên
Các cài đặt này xác định nơi tải tiện ích mở rộng, kỹ năng, lời nhắc và chủ đề.
Các đường dẫn trong ~/.pi/agent/settings.json phân giải tương ứng với ~/.pi/agent. Các đường dẫn trong .pi/settings.json phân giải tương ứng với .pi. Đường dẫn tuyệt đối và ~ được hỗ trợ.
| Cài đặt | Kiểu | Mặc định | Sự miêu tả |
|---|---|---|---|
packages |
mảng | [] |
Các gói npm/git để tải tài nguyên từ |
extensions |
sợi dây[] | [] |
Đường dẫn hoặc thư mục tệp mở rộng cục bộ |
skills |
sợi dây[] | [] |
Đường dẫn hoặc thư mục tệp kỹ năng cục bộ |
prompts |
sợi dây[] | [] |
Đường dẫn hoặc thư mục mẫu nhắc nhở cục bộ |
themes |
sợi dây[] | [] |
Đường dẫn hoặc thư mục tệp chủ đề cục bộ |
enableSkillCommands |
boolean | true |
Đăng ký kỹ năng dưới dạng lệnh /skill:name |
Mảng hỗ trợ các mô hình và loại trừ toàn cầu. Sử dụng !pattern để loại trừ. Sử dụng +path để buộc bao gồm một đường dẫn chính xác và -path để buộc loại trừ một đường dẫn chính xác.
gói
Dạng chuỗi tải tất cả tài nguyên từ một gói:
{
"packages": ["pi-skills", "@org/my-extension"]
}Biểu mẫu đối tượng lọc những tài nguyên nào sẽ tải:
{
"packages": [
{
"source": "pi-skills",
"skills": ["brave-search", "transcribe"],
"extensions": []
}
]
}Xem packages.md để biết chi tiết quản lý gói.
Ví dụ
{
"defaultProvider": "anthropic",
"defaultModel": "claude-sonnet-4-20250514",
"defaultThinkingLevel": "medium",
"theme": "dark",
"compaction": {
"enabled": true,
"reserveTokens": 16384,
"keepRecentTokens": 20000
},
"retry": {
"enabled": true,
"maxRetries": 3
},
"enabledModels": ["claude-*", "gpt-4o"],
"warnings": {
"anthropicExtraUsage": true
},
"packages": ["pi-skills"]
}Ghi đè dự án
Cài đặt dự án (.pi/settings.json) ghi đè cài đặt chung. Các đối tượng lồng nhau được hợp nhất:
// ~/.pi/agent/settings.json (global)
{
"theme": "dark",
"compaction": { "enabled": true, "reserveTokens": 16384 }
}
// .pi/settings.json (project)
{
"compaction": { "reserveTokens": 8192 }
}
// Result
{
"theme": "dark",
"compaction": { "enabled": true, "reserveTokens": 8192 }
}