failproofai 0.0.6-beta.1 → 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/.failproofai/policies/review-policies.mjs +4 -3
- 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]__0~kmh8w._.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]__0rh.18_._.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/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
- package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
- package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
- package/.next/standalone/CHANGELOG.md +18 -0
- package/.next/standalone/bin/failproofai.mjs +91 -4
- package/.next/standalone/dist/cli.mjs +1156 -55
- package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
- package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
- package/.next/standalone/docs/ar/examples.mdx +86 -33
- package/.next/standalone/docs/ar/getting-started.mdx +82 -29
- package/.next/standalone/docs/built-in-policies.mdx +3 -3
- package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
- package/.next/standalone/docs/de/custom-policies.mdx +56 -56
- package/.next/standalone/docs/de/examples.mdx +72 -18
- package/.next/standalone/docs/de/getting-started.mdx +72 -20
- package/.next/standalone/docs/es/built-in-policies.mdx +91 -54
- package/.next/standalone/docs/es/custom-policies.mdx +55 -55
- package/.next/standalone/docs/es/examples.mdx +73 -19
- package/.next/standalone/docs/es/getting-started.mdx +72 -20
- package/.next/standalone/docs/fr/built-in-policies.mdx +99 -62
- package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
- package/.next/standalone/docs/fr/examples.mdx +78 -24
- package/.next/standalone/docs/fr/getting-started.mdx +65 -13
- package/.next/standalone/docs/he/built-in-policies.mdx +139 -99
- package/.next/standalone/docs/he/custom-policies.mdx +75 -75
- package/.next/standalone/docs/he/examples.mdx +87 -33
- package/.next/standalone/docs/he/getting-started.mdx +84 -33
- package/.next/standalone/docs/hi/built-in-policies.mdx +203 -166
- package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
- package/.next/standalone/docs/hi/examples.mdx +90 -36
- package/.next/standalone/docs/hi/getting-started.mdx +80 -27
- package/.next/standalone/docs/i18n/README.ar.md +69 -69
- package/.next/standalone/docs/i18n/README.de.md +46 -46
- package/.next/standalone/docs/i18n/README.es.md +42 -42
- package/.next/standalone/docs/i18n/README.fr.md +39 -39
- package/.next/standalone/docs/i18n/README.he.md +83 -83
- package/.next/standalone/docs/i18n/README.hi.md +69 -69
- package/.next/standalone/docs/i18n/README.it.md +72 -72
- package/.next/standalone/docs/i18n/README.ja.md +71 -71
- package/.next/standalone/docs/i18n/README.ko.md +52 -52
- package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
- package/.next/standalone/docs/i18n/README.ru.md +66 -66
- package/.next/standalone/docs/i18n/README.tr.md +82 -83
- package/.next/standalone/docs/i18n/README.vi.md +70 -71
- package/.next/standalone/docs/i18n/README.zh.md +51 -51
- package/.next/standalone/docs/it/built-in-policies.mdx +115 -78
- package/.next/standalone/docs/it/custom-policies.mdx +69 -69
- package/.next/standalone/docs/it/examples.mdx +93 -39
- package/.next/standalone/docs/it/getting-started.mdx +73 -21
- package/.next/standalone/docs/ja/built-in-policies.mdx +155 -118
- package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
- package/.next/standalone/docs/ja/examples.mdx +76 -22
- package/.next/standalone/docs/ja/getting-started.mdx +65 -13
- package/.next/standalone/docs/ko/built-in-policies.mdx +103 -66
- package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
- package/.next/standalone/docs/ko/examples.mdx +87 -33
- package/.next/standalone/docs/ko/getting-started.mdx +61 -9
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +72 -35
- package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
- package/.next/standalone/docs/pt-br/examples.mdx +78 -24
- package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +135 -98
- package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
- package/.next/standalone/docs/ru/examples.mdx +77 -22
- package/.next/standalone/docs/ru/getting-started.mdx +74 -22
- package/.next/standalone/docs/tr/built-in-policies.mdx +126 -89
- package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
- package/.next/standalone/docs/tr/examples.mdx +97 -42
- package/.next/standalone/docs/tr/getting-started.mdx +75 -23
- package/.next/standalone/docs/vi/built-in-policies.mdx +116 -81
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
- package/.next/standalone/docs/vi/examples.mdx +93 -38
- package/.next/standalone/docs/vi/getting-started.mdx +74 -22
- package/.next/standalone/docs/zh/built-in-policies.mdx +117 -82
- package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
- package/.next/standalone/docs/zh/examples.mdx +90 -36
- package/.next/standalone/docs/zh/getting-started.mdx +73 -21
- 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 +27 -21
- 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 +1156 -55
- 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 +27 -21
- 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/0wlyoif4_kj_t.js +0 -6
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
|
|
24
24
|
**번역**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
|
|
25
25
|
|
|
26
|
-
AI 에이전트를
|
|
26
|
+
AI 에이전트를 안정적이고, 목표에 집중하며, 자율적으로 실행되도록 유지하는 정책을 가장 쉽게 관리하는 방법 - **Claude Code** 및 **Agents SDK** 지원.
|
|
27
27
|
|
|
28
|
-
- **30
|
|
29
|
-
- **커스텀 정책** - JavaScript로 직접
|
|
30
|
-
- **간편한 설정** -
|
|
31
|
-
- **에이전트 모니터** - 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요. 세션을 탐색하고, 모든 도구 호출을 검사하며, 정책이 발동된 정확한 위치를
|
|
28
|
+
- **30개의 내장 정책** - 일반적인 에이전트 장애 유형을 즉시 감지합니다. 파괴적인 명령 차단, 비밀 정보 유출 방지, 에이전트를 프로젝트 범위 내로 제한, 루프 감지 등 다양한 기능을 제공합니다.
|
|
29
|
+
- **커스텀 정책** - JavaScript로 직접 안정성 규칙을 작성합니다. `allow`/`deny`/`instruct` API를 사용해 관행을 강제하고, 불필요한 변경을 방지하며, 작업을 제어하거나 외부 시스템과 연동할 수 있습니다.
|
|
30
|
+
- **간편한 설정** - 코드를 작성하지 않고도 모든 정책을 조정할 수 있습니다. 프로젝트별 또는 전역으로 허용 목록, 보호 브랜치, 임계값을 설정하세요. 세 가지 범위의 설정이 자동으로 병합됩니다.
|
|
31
|
+
- **에이전트 모니터** - 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요. 세션을 탐색하고, 모든 도구 호출을 검사하며, 정책이 발동된 정확한 위치를 검토할 수 있습니다.
|
|
32
32
|
|
|
33
|
-
모든
|
|
33
|
+
모든 기능은 로컬에서 실행되며 - 어떤 데이터도 외부로 전송되지 않습니다.
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
37
37
|
## 요구 사항
|
|
38
38
|
|
|
39
39
|
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (선택 사항
|
|
40
|
+
- Bun >= 1.3.0 (선택 사항 - 개발 또는 소스 빌드 시에만 필요)
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
@@ -59,7 +59,7 @@ bun add -g failproofai
|
|
|
59
59
|
failproofai policies --install
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
`~/.claude/settings.json`에 훅 항목을 작성합니다. 이후 Claude Code는 각 도구 호출
|
|
62
|
+
`~/.claude/settings.json`에 훅 항목을 작성합니다. 이후 Claude Code는 각 도구 호출 전후로 failproofai를 실행합니다.
|
|
63
63
|
|
|
64
64
|
### 2. 대시보드 실행
|
|
65
65
|
|
|
@@ -67,9 +67,9 @@ failproofai policies --install
|
|
|
67
67
|
failproofai
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
`http://localhost:8020`을 열어 세션을 탐색하고, 로그를
|
|
70
|
+
`http://localhost:8020`을 열어 세션을 탐색하고, 로그를 확인하며, 정책을 관리합니다.
|
|
71
71
|
|
|
72
|
-
### 3.
|
|
72
|
+
### 3. 활성 정책 확인
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
75
|
failproofai policies
|
|
@@ -81,13 +81,13 @@ failproofai policies
|
|
|
81
81
|
|
|
82
82
|
### 범위(Scope)
|
|
83
83
|
|
|
84
|
-
| 범위 | 명령어 |
|
|
85
|
-
|
|
84
|
+
| 범위 | 명령어 | 기록 위치 |
|
|
85
|
+
|------|--------|-----------|
|
|
86
86
|
| 전역 (기본값) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
87
|
| 프로젝트 | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
88
|
| 로컬 | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
89
|
|
|
90
|
-
### 특정
|
|
90
|
+
### 특정 정책 설치
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
93
|
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
@@ -97,7 +97,7 @@ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
99
|
failproofai policies --uninstall
|
|
100
|
-
# 또는 특정
|
|
100
|
+
# 또는 특정 범위에서 제거:
|
|
101
101
|
failproofai policies --uninstall --scope project
|
|
102
102
|
```
|
|
103
103
|
|
|
@@ -105,7 +105,7 @@ failproofai policies --uninstall --scope project
|
|
|
105
105
|
|
|
106
106
|
## 설정
|
|
107
107
|
|
|
108
|
-
정책 설정은 `~/.failproofai/policies-config.json
|
|
108
|
+
정책 설정은 전역의 경우 `~/.failproofai/policies-config.json`, 프로젝트별의 경우 프로젝트 내 `.failproofai/policies-config.json`에 저장됩니다.
|
|
109
109
|
|
|
110
110
|
```json
|
|
111
111
|
{
|
|
@@ -138,48 +138,48 @@ failproofai policies --uninstall --scope project
|
|
|
138
138
|
}
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
**세 가지 설정 범위**는 자동으로 병합됩니다(프로젝트 → 로컬 → 전역). 전체 병합 규칙은 [docs/configuration.mdx](docs/configuration.mdx)를 참고하세요.
|
|
141
|
+
**세 가지 설정 범위**는 자동으로 병합됩니다 (프로젝트 → 로컬 → 전역). 전체 병합 규칙은 [docs/configuration.mdx](docs/configuration.mdx)를 참고하세요.
|
|
142
142
|
|
|
143
143
|
---
|
|
144
144
|
|
|
145
|
-
##
|
|
145
|
+
## 내장 정책
|
|
146
146
|
|
|
147
|
-
| 정책 | 설명 | 설정 가능
|
|
148
|
-
|
|
149
|
-
| `block-sudo` | 에이전트가 권한 있는 시스템 명령을 실행하지 못하도록
|
|
147
|
+
| 정책 | 설명 | 설정 가능 |
|
|
148
|
+
|------|------|:---------:|
|
|
149
|
+
| `block-sudo` | 에이전트가 권한 있는 시스템 명령을 실행하지 못하도록 방지 | `allowPatterns` |
|
|
150
150
|
| `block-rm-rf` | 실수로 인한 재귀적 파일 삭제 방지 | `allowPaths` |
|
|
151
|
-
| `block-curl-pipe-sh` | 에이전트가 신뢰할 수 없는 스크립트를
|
|
151
|
+
| `block-curl-pipe-sh` | 에이전트가 신뢰할 수 없는 스크립트를 셸로 파이프하지 못하도록 방지 | |
|
|
152
152
|
| `block-failproofai-commands` | 자기 자신의 제거 방지 | |
|
|
153
153
|
| `sanitize-jwt` | JWT 토큰이 에이전트 컨텍스트로 유출되지 않도록 차단 | |
|
|
154
154
|
| `sanitize-api-keys` | API 키가 에이전트 컨텍스트로 유출되지 않도록 차단 | `additionalPatterns` |
|
|
155
155
|
| `sanitize-connection-strings` | 데이터베이스 자격 증명이 에이전트 컨텍스트로 유출되지 않도록 차단 | |
|
|
156
156
|
| `sanitize-private-key-content` | 출력에서 PEM 개인 키 블록 제거 | |
|
|
157
157
|
| `sanitize-bearer-tokens` | 출력에서 Authorization Bearer 토큰 제거 | |
|
|
158
|
-
| `block-env-files` | 에이전트가 .env 파일을 읽지 못하도록
|
|
158
|
+
| `block-env-files` | 에이전트가 .env 파일을 읽지 못하도록 방지 | |
|
|
159
159
|
| `protect-env-vars` | 에이전트가 환경 변수를 출력하지 못하도록 방지 | |
|
|
160
|
-
| `block-read-outside-cwd` | 에이전트를 프로젝트
|
|
160
|
+
| `block-read-outside-cwd` | 에이전트를 프로젝트 범위 내로 제한 | `allowPaths` |
|
|
161
161
|
| `block-secrets-write` | 개인 키 및 인증서 파일에 쓰기 방지 | `additionalPatterns` |
|
|
162
|
-
| `block-push-master` | main/master
|
|
163
|
-
| `block-work-on-main` | 에이전트가 보호된 브랜치에서 작업하지 못하도록
|
|
162
|
+
| `block-push-master` | main/master에 실수로 푸시하는 것을 방지 | `protectedBranches` |
|
|
163
|
+
| `block-work-on-main` | 에이전트가 보호된 브랜치에서 작업하지 못하도록 방지 | `protectedBranches` |
|
|
164
164
|
| `block-force-push` | `git push --force` 방지 | |
|
|
165
|
-
| `warn-git-amend` | 커밋 수정 전
|
|
166
|
-
| `warn-git-stash-drop` | 스태시 삭제 전
|
|
165
|
+
| `warn-git-amend` | 커밋 수정 전 에이전트에게 알림 | |
|
|
166
|
+
| `warn-git-stash-drop` | 스태시 삭제 전 에이전트에게 알림 | |
|
|
167
167
|
| `warn-all-files-staged` | 실수로 인한 `git add -A` 감지 | |
|
|
168
168
|
| `warn-destructive-sql` | 실행 전 DROP/DELETE SQL 감지 | |
|
|
169
169
|
| `warn-schema-alteration` | 실행 전 ALTER TABLE 감지 | |
|
|
170
|
-
| `warn-large-file-write` | 예상치
|
|
170
|
+
| `warn-large-file-write` | 예상치 못하게 큰 파일 쓰기 감지 | `thresholdKb` |
|
|
171
171
|
| `warn-package-publish` | 실수로 인한 `npm publish` 감지 | |
|
|
172
|
-
| `warn-background-process` |
|
|
173
|
-
| `warn-global-package-install` |
|
|
174
|
-
|
|
|
172
|
+
| `warn-background-process` | 의도하지 않은 백그라운드 프로세스 실행 감지 | |
|
|
173
|
+
| `warn-global-package-install` | 의도하지 않은 전역 패키지 설치 감지 | |
|
|
174
|
+
| …및 기타 | | |
|
|
175
175
|
|
|
176
|
-
전체 정책
|
|
176
|
+
전체 정책 세부 사항 및 파라미터 참조: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
177
|
|
|
178
178
|
---
|
|
179
179
|
|
|
180
180
|
## 커스텀 정책
|
|
181
181
|
|
|
182
|
-
에이전트를
|
|
182
|
+
에이전트를 안정적이고 목표에 집중하도록 유지하는 정책을 직접 작성하세요:
|
|
183
183
|
|
|
184
184
|
```js
|
|
185
185
|
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
@@ -197,7 +197,7 @@ customPolicies.add({
|
|
|
197
197
|
});
|
|
198
198
|
```
|
|
199
199
|
|
|
200
|
-
다음
|
|
200
|
+
다음 명령으로 설치합니다:
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
203
|
failproofai policies --install --custom ./my-policies.js
|
|
@@ -205,30 +205,30 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
205
205
|
|
|
206
206
|
### 결정 헬퍼 함수
|
|
207
207
|
|
|
208
|
-
| 함수 |
|
|
209
|
-
|
|
208
|
+
| 함수 | 동작 |
|
|
209
|
+
|------|------|
|
|
210
210
|
| `allow()` | 작업 허용 |
|
|
211
|
-
| `allow(message)` | 허용하고 Claude에 정보성 컨텍스트
|
|
211
|
+
| `allow(message)` | 허용하고 Claude에 정보성 컨텍스트 전송 |
|
|
212
212
|
| `deny(message)` | 작업 차단; 메시지가 Claude에 표시됨 |
|
|
213
213
|
| `instruct(message)` | Claude의 프롬프트에 컨텍스트 추가; 차단하지 않음 |
|
|
214
214
|
|
|
215
215
|
### 컨텍스트 객체 (`ctx`)
|
|
216
216
|
|
|
217
217
|
| 필드 | 타입 | 설명 |
|
|
218
|
-
|
|
218
|
+
|------|------|------|
|
|
219
219
|
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
-
| `toolName` | `string` | 호출되는 도구
|
|
220
|
+
| `toolName` | `string` | 호출되는 도구 (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
221
|
| `toolInput` | `object` | 도구의 입력 파라미터 |
|
|
222
222
|
| `payload` | `object` | 전체 원시 이벤트 페이로드 |
|
|
223
223
|
| `session.cwd` | `string` | Claude Code 세션의 작업 디렉터리 |
|
|
224
224
|
| `session.sessionId` | `string` | 세션 식별자 |
|
|
225
225
|
| `session.transcriptPath` | `string` | 세션 트랜스크립트 파일 경로 |
|
|
226
226
|
|
|
227
|
-
커스텀 훅은 전이적 로컬 임포트, async/await, `process.env` 접근을 지원합니다. 오류 발생 시
|
|
227
|
+
커스텀 훅은 전이적 로컬 임포트, async/await, `process.env` 접근을 지원합니다. 오류 발생 시 fail-open 방식으로 처리됩니다 (`~/.failproofai/hook.log`에 기록되며 내장 정책은 계속 실행됩니다). 전체 가이드는 [docs/custom-hooks.mdx](docs/custom-hooks.mdx)를 참고하세요.
|
|
228
228
|
|
|
229
|
-
###
|
|
229
|
+
### 규약 기반 정책
|
|
230
230
|
|
|
231
|
-
`.failproofai/policies/` 디렉터리에 `*policies.{js,mjs,ts}` 파일을
|
|
231
|
+
`.failproofai/policies/` 디렉터리에 `*policies.{js,mjs,ts}` 파일을 추가하면 별도의 플래그나 설정 변경 없이 자동으로 로드됩니다. 해당 디렉터리를 git에 커밋하면 모든 팀원이 동일한 품질 기준을 자동으로 적용받습니다.
|
|
232
232
|
|
|
233
233
|
```text
|
|
234
234
|
# 프로젝트 수준 — git에 커밋되어 팀과 공유
|
|
@@ -239,13 +239,13 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
239
239
|
~/.failproofai/policies/my-policies.mjs
|
|
240
240
|
```
|
|
241
241
|
|
|
242
|
-
두 수준 모두 로드됩니다(합집합). 각 디렉터리 내에서 파일은 알파벳
|
|
242
|
+
두 수준 모두 로드됩니다(합집합). 각 디렉터리 내에서 파일은 알파벳 순서로 로드됩니다. 순서를 제어하려면 `01-`, `02-` 등의 접두사를 사용하세요. 팀에서 새로운 장애 유형을 발견하면 정책을 추가하고 푸시하기만 하면 됩니다 — 팀원 모두가 다음 풀에서 업데이트를 받게 됩니다. 바로 사용할 수 있는 예제는 [examples/convention-policies/](examples/convention-policies/)를 참고하세요.
|
|
243
243
|
|
|
244
244
|
---
|
|
245
245
|
|
|
246
246
|
## 텔레메트리
|
|
247
247
|
|
|
248
|
-
Failproof AI는 기능 사용 현황을 파악하기 위해 PostHog를 통해
|
|
248
|
+
Failproof AI는 기능 사용 현황을 파악하기 위해 PostHog를 통해 익명의 사용 텔레메트리를 수집합니다. 세션 내용, 파일 이름, 도구 입력, 개인 정보는 절대 전송되지 않습니다.
|
|
249
249
|
|
|
250
250
|
비활성화 방법:
|
|
251
251
|
|
|
@@ -258,14 +258,14 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
|
258
258
|
## 문서
|
|
259
259
|
|
|
260
260
|
| 가이드 | 설명 |
|
|
261
|
-
|
|
261
|
+
|--------|------|
|
|
262
262
|
| [시작하기](docs/getting-started.mdx) | 설치 및 첫 번째 단계 |
|
|
263
|
-
| [
|
|
263
|
+
| [내장 정책](docs/built-in-policies.mdx) | 파라미터가 포함된 30개의 내장 정책 전체 목록 |
|
|
264
264
|
| [커스텀 정책](docs/custom-policies.mdx) | 직접 정책 작성하기 |
|
|
265
265
|
| [설정](docs/configuration.mdx) | 설정 파일 형식 및 범위 병합 |
|
|
266
266
|
| [대시보드](docs/dashboard.mdx) | 세션 모니터링 및 정책 활동 검토 |
|
|
267
|
-
| [아키텍처](docs/architecture.mdx) | 훅
|
|
268
|
-
| [
|
|
267
|
+
| [아키텍처](docs/architecture.mdx) | 훅 시스템 동작 방식 |
|
|
268
|
+
| [테스팅](docs/testing.mdx) | 테스트 실행 및 새 테스트 작성 |
|
|
269
269
|
|
|
270
270
|
### 로컬에서 문서 실행
|
|
271
271
|
|
|
@@ -274,7 +274,7 @@ docker build -f Dockerfile.docs -t failproofai-docs .
|
|
|
274
274
|
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
275
|
```
|
|
276
276
|
|
|
277
|
-
`http://localhost:3000`에서 Mintlify 문서
|
|
277
|
+
`http://localhost:3000`에서 Mintlify 문서 사이트를 엽니다. docs 디렉터리를 마운트하면 컨테이너가 변경 사항을 감시합니다:
|
|
278
278
|
|
|
279
279
|
```bash
|
|
280
280
|
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
@@ -284,9 +284,9 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
|
284
284
|
|
|
285
285
|
## failproofai 기여자를 위한 참고 사항
|
|
286
286
|
|
|
287
|
-
이 저장소의 `.claude/settings.json`은 표준 `npx -y failproofai` 명령 대신 `bun ./bin/failproofai.mjs --hook <EventType>`을 사용합니다. failproofai 프로젝트
|
|
287
|
+
이 저장소의 `.claude/settings.json`은 표준 `npx -y failproofai` 명령 대신 `bun ./bin/failproofai.mjs --hook <EventType>`을 사용합니다. 이는 failproofai 프로젝트 내에서 `npx -y failproofai`를 실행하면 자기 참조 충돌이 발생하기 때문입니다.
|
|
288
288
|
|
|
289
|
-
다른 모든 저장소에서는 `npx -y failproofai
|
|
289
|
+
다른 모든 저장소에서는 권장 방법인 `npx -y failproofai`를 사용하며, 다음 명령으로 설치합니다:
|
|
290
290
|
|
|
291
291
|
```bash
|
|
292
292
|
failproofai policies --install --scope project
|
|
@@ -304,4 +304,4 @@ failproofai policies --install --scope project
|
|
|
304
304
|
|
|
305
305
|
---
|
|
306
306
|
|
|
307
|
-
**ExosphereHost: 에이전트를 위한 신뢰성
|
|
307
|
+
**ExosphereHost: 에이전트를 위한 신뢰성 연구 실험실**이 구축하고 유지 관리합니다. 저희는 자체 에이전트, 소프트웨어, 전문 지식을 통해 기업과 스타트업이 AI 에이전트의 신뢰성을 향상시킬 수 있도록 지원합니다. 자세한 내용은 [exosphere.host](https://exosphere.host)를 방문하세요.
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
|
|
24
24
|
**Traduções**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
|
|
25
25
|
|
|
26
|
-
A
|
|
26
|
+
A maneira mais fácil de gerenciar políticas que mantêm seus agentes de IA confiáveis, focados nas tarefas e operando de forma autônoma — para **Claude Code** e o **Agents SDK**.
|
|
27
27
|
|
|
28
|
-
- **30 Políticas Integradas**
|
|
29
|
-
- **Políticas Personalizadas**
|
|
30
|
-
- **Configuração Simples**
|
|
31
|
-
- **Monitor de Agentes**
|
|
28
|
+
- **30 Políticas Integradas** - Identifique modos de falha comuns de agentes logo de cara. Bloqueie comandos destrutivos, evite vazamento de segredos, mantenha os agentes dentro dos limites do projeto, detecte loops e muito mais.
|
|
29
|
+
- **Políticas Personalizadas** - Escreva suas próprias regras de confiabilidade em JavaScript. Use a API `allow`/`deny`/`instruct` para aplicar convenções, evitar desvios, controlar operações ou integrar com sistemas externos.
|
|
30
|
+
- **Configuração Simples** - Ajuste qualquer política sem escrever código. Defina listas de permissão, branches protegidas e limites por projeto ou globalmente. Três escopos de configuração são mesclados automaticamente.
|
|
31
|
+
- **Monitor de Agentes** - Veja o que seus agentes fizeram enquanto você estava ausente. Navegue pelas sessões, inspecione cada chamada de ferramenta e revise exatamente onde as políticas foram acionadas.
|
|
32
32
|
|
|
33
33
|
Tudo roda localmente — nenhum dado sai da sua máquina.
|
|
34
34
|
|
|
@@ -53,23 +53,23 @@ bun add -g failproofai
|
|
|
53
53
|
|
|
54
54
|
## Início rápido
|
|
55
55
|
|
|
56
|
-
### 1.
|
|
56
|
+
### 1. Habilite as políticas globalmente
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
failproofai policies --install
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
Grava entradas de hook em `~/.claude/settings.json`. A partir de agora, Claude Code invocará o failproofai antes e depois de cada chamada de ferramenta.
|
|
63
63
|
|
|
64
|
-
### 2.
|
|
64
|
+
### 2. Inicie o painel
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
failproofai
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Abre `http://localhost:8020` — navegue
|
|
70
|
+
Abre `http://localhost:8020` — navegue pelas sessões, inspecione logs e gerencie políticas.
|
|
71
71
|
|
|
72
|
-
### 3.
|
|
72
|
+
### 3. Verifique o que está ativo
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
75
|
failproofai policies
|
|
@@ -105,7 +105,7 @@ failproofai policies --uninstall --scope project
|
|
|
105
105
|
|
|
106
106
|
## Configuração
|
|
107
107
|
|
|
108
|
-
A configuração de políticas fica em `~/.failproofai/policies-config.json` (global) ou
|
|
108
|
+
A configuração de políticas fica em `~/.failproofai/policies-config.json` (global) ou `.failproofai/policies-config.json` no seu projeto (por projeto).
|
|
109
109
|
|
|
110
110
|
```json
|
|
111
111
|
{
|
|
@@ -146,31 +146,31 @@ A configuração de políticas fica em `~/.failproofai/policies-config.json` (gl
|
|
|
146
146
|
|
|
147
147
|
| Política | Descrição | Configurável |
|
|
148
148
|
|----------|-----------|:---:|
|
|
149
|
-
| `block-sudo` | Impede agentes
|
|
149
|
+
| `block-sudo` | Impede que agentes executem comandos de sistema privilegiados | `allowPatterns` |
|
|
150
150
|
| `block-rm-rf` | Previne exclusão recursiva acidental de arquivos | `allowPaths` |
|
|
151
|
-
| `block-curl-pipe-sh` | Impede agentes
|
|
151
|
+
| `block-curl-pipe-sh` | Impede que agentes redirecionem scripts não confiáveis para o shell | |
|
|
152
152
|
| `block-failproofai-commands` | Previne a auto-desinstalação | |
|
|
153
|
-
| `sanitize-jwt` |
|
|
154
|
-
| `sanitize-api-keys` |
|
|
155
|
-
| `sanitize-connection-strings` |
|
|
156
|
-
| `sanitize-private-key-content` |
|
|
157
|
-
| `sanitize-bearer-tokens` |
|
|
158
|
-
| `block-env-files` | Impede agentes
|
|
159
|
-
| `protect-env-vars` | Previne agentes
|
|
160
|
-
| `block-read-outside-cwd` | Mantém agentes dentro dos limites do projeto | `allowPaths` |
|
|
153
|
+
| `sanitize-jwt` | Evita que tokens JWT vazem para o contexto do agente | |
|
|
154
|
+
| `sanitize-api-keys` | Evita que chaves de API vazem para o contexto do agente | `additionalPatterns` |
|
|
155
|
+
| `sanitize-connection-strings` | Evita que credenciais de banco de dados vazem para o contexto do agente | |
|
|
156
|
+
| `sanitize-private-key-content` | Remove blocos de chave privada PEM da saída | |
|
|
157
|
+
| `sanitize-bearer-tokens` | Remove tokens Authorization Bearer da saída | |
|
|
158
|
+
| `block-env-files` | Impede que agentes leiam arquivos .env | |
|
|
159
|
+
| `protect-env-vars` | Previne que agentes exibam variáveis de ambiente | |
|
|
160
|
+
| `block-read-outside-cwd` | Mantém os agentes dentro dos limites do projeto | `allowPaths` |
|
|
161
161
|
| `block-secrets-write` | Previne gravações em arquivos de chave privada e certificados | `additionalPatterns` |
|
|
162
162
|
| `block-push-master` | Previne pushes acidentais para main/master | `protectedBranches` |
|
|
163
|
-
| `block-work-on-main` | Mantém agentes fora de branches protegidas | `protectedBranches` |
|
|
163
|
+
| `block-work-on-main` | Mantém os agentes fora de branches protegidas | `protectedBranches` |
|
|
164
164
|
| `block-force-push` | Previne `git push --force` | |
|
|
165
|
-
| `warn-git-amend` | Lembra agentes antes de emendar commits | |
|
|
166
|
-
| `warn-git-stash-drop` | Lembra agentes antes de descartar stashes | |
|
|
165
|
+
| `warn-git-amend` | Lembra os agentes antes de emendar commits | |
|
|
166
|
+
| `warn-git-stash-drop` | Lembra os agentes antes de descartar stashes | |
|
|
167
167
|
| `warn-all-files-staged` | Detecta `git add -A` acidental | |
|
|
168
|
-
| `warn-destructive-sql` | Detecta comandos
|
|
168
|
+
| `warn-destructive-sql` | Detecta comandos DROP/DELETE SQL antes da execução | |
|
|
169
169
|
| `warn-schema-alteration` | Detecta ALTER TABLE antes da execução | |
|
|
170
170
|
| `warn-large-file-write` | Detecta gravações de arquivos inesperadamente grandes | `thresholdKb` |
|
|
171
171
|
| `warn-package-publish` | Detecta `npm publish` acidental | |
|
|
172
|
-
| `warn-background-process` | Detecta
|
|
173
|
-
| `warn-global-package-install` | Detecta instalações
|
|
172
|
+
| `warn-background-process` | Detecta inicializações não intencionais de processos em segundo plano | |
|
|
173
|
+
| `warn-global-package-install` | Detecta instalações não intencionais de pacotes globais | |
|
|
174
174
|
| …e mais | | |
|
|
175
175
|
|
|
176
176
|
Detalhes completos das políticas e referência de parâmetros: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
@@ -179,7 +179,7 @@ Detalhes completos das políticas e referência de parâmetros: [docs/built-in-p
|
|
|
179
179
|
|
|
180
180
|
## Políticas personalizadas
|
|
181
181
|
|
|
182
|
-
Escreva suas próprias políticas para manter agentes confiáveis e focados
|
|
182
|
+
Escreva suas próprias políticas para manter os agentes confiáveis e focados nas tarefas:
|
|
183
183
|
|
|
184
184
|
```js
|
|
185
185
|
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
@@ -203,14 +203,14 @@ Instale com:
|
|
|
203
203
|
failproofai policies --install --custom ./my-policies.js
|
|
204
204
|
```
|
|
205
205
|
|
|
206
|
-
###
|
|
206
|
+
### Auxiliares de decisão
|
|
207
207
|
|
|
208
208
|
| Função | Efeito |
|
|
209
209
|
|--------|--------|
|
|
210
210
|
| `allow()` | Permite a operação |
|
|
211
|
-
| `allow(message)` | Permite e envia contexto informativo para
|
|
212
|
-
| `deny(message)` | Bloqueia a operação;
|
|
213
|
-
| `instruct(message)` | Adiciona contexto ao prompt
|
|
211
|
+
| `allow(message)` | Permite e envia contexto informativo para Claude |
|
|
212
|
+
| `deny(message)` | Bloqueia a operação; mensagem exibida para Claude |
|
|
213
|
+
| `instruct(message)` | Adiciona contexto ao prompt de Claude; não bloqueia |
|
|
214
214
|
|
|
215
215
|
### Objeto de contexto (`ctx`)
|
|
216
216
|
|
|
@@ -219,35 +219,35 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
219
219
|
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
220
|
| `toolName` | `string` | Ferramenta sendo chamada (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
221
|
| `toolInput` | `object` | Parâmetros de entrada da ferramenta |
|
|
222
|
-
| `payload` | `object` | Payload
|
|
222
|
+
| `payload` | `object` | Payload completo do evento bruto |
|
|
223
223
|
| `session.cwd` | `string` | Diretório de trabalho da sessão do Claude Code |
|
|
224
224
|
| `session.sessionId` | `string` | Identificador da sessão |
|
|
225
225
|
| `session.transcriptPath` | `string` | Caminho para o arquivo de transcrição da sessão |
|
|
226
226
|
|
|
227
|
-
Hooks personalizados suportam importações locais transitivas, async/await e acesso a `process.env`. Erros são fail-open (registrados em `~/.failproofai/hook.log`; políticas integradas continuam funcionando). Consulte [docs/custom-hooks.mdx](docs/custom-hooks.mdx) para o guia completo.
|
|
227
|
+
Hooks personalizados suportam importações locais transitivas, async/await e acesso a `process.env`. Erros são fail-open (registrados em `~/.failproofai/hook.log`; as políticas integradas continuam funcionando). Consulte [docs/custom-hooks.mdx](docs/custom-hooks.mdx) para o guia completo.
|
|
228
228
|
|
|
229
229
|
### Políticas baseadas em convenção
|
|
230
230
|
|
|
231
|
-
Coloque arquivos `*policies.{js,mjs,ts}` em `.failproofai/policies/` e eles serão carregados automaticamente — sem
|
|
231
|
+
Coloque arquivos `*policies.{js,mjs,ts}` em `.failproofai/policies/` e eles serão carregados automaticamente — sem flags ou alterações de configuração. Faça commit do diretório no git e todos os membros da equipe recebem automaticamente os mesmos padrões de qualidade.
|
|
232
232
|
|
|
233
233
|
```text
|
|
234
234
|
# Nível de projeto — commitado no git, compartilhado com a equipe
|
|
235
235
|
.failproofai/policies/security-policies.mjs
|
|
236
236
|
.failproofai/policies/workflow-policies.mjs
|
|
237
237
|
|
|
238
|
-
# Nível
|
|
238
|
+
# Nível do usuário — pessoal, aplica-se a todos os projetos
|
|
239
239
|
~/.failproofai/policies/my-policies.mjs
|
|
240
240
|
```
|
|
241
241
|
|
|
242
|
-
Ambos os níveis são carregados (união). Os arquivos são carregados em ordem alfabética dentro de cada diretório. Use
|
|
242
|
+
Ambos os níveis são carregados (união). Os arquivos são carregados em ordem alfabética dentro de cada diretório. Use o prefixo `01-`, `02-`, etc. para controlar a ordem. À medida que sua equipe descobre novos modos de falha, adicione uma política e faça push — todos receberão a atualização no próximo pull. Veja [examples/convention-policies/](examples/convention-policies/) para exemplos prontos para uso.
|
|
243
243
|
|
|
244
244
|
---
|
|
245
245
|
|
|
246
246
|
## Telemetria
|
|
247
247
|
|
|
248
|
-
|
|
248
|
+
Failproof AI coleta telemetria de uso anônima via PostHog para entender o uso de recursos. Nenhum conteúdo de sessão, nome de arquivo, entrada de ferramenta ou informação pessoal é enviado.
|
|
249
249
|
|
|
250
|
-
Para
|
|
250
|
+
Para desativar:
|
|
251
251
|
|
|
252
252
|
```bash
|
|
253
253
|
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
@@ -265,16 +265,16 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
|
265
265
|
| [Configuração](docs/configuration.mdx) | Formato do arquivo de configuração e mesclagem de escopos |
|
|
266
266
|
| [Painel](docs/dashboard.mdx) | Monitore sessões e revise a atividade das políticas |
|
|
267
267
|
| [Arquitetura](docs/architecture.mdx) | Como o sistema de hooks funciona |
|
|
268
|
-
| [Testes](docs/testing.mdx) |
|
|
268
|
+
| [Testes](docs/testing.mdx) | Executando testes e escrevendo novos |
|
|
269
269
|
|
|
270
|
-
###
|
|
270
|
+
### Execute a documentação localmente
|
|
271
271
|
|
|
272
272
|
```bash
|
|
273
273
|
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
274
|
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
275
|
```
|
|
276
276
|
|
|
277
|
-
Abre o site de documentação Mintlify em `http://localhost:3000`. O container
|
|
277
|
+
Abre o site de documentação Mintlify em `http://localhost:3000`. O container detecta alterações se você montar o diretório de docs:
|
|
278
278
|
|
|
279
279
|
```bash
|
|
280
280
|
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
@@ -292,7 +292,7 @@ Para todos os outros repositórios, a abordagem recomendada é `npx -y failproof
|
|
|
292
292
|
failproofai policies --install --scope project
|
|
293
293
|
```
|
|
294
294
|
|
|
295
|
-
##
|
|
295
|
+
## Contribuindo
|
|
296
296
|
|
|
297
297
|
Consulte [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
298
|
|
|
@@ -304,4 +304,4 @@ Consulte [LICENSE](LICENSE).
|
|
|
304
304
|
|
|
305
305
|
---
|
|
306
306
|
|
|
307
|
-
Desenvolvido e mantido pela **ExosphereHost: Reliability Research Lab for Your Agents**. Ajudamos empresas e startups a melhorar a confiabilidade de seus agentes de IA por meio de nossos próprios agentes,
|
|
307
|
+
Desenvolvido e mantido pela **ExosphereHost: Reliability Research Lab for Your Agents**. Ajudamos empresas e startups a melhorar a confiabilidade de seus agentes de IA por meio de nossos próprios agentes, softwares e expertise. Saiba mais em [exosphere.host](https://exosphere.host).
|