Provides a cross-session AI memory and cognition system with four-layer memory, real-time sync, free thinking, intelligent prediction, and knowledge visualiz...
# ๐ง Cognitive Brain
> **่ทจไผ่ฏ่ฎฐๅฟไธ่ฎค็ฅ็ณป็ป v5.0** | Cross-Session Memory & Cognition System
>
> ่ฎฉ AI ๆฅๆๅไบบ็ฑปไธๆ ท็่ฎฐๅฟใๆ่ๅ้ขๆต่ฝๅ
**Version: 7.0.1** | **License: MIT**
---
## โจ ๅ่ฝ็นๆง | Features
| ๅ่ฝ | Feature | ๆ่ฟฐ |
|------|---------|------|
| ๐ ๅฎๆถๅ
ฑไบซ | Real-time Sharing | ่ทจไผ่ฏๆฏซ็ง็บง่ฎฐๅฟๅๆญฅ |
| ๐ง ๅๅฑ่ฎฐๅฟ | Four-Layer Memory | ๆๅฎ/ๅทฅไฝ/ๆ
ๆฏ/่ฏญไน่ฎฐๅฟๆถๆ |
| ๐ญ ่ช็ฑๆ่ | Free Thinking | ้ไปปๅก้ฉฑๅจ็ๆ่ฏๆตๆ่ |
| ๐ฎ ๆบ่ฝ้ขๆต | Prediction | ้ขๆต็จๆท้ๆฑ๏ผ้ขๅ ่ฝฝ่ฎฐๅฟ |
| ๐ ๅฏ่งๅ | Visualization | ็ฅ่ฏๅพ่ฐฑใๆถ้ด็บฟใๆ่ฆ |
| ๐ ่ๆณ็ฝ็ป | Association Network | ๆฆๅฟตๅ
ณ่๏ผๆฟๆดปๆฉๆฃ็ฎๆณ |
| ๐๏ธ ๅๅฑๆถๆ | Layered Architecture | Domain/Repository/Service ๅๅฑ่ฎพ่ฎก |
| ๐ ไบๅกๅฎๅ
จ | Transaction Safety | UnitOfWork ็กฎไฟๆฐๆฎไธ่ดๆง |
| ๐ ๅฎๆดๆๆกฃ | Documentation | API ๆๆกฃ + ๆถๆๆๆกฃ |
| โ
ๆต่ฏ่ฆ็ | Test Coverage | ่ชๅจๅๆต่ฏๅฅไปถ |
---
## ๐ ๅฟซ้ๅผๅง | Quick Start
### ไธ้ฎๅฎ่ฃ
| Quick Install
```bash
# ๆนๅผ1: ClawHub ๅฎ่ฃ
๏ผๆจ่๏ผ
clawhub install cognitive-brain
cd ~/.openclaw/workspace/skills/cognitive-brain
npm run setup:auto # ้ไบคไบๆจกๅผ๏ผ่ชๅจๅฎ่ฃ
ๆๆไพ่ต
# ๆนๅผ2: ๆๅจๅฎ่ฃ
cd ~/.openclaw/workspace/skills/cognitive-brain
npm install
npm run setup # ไบคไบๅผ้
็ฝฎ
```
### ๅฎ่ฃ
ๆจกๅผ | Install Modes
| ๅฝไปค | ่ฏดๆ |
|------|------|
| `npm run check` | ๆฃๆฅ็ณป็ปไพ่ต๏ผPostgreSQL, Redis, pgvector๏ผ |
| `npm run setup` | ไบคไบๅผๅฎ่ฃ
๏ผไผๆ็คบ่พๅ
ฅๆฐๆฎๅบ้
็ฝฎ |
| `npm run setup:auto` | ่ชๅจๅฎ่ฃ
๏ผไฝฟ็จ้ป่ฎค้
็ฝฎ๏ผ่ชๅจๅฎ่ฃ
็ผบๅคฑไพ่ต |
| `npm run setup:resume` | ไปๆญ็นๆขๅคๅฎ่ฃ
๏ผๅฎ่ฃ
ๅคฑ่ดฅๅไฝฟ็จ๏ผ |
| `npm run health` | ๅฅๅบทๆฃๆฅ |
| `npm run reset` | ้็ฝฎๆฐๆฎๅบ๏ผๆธ
็ฉบ่ฎฐๅฟ๏ผไฟ็่กจ็ปๆ๏ผ |
| `npm run uninstall` | ๅธ่ฝฝ๏ผๆธ
็ๆฐๆฎๅบใhooksใ้
็ฝฎๆไปถ๏ผ |
### ๅฎ่ฃ
็นๆง | Install Features
| ็นๆง | ่ฏดๆ |
|------|------|
| ๐ ๆญ็นๆขๅค | ๅฎ่ฃ
ๅคฑ่ดฅๅ่ฟ่ก `npm run setup:resume` ็ปง็ปญ |
| ๐ ๅฎ่ฃ
ๆฅๅฟ | ่ฎฐๅฝๅฐ `install.log`๏ผไพฟไบๆๆฅ้ฎ้ข |
| ๐ ๅทฒๅฎ่ฃ
ๆฃๆต | ่ชๅจๆฃๆตๆฏๅฆๅทฒๅฎ่ฃ
๏ผ้ฟๅ
้ๅค |
| โก ไธ้ฎๅฎ่ฃ
| `installCommand` ่ชๅจๆง่กๅฎๆดๅฎ่ฃ
ๆต็จ |
### ็ณป็ป่ฆๆฑ | Requirements
| ไพ่ต | ็ๆฌ | ๅฎ่ฃ
ๅฝไปค (Ubuntu) |
|------|------|-------------------|
| Node.js | >= 18 | `apt install nodejs npm` |
| PostgreSQL | >= 14 | `apt install postgresql` |
| Redis | >= 6 | `apt install redis-server` |
| pgvector | - | `apt install postgresql-16-pgvector` |
> ๐ก `npm run setup:auto` ไผ่ชๅจๅฎ่ฃ
่ฟไบไพ่ต๏ผ้่ฆ root ๆ้๏ผ
### ๅบ็กไฝฟ็จ | Basic Usage
```javascript
const { CognitiveBrain } = require('./src/index.js');
const brain = new CognitiveBrain();
// ๅญๅจ่ฎฐๅฟ
const memory = await brain.encode('็จๆท็้กน็ฎๅซ Alpha', {
type: 'conversation',
importance: 0.8
});
// ๆฃ็ดข่ฎฐๅฟ
const memories = await brain.recall('้กน็ฎ');
// ่ทๅ็ป่ฎก
const stats = await brain.stats();
```
### CLI ๅทฅๅ
ท
```bash
# ็ผ็ ่ฎฐๅฟ
node scripts/core/encode.cjs "ๅ
ๅฎน" -t conversation -i 0.8
# ๆฃ็ดข่ฎฐๅฟ
node scripts/core/recall.cjs --query "ๅ
ณ้ฎ่ฏ" --limit 5
# ๅฅๅบทๆฃๆฅ
node scripts/tools/health_check.cjs
# ่ฟ่กๆต่ฏ
./tests/run.sh
```
---
## ๐๏ธ ๆถๆๆฆ่ง | Architecture
### v5.0 ๅๅฑๆถๆ
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ API / CLI ๅฑ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ REST API โ โ CLI โ โ Hook โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Service ๅฑ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Memory โ โ Concept โ โ Associationโ โ
โ โ Service โ โ Service โ โ Service โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Repository ๅฑ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Memory โ โ Concept โ โ Associationโ โ
โ โ Repository โ โ Repository โ โ Repository โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ UnitOfWork (ไบๅก) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Domain ๅฑ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Memory โ โ Concept โ โ Associationโ โ
โ โ Entity โ โ Entity โ โ Entity โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆไน
ๅฑ | Persistence โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ PostgreSQLโ โ Redis โ โ Files โ โ
โ โ (ไธปๅญๅจ) โ โ (็ผๅญ) โ โ (้
็ฝฎ/ๆฅๅฟ)โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
### ่ฎพ่ฎกๅๅ
1. **ๅไธ่่ดฃ**: ๆฏไธชๆจกๅๅชๅไธไปถไบ
2. **ไพ่ตๆณจๅ
ฅ**: ้่ฟๅๆฐไผ ๅ
ฅไพ่ต๏ผไธ็ดๆฅๅๅปบ
3. **ๆฅๅฃ้็ฆป**: ๆธ
ๆฐ็ๆจกๅ่พน็
4. **ไบๅกๅฎๅ
จ**: ๅค่กจๆไฝๅๅญๆงไฟ่ฏ
---
## ๐ง ๅๅฑ่ฎฐๅฟๆจกๅ | Four-Layer Memory
| ๅฑ็บง | Layer | Duration | Purpose | Description |
|------|-------|---------|---------|-------------|
| ๆๅฎ่ฎฐๅฟ | Sensory | Milliseconds | Buffer | Transient sensory buffer for immediate perception |
| ๅทฅไฝ่ฎฐๅฟ | Working | Minutes~Hours | Active Processing | Active processing workspace for current tasks |
| ๆ
ๆฏ่ฎฐๅฟ | Episodic | Long-term | Experiences | Personal experiences and events with context |
| ่ฏญไน่ฎฐๅฟ | Semantic | Long-term | Knowledge | Facts, concepts, and structured knowledge |
---
## ๐ ๆ ธๅฟ API
### CognitiveBrain
ไธปๅ
ฅๅฃ็ฑป๏ผๆไพ็ปไธ็ๆไฝๆฅๅฃใ
```javascript
const { CognitiveBrain } = require('./src/index.js');
const brain = new CognitiveBrain();
// ็ผ็ ่ฎฐๅฟ
const memory = await brain.encode(content, {
type: 'conversation',
importance: 0.8,
sourceChannel: 'qq'
});
// ๆฃ็ดข่ฎฐๅฟ
const memories = await brain.recall('ๅ
ณ้ฎ่ฏ', { limit: 10 });
// ไบๅกๆไฝ
await brain.transaction(async (uow) => {
// ๅค่กจๅๅญๆไฝ
});
// ่ทๅ็ป่ฎก
const stats = await brain.stats();
```
### ๅฎไฝๆจกๅ
#### Memory (่ฎฐๅฟ)
```javascript
{
id: 'uuid',
content: '่ฎฐๅฟๅ
ๅฎน',
type: 'episodic',
importance: 0.5,
sourceChannel: 'qq',
role: 'user',
entities: ['ๅ
ณ้ฎ่ฏ'],
emotions: { valence: 0, arousal: 0 },
createdAt: Date,
updatedAt: Date
}
```
#### Concept (ๆฆๅฟต)
```javascript
{
id: 'uuid',
name: 'ๆฆๅฟตๅ็งฐ',
type: 'general',
importance: 0.5,
activation: 0.0,
accessCount: 0
}
```
#### Association (ๅ
ณ่)
```javascript
{
id: 'uuid',
fromId: 'ๆฆๅฟตA-ID',
toId: 'ๆฆๅฟตB-ID',
type: 'related',
weight: 0.5
}
```
---
## ๐ ไบๅก็ฎก็
ไฝฟ็จ UnitOfWork ๆจกๅผ็กฎไฟๆฐๆฎไธ่ดๆง๏ผ
```javascript
const { UnitOfWork } = require('./src/repositories/UnitOfWork.js');
const { MemoryRepository } = require('./src/repositories/MemoryRepository.js');
// ่ชๅจไบๅก
await UnitOfWork.withTransaction(pool, async (uow) => {
const memRepo = new MemoryRepository(uow.getQueryClient());
const conceptRepo = new ConceptRepository(uow.getQueryClient());
await memRepo.create(memory);
await conceptRepo.create(concept);
// ่ชๅจ commit ๆ rollback
});
```
---
## ๐งช ๆต่ฏ
```bash
# ่ฟ่กๆๆๆต่ฏ
./tests/run.sh
# ่ฟ่ก็นๅฎๆต่ฏ
node tests/v5.test.cjs
node tests/db.test.cjs
node tests/memory.test.cjs
# ๅฅๅบทๆฃๆฅ
node scripts/tools/health_check.cjs
```
---
## ๐ ๆๆกฃ
- [API ๆๆกฃ](./docs/README.md) - ๅฎๆด API ๅ่
- [ๆถๆๆๆกฃ](./docs/ARCHITECTURE.md) - ๆถๆ่ฎพ่ฎก่ฏดๆ
---
## ๐ ๅ
ฑไบซๅทฅไฝๅบ | Shared Workspace
### ๆ ธๅฟ่กจ | Core Tables
| ่กจๅ | ็จ้ | ่ฏดๆ |
|------|------|------|
| `episodes` | ๆ
ๆฏ่ฎฐๅฟ | ๅญๅจๅฏน่ฏๅไบไปถ |
| `concepts` | ๆฆๅฟต่็น | ๆๅ็ๅฎไฝๅๅ
ณ้ฎ่ฏ |
| `associations` | ๆฆๅฟตๅ
ณ่ | ๆฆๅฟต้ด็ๅ
ณ็ณป |
| `system_memory` | ็ณป็ป้
็ฝฎ | ๅ
จๅฑ่ฎพ็ฝฎๅ็ถๆ |
### Hook ้ๆ
่ชๅจ้ๆๅฐ OpenClaw ๆถๆฏๆต็จ๏ผ
```
็จๆทๆถๆฏ โ Hook(cognitive-recall) โ ๆฃ็ดข่ฎฐๅฟ โ ๆณจๅ
ฅไธไธๆ โ AIๅๅค โ ็ผ็ ่ฎฐๅฟ
```
---
## ๐ง ้
็ฝฎ
```json
{
"version": "5.3.25",
"storage": {
"primary": {
"type": "postgresql",
"host": "localhost",
"port": 5432,
"database": "cognitive_brain"
},
"cache": {
"type": "redis",
"host": "localhost",
"port": 6379
}
}
}
```
---
## ๐ ็ๆฌๅๅฒ
### v7.0.1 (2026-03-21)
- ๐ง **่ฎฐๅฟ็ณป็ป้ๆ** - ไฟฎๅค Hook ่งฆๅ้ฎ้ข๏ผๆน็จ Cron ๆนๆก
- โจ **่ฎฐๅฟ่ฏปๅ** - `agent:bootstrap` Hook ๅณๆถๆณจๅ
ฅ่ฎฐๅฟ
- โจ **่ฎฐๅฟๅๅ
ฅ** - Cron ๆฏ 1 ๅ้ๆซๆไผ่ฏๆไปถ
- ๐๏ธ **ๆธ
็ๆ ็จ่ๆฌ** - ๅ ้ค 20+ ไธๅธธ็จ่ๆฌ
- ๐ **ๆๆกฃๆดๆฐ** - ็ฎๅๆถๆ่ฏดๆ
### v5.3.32 (2026-03-21)
- ๐ **ไฟฎๅค็ฑปๅ้ช่ฏ** - `type: 'conversation'` ๆนไธบๆๆ็ฑปๅ `'episodic'`
- ๐ **ไฟฎๅค Embedding ่ทฏๅพ** - embed.py ่ทฏๅพ้่ฏฏๅฏผ่ด embedding ็ๆๅคฑ่ดฅ
### v5.3.22 (2026-03-20)
- ๅๅธ็ๆฌๆดๆฐ
### v5.3.11 (2026-03-18)
- ๐งช **ๆต่ฏ่ฆ็็ๆๅ** - ๆฐๅข Repository/Service/API ๆต่ฏ (7ไธชๆต่ฏๆไปถ)
- ๐งน **ไบไปถ็ๅฌๅจๆธ
็** - ไผ้
ๅ
ณ้ญๆถๆธ
็ๆๆ็ๅฌๅจ๏ผ้ฒๆญขๅ
ๅญๆณๆผ
- ๐ **WebSocket ๅฟ่ทณ** - 30็ง ping/pong ๆฃๆต๏ผ120็งๆ ๅๅบ่ชๅจๆญๅผ
- โก **N+1 ๆฅ่ฏขไผๅ** - ๆน้ๆๅ
ฅไป O(N) ไผๅไธบ O(1)
- ๐ **API ้็้ๅถ** - 100 req/min ้ๆตไฟๆค
### v5.3.7 (2026-03-18)
- ๐๏ธ **ๅ ้ค้ๅคๆๆกฃ** - ๅ ้ค README.md๏ผ็ปไธๆๆกฃๅ
ฅๅฃ
- ๐ง **็ปไธไปฃ็ ่ง่** - ไฟฎๅค 80+ ๆไปถ็ผบๅฐๆข่ก็ฌฆ
- ๐ง **็ปไธ Logger** - Winston logger ๆฟไปฃ console.log
- ๐ **ไบๅกๅฎๅ
จ** - ้็ฆป็บงๅซ + ๆญป้้่ฏ + ็ๆญๅจ
- โ๏ธ **้
็ฝฎๅขๅผบ** - ่ฟๆฅๆฑ ๅฏ้
็ฝฎ + ๆฅๅฟ้
็ฝฎ
### v5.3.20 (2026-03-19)
- โจ **ๅฎ่ฃ
ๆต็จไผๅ** - ้ไบคไบๆจกๅผใๆญ็นๆขๅคใๅฎ่ฃ
ๆฅๅฟ
- โจ **Skill.json installCommand** - ๆฏๆไธ้ฎ่ชๅจๅฎ่ฃ
- โจ **ๅธ่ฝฝ่ๆฌ** - `npm run uninstall` ๆธ
็ๆๆ็ปไปถ
- โจ **้็ฝฎ่ๆฌ** - `npm run reset` ๆธ
็ฉบ่ฎฐๅฟๆฐๆฎ
- ๐ง **ไฟฎๅค create_indexes.cjs** - ๆจกๅ่ทฏๅพ้่ฏฏ
- ๐ง **ไฟฎๅค health_check.cjs** - SQL ่ฏญๆณ้่ฏฏ
- ๐ **ๆๆกฃๆดๆฐ** - ๅฎ่ฃ
ๆๅใๅฝไปค่ฏดๆ
### v5.0.0 (2026-03-18)
- โจ ้ๆไธบๅๅฑๆถๆ (Domain/Repository/Service)
- โจ ๆทปๅ UnitOfWork ไบๅก็ฎก็
- โจ ๆทปๅ ้ขๅๆจกๅ้ช่ฏ
- โจ ๆทปๅ ๆต่ฏๆกๆถ (13ไธชๆต่ฏ)
- โจ ๆทปๅ ็ปไธๆฅๅฟๆจกๅ
- โจ ๆทปๅ ้
็ฝฎ็ฎก็ๅจ
- โ
ไฟฎๅค Pool ่ฟๆฅๆณๆผ
- โ
ไฟฎๅค็ฉบ catch ๅ
- โ
็งป้คๆไปถ fallback๏ผๅผบๅถๆฐๆฎๅบไผๅ
### v4.1.0 (Previous)
- ๅบ็ก่ฎฐๅฟๅ่ฝ
- ่ๆณ็ฝ็ป
- ้ขๆต้ขๅ ่ฝฝ
- ๅฟ่ทณๅๆ
- ่ช็ฑๆ่
---
## ๐ค ่ดก็ฎ
1. Fork ไปๅบ
2. ๅๅปบๅๆฏ (`git checkout -b feature/xxx`)
3. ๆไบคไฟฎๆน (`git commit -m 'Add feature'`)
4. ๆจ้ๅๆฏ (`git push origin feature/xxx`)
5. ๅๅปบ Pull Request
---
## ๐ ่ฎธๅฏ
MIT License
---
**่ฎฉ AI ๆฅๆ่ฎฐๅฟ๏ผ่ฎฉๅฏน่ฏๆดๆๆธฉๅบฆ** โค๏ธ
don't have the plugin yet? install it then click "run inline in claude" again.