Skip to content
forked from openclaw/openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. ๐Ÿฆž

License

Notifications You must be signed in to change notification settings

serenez/openclaw

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenClaw ๆ™บ่ƒฝ่ทฏ็”ฑ็ณป็ปŸ

English Documentation | ไธญๆ–‡ๆ–‡ๆกฃ

โš ๏ธ ๆณจๆ„๏ผšๆœฌ้กน็›ฎไป…็”จไบŽไธชไบบไฝ“้ชŒไบคๆตๅญฆไน  ๅŽŸ้กน็›ฎๅœฐๅ€๏ผšopenclaw/openclaw


๐Ÿค– ไป€ไนˆๆ˜ฏๆ™บ่ƒฝ่ทฏ็”ฑ๏ผŸ

OpenClaw ๆ™บ่ƒฝ่ทฏ็”ฑ็ณป็ปŸๆ˜ฏไธ€ไธชๅŸบไบŽ่ฏญไน‰็›ธไผผๅบฆ็š„AIๆจกๅž‹่‡ชๅŠจ้€‰ๆ‹ฉๅผ•ๆ“Ž๏ผŒ่ƒฝๅคŸ๏ผš

  • ๐ŸŽฏ ่‡ชๅŠจๅˆ†็ฑปๆŸฅ่ฏข๏ผšๆ นๆฎ่ฏญไน‰่‡ชๅŠจ่ฏ†ๅˆซๆŸฅ่ฏข็ฑปๅž‹๏ผˆไปฃ็ ใ€้—ฒ่Šใ€ๆŽจ็†ใ€ๅ†™ไฝœ็ญ‰๏ผ‰
  • ๐Ÿ’ฐ ๆˆๆœฌไผ˜ๅŒ–๏ผš็ฎ€ๅ•ๆŸฅ่ฏข็”จ่ฝป้‡ๆจกๅž‹๏ผŒๅคๆ‚ๆŸฅ่ฏข็”จๆ——่ˆฐๆจกๅž‹๏ผŒ่Š‚็œ60-80%ๆˆๆœฌ
  • ๐Ÿ“š ๆŒ็ปญๅญฆไน ๏ผšๆ นๆฎ็”จๆˆทไฝฟ็”จไน ๆƒฏ่‡ชๅŠจไผ˜ๅŒ–่ทฏ็”ฑๅ†ณ็ญ–
  • โšก ๅฎžๆ—ถๅ“ๅบ”๏ผšๅŸบไบŽๅ‘้‡็›ธไผผๅบฆ็š„ๆฏซ็ง’็บง่ทฏ็”ฑๅ†ณ็ญ–

ๆ ธๅฟƒไปทๅ€ผ

ไผ ็ปŸๆ–นๅผ๏ผšๆ‰€ๆœ‰ๆŸฅ่ฏข โ†’ ๆ——่ˆฐๆจกๅž‹ โ†’ ้ซ˜ๆˆๆœฌ ๐Ÿ’ธ
ๆ™บ่ƒฝ่ทฏ็”ฑ๏ผš
  โ”œโ”€ ็ฎ€ๅ•ๆŸฅ่ฏข๏ผˆ60%๏ผ‰ โ†’ ่ฝป้‡ๆจกๅž‹ โ†’ ็œ้’ฑ โœ…
  โ”œโ”€ ไปฃ็ ๆŸฅ่ฏข๏ผˆ20%๏ผ‰ โ†’ ๆ——่ˆฐๆจกๅž‹ โ†’ ่ดจ้‡ โœ…
  โ”œโ”€ ๆŽจ็†ๆŸฅ่ฏข๏ผˆ15%๏ผ‰ โ†’ ๆ——่ˆฐๆจกๅž‹ โ†’ ่ดจ้‡ โœ…
  โ””โ”€ ๅ…ถไป–ๆŸฅ่ฏข๏ผˆ5%๏ผ‰ โ†’ ่ฝป้‡ๆจกๅž‹ โ†’ ็œ้’ฑ โœ…

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

