← Back to Plugins
Tools

Hermitcrab

Frank-svg-dev By Frank-svg-dev 👁 12 views ▲ 0 votes

openclaw plugin for safe LLM

GitHub

Install

npm install
```

Configuration Example

// OpenClaw ๆ’ไปถ้…็ฝฎ
import { onBeforeToolCall, clawbandsRespond } from 'llm-clawbands';

api.on('before_tool_call', onBeforeToolCall);
api.registerTool('clawbands_respond', clawbandsRespond);

README

# ๐Ÿฆž LLM-ClawBands

> ๆ™บ่ƒฝ็‰ˆ ClawBands - ่žๅˆ LLM ้ฃŽ้™ฉ่ฏ„ไผฐ + ไปค็‰Œ่ฎค่ฏ + ็”จๆˆท็”ปๅƒ่‡ชๅญฆไน ็š„ OpenClaw ๅฎ‰ๅ…จ็ณป็ปŸ

---

## ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

### 1. ๅฎ‰่ฃ…ไพ่ต–

```bash
cd llm-clawbands
npm install
```

### 2. ๆž„ๅปบ

```bash
npm run build
```

### 3. ๅˆๅง‹ๅŒ–

```bash
npm run init
```

ๅˆๅง‹ๅŒ–ๅ‘ๅฏผไผš้—ฎไฝ ๏ผš
- **ๅฎ‰ๅ…จไปค็‰Œ**: ็”จไบŽๅฎกๆ‰น้ชŒ่ฏ (้ป˜่ฎค๏ผš`Mengran123`)
- **ไปค็‰Œ ID**: ็”จๆˆทๆ ‡่ฏ† (้ป˜่ฎค๏ผš`frank`)
- **่‡ชๅญฆไน **: ๆ˜ฏๅฆๅฏ็”จ (้ป˜่ฎค๏ผš`ๆ˜ฏ`)

### 4. ๅฏ็”จๆ’ไปถ

ๅœจ OpenClaw ้…็ฝฎไธญๆณจๅ†Œๆ’ไปถ้’ฉๅญ๏ผš

```javascript
// OpenClaw ๆ’ไปถ้…็ฝฎ
import { onBeforeToolCall, clawbandsRespond } from 'llm-clawbands';

api.on('before_tool_call', onBeforeToolCall);
api.registerTool('clawbands_respond', clawbandsRespond);
```

### 5. ้‡ๅฏ OpenClaw

```bash
openclaw restart
```

---

## ๐Ÿ“– ไฝฟ็”จ็คบไพ‹

### ๅœบๆ™ฏ 1: ไฝŽ้ฃŽ้™ฉๆ“ไฝœ (่‡ชๅŠจๅ…่ฎธ)

```
Agent: bash('ls -la /tmp')
โ†’ LLM ่ฏ„ไผฐ๏ผšLOW ้ฃŽ้™ฉ
โ†’ โœ… ่‡ชๅŠจๆ‰ง่กŒ๏ผŒๆ— ้œ€ๅฎกๆ‰น
```

### ๅœบๆ™ฏ 2: ้ซ˜้ฃŽ้™ฉๆ“ไฝœ (้œ€่ฆๅฎกๆ‰น)

```
Agent: bash('rm -rf /tmp/cache')
โ†’ LLM ่ฏ„ไผฐ๏ผšHIGH ้ฃŽ้™ฉ
โ†’ ๐Ÿฆž ๅ‘้€ๅฎกๆ‰น่ฏทๆฑ‚:

๐Ÿฆž LLM-ClawBands ๅฎ‰ๅ…จๅฎกๆ‰น

ๆ“ไฝœ๏ผšbash('rm -rf /tmp/cache')
้ฃŽ้™ฉ็ญ‰็บง๏ผš๐Ÿ”ด HIGH

้ฃŽ้™ฉๅˆ†ๆžๆŠฅๅ‘Š:
rm ๅ‘ฝไปคไผšๅˆ ้™คๆ–‡ไปถ๏ผŒไธ”ไธๅฏๆขๅคใ€‚
็‰นๅˆซๆ˜ฏไฝฟ็”จ -rf ๅ‚ๆ•ฐๆ—ถ้ฃŽ้™ฉๆž้ซ˜ใ€‚

่ฏท่พ“ๅ…ฅไปค็‰Œ + ๅ†ณ็ญ–๏ผš
ๆ ผๅผ๏ผš[ไปค็‰Œ] [YES/NO]
็คบไพ‹๏ผšMengran123 YES

