failproofai 0.0.6-beta.2 → 0.0.6-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__096k.db._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 0-dm_9a6nsc2l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 01pmw1-asbek~.js} +2 -2
- package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 051m32nx~n5yr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 0a-yctdwn368y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0l-mu4okl-cj1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0mazj-p-~2kc6.js} +1 -1
- package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
- package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 156zca6aewyr-.js} +1 -1
- package/.next/standalone/CHANGELOG.md +7 -0
- package/.next/standalone/bin/failproofai.mjs +91 -4
- package/.next/standalone/dist/cli.mjs +1155 -54
- package/.next/standalone/docs/ar/built-in-policies.mdx +118 -118
- package/.next/standalone/docs/built-in-policies.mdx +2 -2
- package/.next/standalone/docs/de/built-in-policies.mdx +48 -48
- package/.next/standalone/docs/es/built-in-policies.mdx +82 -82
- package/.next/standalone/docs/fr/built-in-policies.mdx +72 -72
- package/.next/standalone/docs/he/built-in-policies.mdx +129 -128
- package/.next/standalone/docs/hi/built-in-policies.mdx +178 -182
- package/.next/standalone/docs/it/built-in-policies.mdx +64 -64
- package/.next/standalone/docs/ja/built-in-policies.mdx +128 -128
- package/.next/standalone/docs/ko/built-in-policies.mdx +111 -111
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +65 -65
- package/.next/standalone/docs/ru/built-in-policies.mdx +72 -72
- package/.next/standalone/docs/tr/built-in-policies.mdx +99 -99
- package/.next/standalone/docs/vi/built-in-policies.mdx +69 -72
- package/.next/standalone/docs/zh/built-in-policies.mdx +76 -78
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/auth/login.ts +104 -0
- package/.next/standalone/src/auth/logout.ts +50 -0
- package/.next/standalone/src/auth/token-store.ts +64 -0
- package/.next/standalone/src/hooks/builtin-policies.ts +22 -20
- package/.next/standalone/src/hooks/handler.ts +35 -15
- package/.next/standalone/src/relay/daemon.ts +362 -0
- package/.next/standalone/src/relay/pid.ts +76 -0
- package/.next/standalone/src/relay/queue.ts +225 -0
- package/bin/failproofai.mjs +91 -4
- package/dist/cli.mjs +1155 -54
- package/package.json +1 -1
- package/src/auth/login.ts +104 -0
- package/src/auth/logout.ts +50 -0
- package/src/auth/token-store.ts +64 -0
- package/src/hooks/builtin-policies.ts +22 -20
- package/src/hooks/handler.ts +35 -15
- package/src/relay/daemon.ts +362 -0
- package/src/relay/pid.ts +76 -0
- package/src/relay/queue.ts +225 -0
- package/.next/standalone/.next/static/chunks/0ijk_kek9_wyx.js +0 -6
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
description: "30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent"
|
|
2
|
+
title: Các chính sách tích hợp sẵn
|
|
3
|
+
description: "Tất cả 30 chính sách tích hợp sẵn để bắt các chế độ lỗi phổ biến của agent"
|
|
5
4
|
icon: shield
|
|
6
5
|
---
|
|
7
6
|
|
|
8
|
-
failproofai
|
|
7
|
+
failproofai đi kèm với 30 chính sách tích hợp sẵn để bắt các chế độ lỗi phổ biến của agent. Mỗi chính sách kích hoạt trên một loại sự kiện hook cụ thể và tên công cụ. Chín chính sách chấp nhận các tham số cho phép bạn tinh chỉnh hành vi của chúng mà không cần viết mã. Bốn chính sách quy trình làm việc thực thi đường dẫn commit → push → PR → CI trước khi Claude dừng lại.
|
|
9
8
|
|
|
10
9
|
---
|
|
11
10
|
|
|
12
11
|
## Tổng quan
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
Các chính sách được nhóm thành các danh mục:
|
|
15
14
|
|
|
16
15
|
| Danh mục | Chính sách | Loại hook |
|
|
17
16
|
|----------|----------|-----------|
|
|
18
|
-
| [
|
|
19
|
-
| [Bí mật (
|
|
17
|
+
| [Các lệnh nguy hiểm](#các-lệnh-nguy-hiểm) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
|
+
| [Bí mật (các công cụ khử trùng)](#bí-mật-các-công-cụ-khử-trùng) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
20
19
|
| [Môi trường](#môi-trường) | block-env-files, protect-env-vars | PreToolUse |
|
|
21
20
|
| [Truy cập tệp](#truy-cập-tệp) | block-read-outside-cwd, block-secrets-write | PreToolUse |
|
|
22
21
|
| [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
|
|
@@ -25,35 +24,35 @@ Chính sách được nhóm thành các danh mục:
|
|
|
25
24
|
| [Trình quản lý gói](#trình-quản-lý-gói) | prefer-package-manager | PreToolUse |
|
|
26
25
|
| [Quy trình làm việc](#quy-trình-làm-việc) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
27
26
|
|
|
28
|
-
- **`block-`** — dừng agent không
|
|
29
|
-
- **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để nó có thể tự sửa.
|
|
30
|
-
- **`sanitize-`** —
|
|
27
|
+
- **`block-`** — dừng agent không cho tiếp tục.
|
|
28
|
+
- **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để nó có thể tự sửa chữa.
|
|
29
|
+
- **`sanitize-`** — xoá các dữ liệu nhạy cảm từ đầu ra công cụ trước khi agent nhìn thấy.
|
|
31
30
|
- **`require-`** — chặn sự kiện Stop cho đến khi các điều kiện được đáp ứng.
|
|
32
31
|
|
|
33
32
|
---
|
|
34
33
|
|
|
35
34
|
<Tip>
|
|
36
|
-
Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude nhìn thấy, cung cấp hướng dẫn
|
|
35
|
+
Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude nhìn thấy, cung cấp hướng dẫn hữu ích mà không cần sửa đổi mã chính sách. Hoạt động với các chính sách tích hợp sẵn, tùy chỉnh và quy ước. Xem [Configuration → hint](/vi/configuration#hint-cross-cutting) để biết chi tiết.
|
|
37
36
|
</Tip>
|
|
38
37
|
|
|
39
38
|
---
|
|
40
39
|
|
|
41
|
-
##
|
|
40
|
+
## Các lệnh nguy hiểm
|
|
42
41
|
|
|
43
|
-
Ngăn chặn agent chạy các hoạt động khó hoàn tác hoặc có thể làm
|
|
42
|
+
Ngăn chặn agent chạy các hoạt động khó hoàn tác hoặc có thể làm hỏng hệ thống chủ.
|
|
44
43
|
|
|
45
44
|
### `block-sudo`
|
|
46
45
|
|
|
47
46
|
**Sự kiện:** PreToolUse (Bash)
|
|
48
|
-
**Mặc định:** Từ chối
|
|
47
|
+
**Mặc định:** Từ chối mọi lệnh `sudo`.
|
|
49
48
|
|
|
50
|
-
Chặn các
|
|
49
|
+
Chặn các lần gọi bao gồm từ khóa `sudo`. Khớp mẫu được thực hiện trên các token lệnh đã phân tích cú pháp, không phải chuỗi thô, để ngăn chặn vòng qua tiêm toán tử shell.
|
|
51
50
|
|
|
52
51
|
**Tham số:**
|
|
53
52
|
|
|
54
53
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
55
54
|
|-------|------|---------|-------------|
|
|
56
|
-
| `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được khớp với các token argv
|
|
55
|
+
| `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được so khớp với các token argv đã phân tích cú pháp. |
|
|
57
56
|
|
|
58
57
|
**Ví dụ:**
|
|
59
58
|
|
|
@@ -67,10 +66,10 @@ Chặn các lời gọi bao gồm từ khóa `sudo`. Khớp mẫu được thự
|
|
|
67
66
|
}
|
|
68
67
|
```
|
|
69
68
|
|
|
70
|
-
Với cấu hình này, `sudo systemctl status nginx` được phép, nhưng `sudo rm /etc/hosts` bị từ chối.
|
|
69
|
+
Với cấu hình này, `sudo systemctl status nginx` được cho phép, nhưng `sudo rm /etc/hosts` bị từ chối.
|
|
71
70
|
|
|
72
71
|
<Note>
|
|
73
|
-
|
|
72
|
+
Các mẫu được so khớp với các token đã phân tích cú pháp, không phải chuỗi lệnh thô. Điều này ngăn chặn vòng qua các toán tử shell được thêm vào (ví dụ: `sudo systemctl status x; rm -rf /` không khớp với `sudo systemctl status *`).
|
|
74
73
|
</Note>
|
|
75
74
|
|
|
76
75
|
---
|
|
@@ -84,7 +83,7 @@ Mẫu được khớp với các token được phân tích, không phải chu
|
|
|
84
83
|
|
|
85
84
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
86
85
|
|-------|------|---------|-------------|
|
|
87
|
-
| `allowPaths` | `string[]` | `[]` |
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | Các đường dẫn an toàn để xóa đệ quy (ví dụ: `/tmp`). |
|
|
88
87
|
|
|
89
88
|
**Ví dụ:**
|
|
90
89
|
|
|
@@ -118,14 +117,14 @@ Không có tham số.
|
|
|
118
117
|
|
|
119
118
|
---
|
|
120
119
|
|
|
121
|
-
## Bí mật (
|
|
120
|
+
## Bí mật (các công cụ khử trùng)
|
|
122
121
|
|
|
123
|
-
Ngăn chặn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng.
|
|
122
|
+
Ngăn chặn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng. Các chính sách khử trùng kích hoạt trên các sự kiện **PostToolUse**. Khi Claude chạy lệnh Bash, đọc tệp hoặc gọi bất kỳ công cụ nào, các chính sách này kiểm tra đầu ra trước khi nó được trả về cho Claude. Nếu phát hiện mẫu bí mật, chính sách trả về quyết định deny ngăn chặn đầu ra được truyền lại.
|
|
124
123
|
|
|
125
124
|
### `sanitize-jwt`
|
|
126
125
|
|
|
127
|
-
**Sự kiện:** PostToolUse (tất cả công cụ)
|
|
128
|
-
**Mặc định:**
|
|
126
|
+
**Sự kiện:** PostToolUse (tất cả các công cụ)
|
|
127
|
+
**Mặc định:** Che đi các token JWT (ba phân đoạn base64url được phân tách bằng `.`).
|
|
129
128
|
|
|
130
129
|
Không có tham số.
|
|
131
130
|
|
|
@@ -133,14 +132,14 @@ Không có tham số.
|
|
|
133
132
|
|
|
134
133
|
### `sanitize-api-keys`
|
|
135
134
|
|
|
136
|
-
**Sự kiện:** PostToolUse (tất cả công cụ)
|
|
137
|
-
**Mặc định:**
|
|
135
|
+
**Sự kiện:** PostToolUse (tất cả các công cụ)
|
|
136
|
+
**Mặc định:** Che đi các định dạng khóa API phổ biến: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), Khóa truy cập AWS (`AKIA`), Khóa Stripe (`sk_live_`, `sk_test_`) và Khóa API Google (`AIza`).
|
|
138
137
|
|
|
139
138
|
**Tham số:**
|
|
140
139
|
|
|
141
140
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
142
141
|
|-------|------|---------|-------------|
|
|
143
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung
|
|
142
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung để coi như bí mật. |
|
|
144
143
|
|
|
145
144
|
**Ví dụ:**
|
|
146
145
|
|
|
@@ -161,8 +160,8 @@ Không có tham số.
|
|
|
161
160
|
|
|
162
161
|
### `sanitize-connection-strings`
|
|
163
162
|
|
|
164
|
-
**Sự kiện:** PostToolUse (tất cả công cụ)
|
|
165
|
-
**Mặc định:**
|
|
163
|
+
**Sự kiện:** PostToolUse (tất cả các công cụ)
|
|
164
|
+
**Mặc định:** Che đi các chuỗi kết nối cơ sở dữ liệu chứa thông tin xác thực nhúng (ví dụ: `postgresql://user:password@host/db`).
|
|
166
165
|
|
|
167
166
|
Không có tham số.
|
|
168
167
|
|
|
@@ -170,8 +169,8 @@ Không có tham số.
|
|
|
170
169
|
|
|
171
170
|
### `sanitize-private-key-content`
|
|
172
171
|
|
|
173
|
-
**Sự kiện:** PostToolUse (tất cả công cụ)
|
|
174
|
-
**Mặc định:**
|
|
172
|
+
**Sự kiện:** PostToolUse (tất cả các công cụ)
|
|
173
|
+
**Mặc định:** Che đi các khối PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, v.v.).
|
|
175
174
|
|
|
176
175
|
Không có tham số.
|
|
177
176
|
|
|
@@ -179,8 +178,8 @@ Không có tham số.
|
|
|
179
178
|
|
|
180
179
|
### `sanitize-bearer-tokens`
|
|
181
180
|
|
|
182
|
-
**Sự kiện:** PostToolUse (tất cả công cụ)
|
|
183
|
-
**Mặc định:**
|
|
181
|
+
**Sự kiện:** PostToolUse (tất cả các công cụ)
|
|
182
|
+
**Mặc định:** Che đi tiêu đề `Authorization: Bearer <token>` trong đó token có 20 ký tự trở lên.
|
|
184
183
|
|
|
185
184
|
Không có tham số.
|
|
186
185
|
|
|
@@ -188,14 +187,14 @@ Không có tham số.
|
|
|
188
187
|
|
|
189
188
|
## Môi trường
|
|
190
189
|
|
|
191
|
-
Bảo vệ cấu hình môi trường nhạy cảm
|
|
190
|
+
Bảo vệ cấu hình môi trường nhạy cảm không bị agent đọc hoặc lộ ra.
|
|
192
191
|
|
|
193
192
|
### `block-env-files`
|
|
194
193
|
|
|
195
194
|
**Sự kiện:** PreToolUse (Bash, Read)
|
|
196
|
-
**Mặc định:** Từ chối đọc các tệp `.env`
|
|
195
|
+
**Mặc định:** Từ chối đọc các tệp `.env` qua `cat .env`, các lệnh gọi công cụ Read với `.env` là đường dẫn tệp, v.v.
|
|
197
196
|
|
|
198
|
-
Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp
|
|
197
|
+
Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp có tên chính xác là `.env`.
|
|
199
198
|
|
|
200
199
|
Không có tham số.
|
|
201
200
|
|
|
@@ -212,7 +211,7 @@ Không có tham số.
|
|
|
212
211
|
|
|
213
212
|
## Truy cập tệp
|
|
214
213
|
|
|
215
|
-
Giữ agent hoạt động
|
|
214
|
+
Giữ cho agent hoạt động trong ranh giới dự án và tránh xa các tệp nhạy cảm.
|
|
216
215
|
|
|
217
216
|
### `block-read-outside-cwd`
|
|
218
217
|
|
|
@@ -223,7 +222,7 @@ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các t
|
|
|
223
222
|
|
|
224
223
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
225
224
|
|-------|------|---------|-------------|
|
|
226
|
-
| `allowPaths` | `string[]` | `[]` |
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | Các tiền tố đường dẫn tuyệt đối được phép ngay cả khi bên ngoài cwd. |
|
|
227
226
|
|
|
228
227
|
**Ví dụ:**
|
|
229
228
|
|
|
@@ -242,7 +241,7 @@ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các t
|
|
|
242
241
|
### `block-secrets-write`
|
|
243
242
|
|
|
244
243
|
**Sự kiện:** PreToolUse (Write, Edit)
|
|
245
|
-
**Mặc định:** Từ chối ghi vào các tệp thường được sử dụng cho khóa riêng và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
244
|
+
**Mặc định:** Từ chối ghi vào các tệp thường được sử dụng cho khóa riêng tư và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
246
245
|
|
|
247
246
|
**Tham số:**
|
|
248
247
|
|
|
@@ -266,7 +265,7 @@ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các t
|
|
|
266
265
|
|
|
267
266
|
## Git
|
|
268
267
|
|
|
269
|
-
Ngăn chặn các
|
|
268
|
+
Ngăn chặn các push, force-push và lỗi nhánh đột ngột khó hoàn tác.
|
|
270
269
|
|
|
271
270
|
### `block-push-master`
|
|
272
271
|
|
|
@@ -277,7 +276,7 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
|
|
|
277
276
|
|
|
278
277
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
279
278
|
|-------|------|---------|-------------|
|
|
280
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể
|
|
279
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể push trực tiếp. |
|
|
281
280
|
|
|
282
281
|
**Ví dụ:**
|
|
283
282
|
|
|
@@ -292,7 +291,7 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
|
|
|
292
291
|
```
|
|
293
292
|
|
|
294
293
|
<Tip>
|
|
295
|
-
Để cho phép
|
|
294
|
+
Để cho phép push tới tất cả các nhánh (thực tế là vô hiệu hóa chính sách này mà không cần xóa khỏi `enabledPolicies`), hãy đặt `protectedBranches: []`.
|
|
296
295
|
</Tip>
|
|
297
296
|
|
|
298
297
|
---
|
|
@@ -300,13 +299,13 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
|
|
|
300
299
|
### `block-work-on-main`
|
|
301
300
|
|
|
302
301
|
**Sự kiện:** PreToolUse (Bash)
|
|
303
|
-
**Mặc định:** Từ chối kiểm tra
|
|
302
|
+
**Mặc định:** Từ chối kiểm tra các nhánh `main` hoặc `master` trực tiếp.
|
|
304
303
|
|
|
305
304
|
**Tham số:**
|
|
306
305
|
|
|
307
306
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
308
307
|
|-------|------|---------|-------------|
|
|
309
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể
|
|
308
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể kiểm tra trực tiếp. |
|
|
310
309
|
|
|
311
310
|
---
|
|
312
311
|
|
|
@@ -315,7 +314,7 @@ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nh
|
|
|
315
314
|
**Sự kiện:** PreToolUse (Bash)
|
|
316
315
|
**Mặc định:** Từ chối `git push --force` và `git push -f`.
|
|
317
316
|
|
|
318
|
-
Không có tham số cụ thể chính sách. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting)
|
|
317
|
+
Không có tham số cụ thể chính sách. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting) chuyên toàn để gợi ý các lựa chọn thay thế:
|
|
319
318
|
|
|
320
319
|
```json
|
|
321
320
|
{
|
|
@@ -350,7 +349,7 @@ Không có tham số.
|
|
|
350
349
|
### `warn-all-files-staged`
|
|
351
350
|
|
|
352
351
|
**Sự kiện:** PreToolUse (Bash)
|
|
353
|
-
**Mặc định:** Hướng dẫn Claude xem xét những gì nó đang
|
|
352
|
+
**Mặc định:** Hướng dẫn Claude xem xét những gì nó đang sử dụng khi chạy `git add -A` hoặc `git add .`. Không chặn lệnh.
|
|
354
353
|
|
|
355
354
|
Không có tham số.
|
|
356
355
|
|
|
@@ -372,7 +371,7 @@ Không có tham số.
|
|
|
372
371
|
### `warn-schema-alteration`
|
|
373
372
|
|
|
374
373
|
**Sự kiện:** PreToolUse (Bash)
|
|
375
|
-
**Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các lệnh `ALTER TABLE`.
|
|
374
|
+
**Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các câu lệnh `ALTER TABLE`.
|
|
376
375
|
|
|
377
376
|
Không có tham số.
|
|
378
377
|
|
|
@@ -380,18 +379,18 @@ Không có tham số.
|
|
|
380
379
|
|
|
381
380
|
## Cảnh báo
|
|
382
381
|
|
|
383
|
-
Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có rủi ro nhưng không
|
|
382
|
+
Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có rủi ro nhưng không tàn phá.
|
|
384
383
|
|
|
385
384
|
### `warn-large-file-write`
|
|
386
385
|
|
|
387
386
|
**Sự kiện:** PreToolUse (Write)
|
|
388
|
-
**Mặc định:** Hướng dẫn Claude xác nhận trước khi
|
|
387
|
+
**Mặc định:** Hướng dẫn Claude xác nhận trước khi ghi các tệp lớn hơn 1024 KB.
|
|
389
388
|
|
|
390
389
|
**Tham số:**
|
|
391
390
|
|
|
392
391
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
393
392
|
|-------|------|---------|-------------|
|
|
394
|
-
| `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte
|
|
393
|
+
| `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte trên đó cảnh báo được cấp. |
|
|
395
394
|
|
|
396
395
|
**Ví dụ:**
|
|
397
396
|
|
|
@@ -406,7 +405,7 @@ Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có r
|
|
|
406
405
|
```
|
|
407
406
|
|
|
408
407
|
<Note>
|
|
409
|
-
Trình xử lý hook thực thi giới hạn 1 MB
|
|
408
|
+
Trình xử lý hook thực thi giới hạn stdin 1 MB trên các tải trọng. Để kiểm tra chính sách này với nội dung nhỏ, hãy đặt `thresholdKb` thành giá trị tốt dưới 1024.
|
|
410
409
|
</Note>
|
|
411
410
|
|
|
412
411
|
---
|
|
@@ -423,7 +422,7 @@ Không có tham số.
|
|
|
423
422
|
### `warn-background-process`
|
|
424
423
|
|
|
425
424
|
**Sự kiện:** PreToolUse (Bash)
|
|
426
|
-
**Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy các
|
|
425
|
+
**Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy các quá trình nền qua `nohup`, `&`, `disown` hoặc `screen`.
|
|
427
426
|
|
|
428
427
|
Không có tham số.
|
|
429
428
|
|
|
@@ -445,18 +444,18 @@ Thực thi trình quản lý gói nào được agent phép sử dụng.
|
|
|
445
444
|
### `prefer-package-manager`
|
|
446
445
|
|
|
447
446
|
**Sự kiện:** PreToolUse (Bash)
|
|
448
|
-
**Mặc định:**
|
|
447
|
+
**Mặc định:** Vô hiệu hóa. Khi được bật, chặn bất kỳ lệnh trình quản lý gói nào không có trong danh sách `allowed` và hướng dẫn Claude viết lại lệnh bằng trình quản lý được phép.
|
|
449
448
|
|
|
450
449
|
Phát hiện: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
|
|
451
450
|
|
|
452
451
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
453
452
|
|-----------|------|---------|-------------|
|
|
454
|
-
| `allowed` | string[] | `[]` | Tên trình quản lý gói được phép. Bất kỳ trình quản lý được phát hiện nào không có trong danh sách này
|
|
455
|
-
| `blocked` | string[] | `[]` | Tên trình quản lý bổ sung để chặn ngoài danh sách
|
|
453
|
+
| `allowed` | string[] | `[]` | Tên trình quản lý gói được phép. Bất kỳ trình quản lý được phát hiện nào không có trong danh sách này đều bị chặn. Khi trống, chính sách là không hoạt động. |
|
|
454
|
+
| `blocked` | string[] | `[]` | Tên trình quản lý bổ sung để chặn ngoài danh sách tích hợp sẵn (ví dụ: `['pdm', 'pipx']`). |
|
|
456
455
|
|
|
457
456
|
Danh sách chặn tích hợp sẵn bao gồm: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Sử dụng `blocked` để thêm các trình quản lý không có trong danh sách này.
|
|
458
457
|
|
|
459
|
-
**
|
|
458
|
+
**Ví dụ cấu hình:**
|
|
460
459
|
|
|
461
460
|
```json
|
|
462
461
|
{
|
|
@@ -470,18 +469,18 @@ Danh sách chặn tích hợp sẵn bao gồm: pip, pip3, npm, npx, yarn, pnpm,
|
|
|
470
469
|
}
|
|
471
470
|
```
|
|
472
471
|
|
|
473
|
-
Với cấu hình này, `pip install flask` và `pdm install flask` đều bị từ chối với thông báo
|
|
472
|
+
Với cấu hình này, `pip install flask` và `pdm install flask` đều bị từ chối với thông báo hướng dẫn Claude sử dụng `uv` hoặc `bun`. Các lệnh như `uv pip install flask` được cho phép vì `uv` có trong danh sách cho phép và được kiểm tra trước tiên.
|
|
474
473
|
|
|
475
474
|
---
|
|
476
475
|
|
|
477
476
|
## Hành vi AI
|
|
478
477
|
|
|
479
|
-
Phát hiện khi agent bị
|
|
478
|
+
Phát hiện khi agent bị kẹt hoặc có hành vi bất thường.
|
|
480
479
|
|
|
481
480
|
### `warn-repeated-tool-calls`
|
|
482
481
|
|
|
483
|
-
**Sự kiện:** PreToolUse (tất cả công cụ)
|
|
484
|
-
**Mặc định:** Hướng dẫn Claude cân nhắc
|
|
482
|
+
**Sự kiện:** PreToolUse (tất cả các công cụ)
|
|
483
|
+
**Mặc định:** Hướng dẫn Claude cân nhắc kỹ khi cùng một công cụ được gọi 3 lần trở lên với các tham số giống hệt - một dấu hiệu phổ biến của agent bị kẹt trong vòng lặp.
|
|
485
484
|
|
|
486
485
|
Không có tham số.
|
|
487
486
|
|
|
@@ -489,14 +488,14 @@ Không có tham số.
|
|
|
489
488
|
|
|
490
489
|
## Quy trình làm việc
|
|
491
490
|
|
|
492
|
-
Thực thi quy trình làm việc
|
|
491
|
+
Thực thi quy trình làm việc kỷ luật ở cuối phiên. Các chính sách này kích hoạt trên sự kiện **Stop** và từ chối Claude dừng lại cho đến khi mỗi điều kiện được đáp ứng. Chúng tuân theo chuỗi phụ thuộc tự nhiên: commit → push → PR → CI. Nếu chính sách từ chối, các chính sách sau đó trong chuỗi sẽ bị bỏ qua (deny ngắn mạch).
|
|
493
492
|
|
|
494
|
-
Tất cả chính sách quy trình làm việc
|
|
493
|
+
Tất cả các chính sách quy trình làm việc **fail-open**: nếu công cụ được yêu cầu không có sẵn (ví dụ: `gh` chưa cài đặt, không có git remote), chính sách cho phép với thông báo thông tin giải thích lý do kiểm tra bị bỏ qua.
|
|
495
494
|
|
|
496
495
|
### `require-commit-before-stop`
|
|
497
496
|
|
|
498
497
|
**Sự kiện:** Stop
|
|
499
|
-
**Mặc định:** Từ chối dừng khi có các thay đổi chưa được commit (các tệp đã sửa đổi,
|
|
498
|
+
**Mặc định:** Từ chối dừng khi có các thay đổi chưa được commit (các tệp đã sửa đổi, đã chuẩn bị hoặc chưa theo dõi). Trả về thông báo thông tin khi thư mục làm việc sạch sẽ.
|
|
500
499
|
|
|
501
500
|
Không có tham số.
|
|
502
501
|
|
|
@@ -505,13 +504,13 @@ Không có tham số.
|
|
|
505
504
|
### `require-push-before-stop`
|
|
506
505
|
|
|
507
506
|
**Sự kiện:** Stop
|
|
508
|
-
**Mặc định:** Từ chối dừng khi có các commit chưa được
|
|
507
|
+
**Mặc định:** Từ chối dừng khi có các commit chưa được push hoặc khi nhánh hiện tại không có nhánh remote theo dõi. Gợi ý `git push -u` để tạo nhánh theo dõi nếu cần. Fails open nếu không có remote được cấu hình.
|
|
509
508
|
|
|
510
509
|
**Tham số:**
|
|
511
510
|
|
|
512
511
|
| Tham số | Loại | Mặc định | Mô tả |
|
|
513
512
|
|-------|------|---------|-------------|
|
|
514
|
-
| `remote` | `string` | `"origin"` | Tên remote để
|
|
513
|
+
| `remote` | `string` | `"origin"` | Tên remote để push tới. |
|
|
515
514
|
|
|
516
515
|
**Ví dụ:**
|
|
517
516
|
|
|
@@ -530,14 +529,13 @@ Không có tham số.
|
|
|
530
529
|
### `require-pr-before-stop`
|
|
531
530
|
|
|
532
531
|
**Sự kiện:** Stop
|
|
533
|
-
**Mặc định:** Từ chối dừng khi không có pull request
|
|
532
|
+
**Mặc định:** Từ chối dừng khi không có pull request cho nhánh hiện tại hoặc khi PR hiện có bị đóng/hợp nhất. Hướng dẫn Claude tạo PR bằng `gh pr create`.
|
|
534
533
|
|
|
535
534
|
Không có tham số.
|
|
536
535
|
|
|
537
536
|
<Note>
|
|
538
537
|
Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
|
|
539
|
-
Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc
|
|
540
|
-
các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
|
|
538
|
+
Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách sẽ fail open và báo cáo lý do cho Claude.
|
|
541
539
|
</Note>
|
|
542
540
|
|
|
543
541
|
---
|
|
@@ -545,14 +543,13 @@ các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không đư
|
|
|
545
543
|
### `require-ci-green-before-stop`
|
|
546
544
|
|
|
547
545
|
**Sự kiện:** Stop
|
|
548
|
-
**Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn đang chạy trên nhánh hiện tại. Kiểm tra cả
|
|
546
|
+
**Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn đang chạy trên nhánh hiện tại. Kiểm tra cả chạy quy trình làm việc GitHub Actions và kiểm tra bot của bên thứ ba (ví dụ: CodeRabbit, SonarCloud, Codecov). Coi `skipped` và `cancelled` kết luận là thành công. Trả về thông báo thông tin khi tất cả các kiểm tra đều đạt.
|
|
549
547
|
|
|
550
548
|
Không có tham số.
|
|
551
549
|
|
|
552
550
|
<Note>
|
|
553
551
|
Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
|
|
554
|
-
Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc
|
|
555
|
-
các lần chạy quy trình làm việc Actions và API Checks. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
|
|
552
|
+
Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc các chạy quy trình làm việc Actions và API Kiểm tra. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách sẽ fail open và báo cáo lý do cho Claude.
|
|
556
553
|
</Note>
|
|
557
554
|
|
|
558
555
|
---
|
|
@@ -561,7 +558,7 @@ các lần chạy quy trình làm việc Actions và API Checks. Nếu `gh` khô
|
|
|
561
558
|
|
|
562
559
|
## Vô hiệu hóa các chính sách riêng lẻ
|
|
563
560
|
|
|
564
|
-
Xóa chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn hoặc tắt nó trong tab
|
|
561
|
+
Xóa một chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn, hoặc tắt nó trong tab Chính sách của bảng điều khiển.
|
|
565
562
|
|
|
566
563
|
```json
|
|
567
564
|
{
|
|
@@ -572,4 +569,4 @@ Xóa chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của b
|
|
|
572
569
|
}
|
|
573
570
|
```
|
|
574
571
|
|
|
575
|
-
Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi các mục `policyParams` tồn tại cho chúng.
|
|
572
|
+
Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi có các mục `policyParams` tồn tại cho chúng.
|