็ฌฌไธ€ๆญฅ๏ผšๅฎ‰่ฃ…ๅ’Œๅฏ็”จ

# 1. Clone ้กน็›ฎ
git clone https://github.com/serenez/openclaw.git
cd openclaw

# 2. ๅฎ‰่ฃ…ไพ่ต–
pnpm install
pnpm build

# 3. ๅฎ‰่ฃ…ๅˆฐ็ณป็ปŸ
pnpm link

# 4. โš ๏ธ ้‡่ฆ๏ผšๅฟ…้กปๅฏ็”จๆ™บ่ƒฝ่ทฏ็”ฑ๏ผˆๅคๅˆถ็งๅญๆ–‡ไปถๅˆฐ็”จๆˆท็›ฎๅฝ•๏ผ‰
openclaw smart-router enable

ไธบไป€ไนˆๅฟ…้กปๆ‰ง่กŒ openclaw smart-router enable๏ผŸ

  • ๅฏ็”จๅ‘ฝไปคไผš่‡ชๅŠจๅคๅˆถ็งๅญๆ–‡ไปถๅˆฐ ~/.openclaw/smart-router/
  • ๅฆ‚ๆžœไธๅฏ็”จ๏ผŒ้œ€่ฆๆ‰‹ๅŠจๅคๅˆถ๏ผˆไธๆŽจ่๏ผ‰
  • ็งๅญๆ–‡ไปถๅŒ…ๆ‹ฌ๏ผšDNAๆ„ๅ›พๅˆ†็ฑป + ้ป˜่ฎค็”จๆˆทๅญฆไน ๆ•ฐๆฎ

็ฌฌไบŒๆญฅ๏ผš้…็ฝฎๆจกๅž‹๏ผˆๅฟ…้กป๏ผ๏ผ‰

โš ๏ธ ้‡่ฆ๏ผšๆฃ€ๆŸฅๅนถไฟฎๆ”น่ทฏ็”ฑ้…็ฝฎ๏ผ

# ๆŸฅ็œ‹ๅฝ“ๅ‰้…็ฝฎ
openclaw config get

# ็ผ–่พ‘้…็ฝฎๆ–‡ไปถ
~/.openclaw/config.json

ๅฟ…้กป็กฎ่ฎค็š„้…็ฝฎ้กน๏ผš

{
  "smartRouting": {
    "enabled": true,
    "lightweightModels": ["ไฝ ็š„่ฝป้‡ๆจกๅž‹"],
    "flagshipModels": ["ไฝ ็š„ๆ——่ˆฐๆจกๅž‹"],
    "embedding": {
      "model": "Qwen/Qwen3-Embedding-0.6B",
      "apiKey": "ไฝ ็š„ๅƒ้—ฎAPIๅฏ†้’ฅ"
    }
  }
}

โš ๏ธ ๅ…ณ้”ฎ่ญฆๅ‘Š๏ผšๆจกๅž‹ไธ€่‡ดๆ€ง๏ผ

็”Ÿๆˆ็งๅญๆ•ฐๆฎ็š„ๆจกๅž‹  ๅฟ…้กป็ญ‰ไบŽ  ่ฟ่กŒๆ—ถไฝฟ็”จ็š„ๆจกๅž‹
โ”‚                              โ”‚
โ”‚     Qwen/Qwen3-Embedding-0.6B    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • ้กน็›ฎ้ป˜่ฎคไฝฟ็”จ ๅƒ้—ฎ Qwen3-Embedding-0.6B ๆจกๅž‹
  • ๅฆ‚ๆžœไฝฟ็”จ้กน็›ฎ่‡ชๅธฆ็š„ๆ•ฐๆฎ โ†’ ๅฟ…้กป้…็ฝฎๅƒ้—ฎๆจกๅž‹
  • ๅฆ‚ๆžœไฝฟ็”จ่‡ชๅทฑ็š„ๆ•ฐๆฎ โ†’ ๅฟ…้กป็”จๅƒ้—ฎๆจกๅž‹้‡ๆ–ฐ็”Ÿๆˆ