โ†’ ็”จๆˆทๅ›žๅค๏ผšMengran123 YES
โ†’ โœ… ไปค็‰Œ้ชŒ่ฏ้€š่ฟ‡๏ผŒๆ‰ง่กŒๅ‘ฝไปค
โ†’ ๐Ÿง  ่ฎฐๅฝ•ๅˆฐ็”ปๅƒ๏ผŒไธ‹ๆฌก็›ธไผผๆ“ไฝœ่‡ชๅŠจๅ…่ฎธ
```

### ๅœบๆ™ฏ 3: ไปค็‰Œ้”™่ฏฏ

```
โ†’ ็”จๆˆทๅ›žๅค๏ผšWrongToken YES
โ†’ โŒ ไปค็‰Œ้ชŒ่ฏๅคฑ่ดฅ๏ผŒๆ‹’็ปๆ‰ง่กŒ
โ†’ ๐Ÿšจ ่ฎฐๅฝ•ๅฎ‰ๅ…จไบ‹ไปถ
```

### ๅœบๆ™ฏ 4: ็”ปๅƒๅŒน้… (่‡ชๅŠจๅ…่ฎธ)

```
Agent: bash('rm -rf /tmp/cache')  # ็ฌฌไบŒๆฌกๆ‰ง่กŒ
โ†’ ็”ปๅƒๅŒน้…ๆˆๅŠŸ๏ผŒไฟกไปปๅˆ†ๆ•ฐ๏ผš0.85
โ†’ โœ… ่‡ชๅŠจๆ‰ง่กŒ๏ผŒๆ— ้œ€ๅฎกๆ‰น
```

---

## ๐Ÿ› ๏ธ CLI ๅ‘ฝไปค

```bash
# ๅˆๅง‹ๅŒ–
llm-clawbands init

# ไปค็‰Œ็ฎก็†
llm-clawbands token add frank           # ๆทปๅŠ ไปค็‰Œ
llm-clawbands token add frank MyPass123 # ๆŒ‡ๅฎšไปค็‰Œ
llm-clawbands token list                # ๅˆ—ๅ‡บไปค็‰Œ
llm-clawbands token remove frank        # ๅˆ ้™คไปค็‰Œ

# ๅฎก่ฎกๆ—ฅๅฟ—
llm-clawbands audit                     # ๆŸฅ็œ‹ๆœ€่ฟ‘ 20 ๆก
llm-clawbands audit -l 50               # ๆŸฅ็œ‹ๆœ€่ฟ‘ 50 ๆก
llm-clawbands audit --decision DENY     # ๆŸฅ็œ‹ๆ‹’็ป็š„่ฎฐๅฝ•
llm-clawbands audit --module Shell      # ๆŸฅ็œ‹ Shell ๆจกๅ—

# ็ปŸ่ฎกไฟกๆฏ
llm-clawbands stats