็ฌฌไธ‰ๆญฅ๏ผš้ชŒ่ฏ้…็ฝฎ

# ๅ‘้€ไธ€ไธชๆต‹่ฏ•ๆŸฅ่ฏข
echo "ๆต‹่ฏ•ๆ™บ่ƒฝ่ทฏ็”ฑ"

# ๆŸฅ็œ‹่ทฏ็”ฑๆ—ฅๅฟ—๏ผˆๅบ”่ฏฅ็œ‹ๅˆฐ่ทฏ็”ฑๅ†ณ็ญ–๏ผ‰
# ๆ—ฅๅฟ—ไฝ็ฝฎ๏ผšๆ นๆฎไฝ ็š„็ณป็ปŸ้…็ฝฎ

๐Ÿ“š ่‡ชๅฎšไน‰็งๅญๆ•ฐๆฎ

DNA ๅˆ†็ฑป่ฏดๆ˜Ž

็ณป็ปŸๅŒ…ๅซ 6 ไธช้ข„ๅฎšไน‰่ฏญไน‰็ฑปๅˆซ๏ผš

็ฑปๅˆซ ่ฏดๆ˜Ž ไผ˜ๅ…ˆ็บง ็คบไพ‹ๆŸฅ่ฏข
CHAT ๆ—ฅๅธธ้—ฒ่Š ่ฝป้‡ "ไฝ ๅฅฝ", "ๅคฉๆฐ”ๆ€Žไนˆๆ ท"
CODE ไปฃ็ ็›ธๅ…ณ ๆ——่ˆฐ "ๅ†™ไธชๅ‡ฝๆ•ฐ", "ๅธฎๆˆ‘debug"
FACT ไบ‹ๅฎžๆŸฅ่ฏข ่ฝป้‡ "1+1็ญ‰ไบŽๅ‡ ", "้ฆ–้ƒฝๅœจๅ“ช"
REASON ๆŽจ็†ๅˆ†ๆž ๆ——่ˆฐ "ๅˆ†ๆž้—ฎ้ข˜", "ๆฏ”่พƒๆ–นๆกˆ"
TRANS ็ฟป่ฏ‘่ฝฌๆข ่ฝป้‡ "็ฟป่ฏ‘", "ๆ€ป็ป“"
WRITE ๅ†™ไฝœ็”Ÿๆˆ ่ฝป้‡ "ๅ†™้ฆ–่ฏ—", "ๅ†™ๆ–‡็ซ "

JSONๆ•ฐๆฎๆ ผๅผ

[
  {
    "text": "ไฝ ็š„ๆŸฅ่ฏขๆ–‡ๆœฌ",
    "label": "็ฑปๅˆซๅ็งฐ"
  }
]

็คบไพ‹ๆ•ฐๆฎ

[
  {"text": "ๅธฎๆˆ‘ๅ†™ไธ€ไธชPythonๅ‡ฝๆ•ฐ", "label": "CODE"},
  {"text": "ไปŠๅคฉๅคฉๆฐ”ๆ€Žไนˆๆ ท", "label": "CHAT"},
  {"text": "1ๅŠ 1็ญ‰ไบŽๅ‡ ", "label": "FACT"},
  {"text": "ๅˆ†ๆžไธ€ไธ‹่ฟ™ไธคไธชๆ–นๆกˆ็š„ไผ˜็ผบ็‚น", "label": "REASON"},
  {"text": "ๆŠŠ่ฟ™ๆฎต่ฏ็ฟป่ฏ‘ๆˆ่‹ฑๆ–‡", "label": "TRANS"},
  {"text": "ๅธฎๆˆ‘ๅ†™ไธ€้ฆ–ๅ…ณไบŽๆ˜ฅๅคฉ็š„่ฏ—", "label": "WRITE"}
]

็”Ÿๆˆ็งๅญๆ–‡ไปถ

้‡่ฆ๏ผš็”Ÿๆˆๅ‰้…็ฝฎ API ๅฏ†้’ฅ๏ผ

# ่ฎพ็ฝฎๅƒ้—ฎ API ๅฏ†้’ฅ
export SILICONFLOW_API_KEY="sk-ไฝ ็š„ๅฏ†้’ฅ"

# ๆˆ–่€…ๅœจไปฃ็ ไธญ็›ดๆŽฅ้…็ฝฎ๏ผˆๅ‚่€ƒไธ‹ๆ–น๏ผ‰

็”Ÿๆˆๅ‘ฝไปค๏ผš

# ็”Ÿๆˆ DNA ๆ„ๅ›พๆ–‡ไปถ๏ผˆ6ไธชๅˆ†็ฑป็š„ไปฃ่กจ็‚น๏ผ‰
pnpm smart-router:generate-dna

# ็”Ÿๆˆ็”จๆˆทๅญฆไน ๆ•ฐๆฎๆ–‡ไปถ
pnpm smart-router:generate-user-memory

# ๆˆ–ไธ€ๆฌกๆ€ง็”Ÿๆˆๆ‰€ๆœ‰
pnpm smart-router:generate-all

็”Ÿๆˆ่„šๆœฌไฝ็ฝฎ๏ผš

scripts/generate-dna-seeds.ts     # DNA็”Ÿๆˆ่„šๆœฌ
scripts/generate-user-memory.ts  # ็”จๆˆทๅบ“็”Ÿๆˆ่„šๆœฌ

่พ“ๅ‡บๆ–‡ไปถ๏ผš

src/smart-router/dna/base_dna.bin              # DNAๆ„ๅ›พๅˆ†็ฑป
src/smart-router/dna/default_user_memory.bin  # ็”จๆˆทๅญฆไน ๆ•ฐๆฎ

๐Ÿ”ง ๆ ธๅฟƒ็‰นๆ€ง

1. Medoid็ฎ—ๆณ•ไปฃๆ›ฟCentroid

ไผ˜ๅŠฟ๏ผš

  • Medoidๆฐธ่ฟœๆ˜ฏ็œŸๅฎž็š„ๆ ทๆœฌๅ‘้‡
  • ไธไผš่ขซ"ๅนณๅ‡ๅŒ–"ๆŠน้™ค็‰นๅพ
  • ๅฏน็ฆป็พคๅ€ผๆ›ด้ฒๆฃ’

2. ๅŠจๆ€็ฝฎไฟกๅบฆๆƒฉ็ฝš

ๅนณๆป‘็š„ๆƒฉ็ฝšๆ›ฒ็บฟ๏ผš

confidence >= 0.15 โ†’ ๆ— ๆƒฉ็ฝš (factor = 1.0)
confidence = 0.10  โ†’ ่ฝปๅพฎๆƒฉ็ฝš (factor = 0.98)
confidence = 0.05  โ†’ ไธญๅบฆๆƒฉ็ฝš (factor = 0.95)
confidence = 0.00  โ†’ ้‡ๅบฆๆƒฉ็ฝš (factor = 0.90)

3. ็ŸญๆŸฅ่ฏขๅขžๅผบ

ๆฃ€ๆต‹๏ผš ๅญ—็ฌฆๆ•ฐ < 6 ๅขžๅผบ๏ผš ้˜ˆๅ€ผ้™ไฝŽ0.05

4. ่ฝฏๅˆ†ๅŒบๅŒ้‡ๆฃ€ๆต‹

่งฆๅ‘ๆกไปถ๏ผš ๆœ€ไฝณDNAๅ’Œ็ฌฌไบŒDNAๅพ—ๅˆ†ๅทฎ < 0.1 ่กŒไธบ๏ผš ๅŒๆ—ถๆœ็ดขไธคไธชๅˆ†ๅŒบ็š„Patches