# ็”จๆˆท็”ปๅƒ
llm-clawbands profile
```

---

## ๐Ÿ—๏ธ ๆžถๆž„

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      Agent ่ฐƒ็”จๅทฅๅ…ท                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  1๏ธโƒฃ ๆ‹ฆๆˆชๅ™จ โ†’ ็”ŸๆˆๆŒ‡็บน sha256:bash:rm-rf:/tmp/*              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  2๏ธโƒฃ ็”ปๅƒๅŒน้… โ†’ ้ซ˜ไฟกไปปๅˆ†ๆ•ฐ๏ผŸ โ†’ ๆ˜ฏ โ†’ ALLOW โœ…                 โ”‚
โ”‚                        โ†’ ๅฆ โ†’ ็ปง็ปญ                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  3๏ธโƒฃ LLM ้ฃŽ้™ฉ่ฏ„ไผฐ โ†’ LOW โ†’ ALLOW โœ…                           โ”‚
โ”‚                     โ†’ HIGH โ†’ ้œ€่ฆๅฎกๆ‰น                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  4๏ธโƒฃ ไบบ็ฑปๅฎกๆ‰น + ไปค็‰Œ้ชŒ่ฏ                                      โ”‚
โ”‚     โ†’ ไปค็‰Œ้”™่ฏฏ โ†’ DENY โŒ                                    โ”‚
โ”‚     โ†’ ไปค็‰Œๆญฃ็กฎ + YES โ†’ APPROVED โœ… โ†’ ๅญฆไน                    โ”‚
โ”‚     โ†’ ไปค็‰Œๆญฃ็กฎ + NO โ†’ DENY โŒ โ†’ ๅญฆไน                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

---

## ๐Ÿ“ ้กน็›ฎ็ป“ๆž„

```
llm-clawbands/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ Interceptor.ts        # ๆ ธๅฟƒๆ‹ฆๆˆชๅ™จ
โ”‚   โ”‚   โ”œโ”€โ”€ RiskEngine.ts         # LLM ้ฃŽ้™ฉ่ฏ„ไผฐ
โ”‚   โ”‚   โ”œโ”€โ”€ TokenValidator.ts     # ไปค็‰Œ้ชŒ่ฏ
โ”‚   โ”‚   โ””โ”€โ”€ ProfileMatcher.ts     # ็”ปๅƒๅŒน้…
โ”‚   โ”œโ”€โ”€ memory/
โ”‚   โ”‚   โ”œโ”€โ”€ AuditLog.ts           # ๅฎก่ฎกๆ—ฅๅฟ—
โ”‚   โ”‚   โ””โ”€โ”€ MemoryStore.ts        # Memory ๅญ˜ๅ‚จ
โ”‚   โ”œโ”€โ”€ plugin/
โ”‚   โ”‚   โ””โ”€โ”€ index.ts              # OpenClaw ๆ’ไปถๅ…ฅๅฃ
โ”‚   โ””โ”€โ”€ cli/
โ”‚       โ””โ”€โ”€ index.ts              # CLI ๅทฅๅ…ท
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ””โ”€โ”€ README.md
```

---

## ๐Ÿ” ๅฎ‰ๅ…จ็‰นๆ€ง

- โœ… **ไปค็‰ŒๅŠ ๅฏ†ๅญ˜ๅ‚จ**: HMAC-SHA256 ๅ“ˆๅธŒ (็”Ÿไบง็Žฏๅขƒ่ฏทๆข Argon2)
- โœ… **ๅฎก่ฎกๆ—ฅๅฟ—ไธๅฏ็ฏกๆ”น**: JSON Lines ๅช่ฟฝๅŠ ๆ ผๅผ
- โœ… **็”ปๅƒไฟกไปป่กฐๅ‡**: 30 ๅคฉๆœช็”จ่‡ชๅŠจ้™ไฝŽไฟกไปปๅˆ†ๆ•ฐ
- โœ… **้™็บง็ญ–็•ฅ**: LLM ๅคฑ่ดฅๆ—ถ้ป˜่ฎค ASK ไบบ็ฑป

---

## ๐Ÿงช ๆต‹่ฏ•

```bash
# ๆต‹่ฏ•ไปค็‰Œ้ชŒ่ฏ
llm-clawbands token add testuser TestPass123
llm-clawbands token list

# ๆต‹่ฏ•ๅฎก่ฎกๆ—ฅๅฟ—
llm-clawbands audit

# ๆŸฅ็œ‹็ปŸ่ฎก
llm-clawbands stats
```

---

## ๐Ÿ“ ๅพ…ๅŠžไบ‹้กน

- [ ] ้›†ๆˆ็œŸๅฎž LLM API (็›ฎๅ‰ไฝฟ็”จๆจกๆ‹Ÿๅ“ๅบ”)
- [ ] ๆทปๅŠ  Web ็ฎก็†็•Œ้ข
- [ ] ๆ”ฏๆŒๅคš็”จๆˆท
- [ ] ๆทปๅŠ  Argon2 ๅ“ˆๅธŒ (ๆ›ฟๆขๆจกๆ‹Ÿๅฎž็Žฐ)
- [ ] ๆทปๅŠ ้…็ฝฎๆ–‡ไปถๆ”ฏๆŒ
- [ ] ๆทปๅŠ ่ฟœ็จ‹ๅŒๆญฅๅŠŸ่ƒฝ

---

## ๐ŸŽญ ๅทดๅฐ”ๅฆ็š„ๅค‡ๆณจ

> MVP ็‰ˆๆœฌๅทฒๅฎŒๆˆๆ ธๅฟƒๆต็จ‹ 1-6 ๆญฅ๏ผš
> 1. โœ… ๆ‹ฆๆˆชๅ™จๆ•่Žท + ๆŒ‡็บน็”Ÿๆˆ
> 2. โœ… ็”ปๅƒๅŒน้…
> 3. โœ… LLM ้ฃŽ้™ฉ่ฏ„ไผฐ
> 4. โœ… ๅ‘้€ๅฎกๆ‰น่ฏทๆฑ‚
> 5. โœ… ็”จๆˆทๅ›žๅคๅค„็†
> 6. โœ… ไปค็‰Œ้ชŒ่ฏ + ๆ‰ง่กŒ
>
> ไธ‹ไธ€ๆญฅๅฏไปฅๆต‹่ฏ•่ฟ่กŒ๏ผŒๆˆ–่€…็ปง็ปญๅฎž็Žฐ็ฌฌ 7 ๆญฅ (่‡ชๅญฆไน )๏ผ๐Ÿ‘ฝ

---

**License:** MIT  
**Built with ๐Ÿ‘ฝ for a safer AI future**
tools

Comments

Sign in to leave a comment

Loading comments...