5. ๆŸฅ่ฏข็ป“ๆžœ็ผ“ๅญ˜

LRU็ผ“ๅญ˜๏ผš

  • ๆœ€ๅคง1000ๆก็›ฎ
  • 60็ง’TTL
  • ๅ‘้‡ๅ“ˆๅธŒไฝœไธบkey

๐Ÿ“Š ็ณป็ปŸๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ็”จๆˆทๆŸฅ่ฏข่พ“ๅ…ฅ                            โ”‚
โ”‚              "ๅธฎๆˆ‘ๅ†™ไธ€ไธชPythonๆญฃๅˆ™่กจ่พพๅผ"                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              SmartRouter.decide()                        โ”‚
โ”‚                                                         โ”‚
โ”‚  1. ๅ‰็ผ€ๆฃ€ๆต‹ โ†’ "flagship:" prefix                     โ”‚
โ”‚  2. ๅ…ณ้”ฎ่ฏๅŒน้… โ†’ ๆญฃๅˆ™ใ€ไปฃ็ ๅ…ณ้”ฎ่ฏ                       โ”‚
โ”‚  3. Embedding API โ†’ 1024็ปดๅ‘้‡                        โ”‚
โ”‚  4. LayeredIndexๆœ็ดข โ†’ Patches + DNA                    โ”‚
โ”‚  5. ๅ†ณ็ญ–่พ“ๅ‡บ โ†’ tier + model + confidence               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚               LayeredIndex.search()                      โ”‚
โ”‚                                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚ ๆŸฅ่ฏข็ผ“ๅญ˜ (LRU)                               โ”‚    โ”‚
โ”‚  โ”‚ - ๅ‘้‡ๅ“ˆๅธŒไฝœไธบkey                             โ”‚    โ”‚
โ”‚  โ”‚ - 60็ง’TTL                                    โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                    โ†“ ็ผ“ๅญ˜ๆœชๅ‘ฝไธญ                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚ searchPatches() - ่ฝฏๅˆ†ๅŒบๅŒ้‡ๆฃ€ๆต‹             โ”‚    โ”‚
โ”‚  โ”‚ - DNA็กฎๅฎštier                               โ”‚    โ”‚
โ”‚  โ”‚ - ๆœ็ดขๅฏนๅบ”tier็š„patches                      โ”‚    โ”‚
โ”‚  โ”‚ - ้˜ˆๅ€ผ: 0.55                                โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                    โ†“ ๆœชๅŒน้…                            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚ searchDNA() - Top-K็ฝฎไฟกๅบฆๆฃ€ๆŸฅ               โ”‚    โ”‚
โ”‚  โ”‚ - ่ฎก็ฎ—6ไธชDNA็›ธไผผๅบฆ                          โ”‚    โ”‚
โ”‚  โ”‚ - ๅŠจๆ€็ฝฎไฟกๅบฆๆƒฉ็ฝš                            โ”‚    โ”‚
โ”‚  โ”‚ - ้˜ˆๅ€ผ: 0.60                                โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              RoutingDecision ่พ“ๅ‡บ                         โ”‚
โ”‚                                                         โ”‚
โ”‚  {                                                     โ”‚
โ”‚    modelTier: "flagship",                             โ”‚
โ”‚    selectedModel: "zai/glm-4.7",                      โ”‚
โ”‚    confidence: 0.65,                                   โ”‚
โ”‚    reasoning: "Patch hit (similarity 0.65)"           โ”‚
โ”‚  }                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“– ๅฎŒๆ•ดๆ–‡ๆกฃ


โš ๏ธ ๅธธ่ง้—ฎ้ข˜

้—ฎ้ข˜1๏ผšๆฒกๆœ‰ๅฏ็”จๆ™บ่ƒฝ่ทฏ็”ฑ

็—‡็Šถ๏ผš ่ทฏ็”ฑไธๅทฅไฝœ๏ผŒๆ‰€ๆœ‰ๆŸฅ่ฏข้ƒฝ็”จๅŒไธ€ไธชๆจกๅž‹

่งฃๅ†ณ๏ผš

openclaw smart-router enable

้—ฎ้ข˜2๏ผšๆจกๅž‹้…็ฝฎ้”™่ฏฏ

็—‡็Šถ๏ผš ๆŸฅ่ฏขๆŠฅ้”™ๆˆ–่ทฏ็”ฑๅ†ณ็ญ–ไธๅˆ็†

่งฃๅ†ณ๏ผš

  1. ๆฃ€ๆŸฅ ~/.openclaw/config.json
  2. ็กฎไฟ lightweightModels ๅ’Œ flagshipModels ้…็ฝฎๆญฃ็กฎ
  3. ็กฎไฟ embedding.model ๆ˜ฏๅƒ้—ฎๆจกๅž‹

้—ฎ้ข˜3๏ผšๅ‘้‡่ดจ้‡ๅทฎ

็—‡็Šถ๏ผš ็›ธไผผๅบฆๅพ—ๅˆ†ๆ™ฎ้ๅพˆไฝŽ๏ผˆ< 0.6๏ผ‰

ๅฏ่ƒฝๅŽŸๅ› ๏ผš

  • ็งๅญๆ•ฐๆฎๆจกๅž‹ โ‰  ่ฟ่กŒๆ—ถๆจกๅž‹
  • API ๅฏ†้’ฅ้”™่ฏฏๆˆ–้…้ข็”จๅฎŒ

่งฃๅ†ณ๏ผš

  1. ็กฎ่ฎคๆจกๅž‹ไธ€่‡ด
  2. ๆฃ€ๆŸฅ API ๅฏ†้’ฅ
  3. ้‡ๆ–ฐ็”Ÿๆˆ็งๅญๆ–‡ไปถ

๐Ÿ”ง ้…็ฝฎ็คบไพ‹

ๅฎŒๆ•ด้…็ฝฎ

{
  "smartRouting": {
    "enabled": true,
    "lightweightModels": ["zai/glm-4.5-air", "claude-3-5-haiku"],
    "flagshipModels": ["zai/glm-4.7", "claude-3-7-sonnet"],
    "embedding": {
      "model": "Qwen/Qwen3-Embedding-0.6B",
      "timeoutMs": 5000,
      "apiKey": "your-api-key"
    },
    "patchSimilarityThreshold": 0.55,
    "dnaSimilarityThreshold": 0.60,
    "softPartitionThreshold": 0.1
  }
}

๐Ÿ“Š ๆŠ€ๆœฏๆ ˆ

  • ่ฏญ่จ€๏ผš TypeScript/Node.js
  • ๅ‘้‡็ปดๅบฆ๏ผš 1024
  • ็›ธไผผๅบฆ็ฎ—ๆณ•๏ผš ไฝ™ๅผฆ็›ธไผผๅบฆ๏ผˆ็‚น็งฏไผ˜ๅŒ–๏ผ‰
  • Embeddingๆจกๅž‹๏ผš Qwen/Qwen3-Embedding-0.6B
  • ๅ‘้‡ๅญ˜ๅ‚จ๏ผš ่‡ชๅฎšไน‰ไบŒ่ฟ›ๅˆถๆ ผๅผ๏ผˆVectorStore๏ผ‰
  • DNAๆ ผๅผ๏ผš VCTR (Vector Centroid)

๐Ÿ“ ่ฎธๅฏ่ฏ

MIT License


๐Ÿ“ง ่”็ณปๆ–นๅผ

  • ๅŽŸ้กน็›ฎ๏ผš openclaw/openclaw
  • ้—ฎ้ข˜ๅ้ฆˆ๏ผš GitHub Issues

About

Your own personal AI assistant. Any OS. Any Platform. The lobster way. ๐Ÿฆž

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 82.8%
  • Swift 13.3%
  • Kotlin 1.8%
  • Shell 0.8%
  • CSS 0.5%
  • JavaScript 0.4%
  • Other 0.4%