# Chrome MCP Server ๆžถๆž„่ฎพ่ฎก ๐Ÿ—๏ธ ๆœฌๆ–‡ๆกฃๆไพ› Chrome MCP Server ๆžถๆž„ใ€่ฎพ่ฎกๅ†ณ็ญ–ๅ’Œๅฎž็Žฐ็ป†่Š‚็š„่ฏฆ็ป†ๆŠ€ๆœฏๆฆ‚่ฟฐใ€‚ ## ๐Ÿ“‹ ็›ฎๅฝ• - [ๆฆ‚่ฟฐ](#ๆฆ‚่ฟฐ) - [็ณป็ปŸๆžถๆž„](#็ณป็ปŸๆžถๆž„) - [็ป„ไปถ่ฏฆๆƒ…](#็ป„ไปถ่ฏฆๆƒ…) - [ๆ•ฐๆฎๆต](#ๆ•ฐๆฎๆต) - [AI ้›†ๆˆ](#ai-้›†ๆˆ) - [ๆ€ง่ƒฝไผ˜ๅŒ–](#ๆ€ง่ƒฝไผ˜ๅŒ–) - [ๅฎ‰ๅ…จ่€ƒ่™‘](#ๅฎ‰ๅ…จ่€ƒ่™‘) ## ๐ŸŽฏ ๆฆ‚่ฟฐ Chrome MCP Server ๆ˜ฏไธ€ไธชๅคๆ‚็š„ๆต่งˆๅ™จ่‡ชๅŠจๅŒ–ๅนณๅฐ๏ผŒ้€š่ฟ‡ๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎ (MCP) ๅฐ† AI ๅŠฉๆ‰‹ไธŽ Chrome ๆต่งˆๅ™จๅŠŸ่ƒฝ่ฟžๆŽฅ่ตทๆฅใ€‚ๆžถๆž„่ฎพ่ฎก็›ฎๆ ‡๏ผš - **้ซ˜ๆ€ง่ƒฝ**๏ผšSIMD ไผ˜ๅŒ–็š„ AI ๆ“ไฝœๅ’Œ้ซ˜ๆ•ˆ็š„ๅŽŸ็”Ÿๆถˆๆฏไผ ้€’ - **ๅฏๆ‰ฉๅฑ•ๆ€ง**๏ผšๆจกๅ—ๅŒ–ๅทฅๅ…ท็ณป็ปŸ๏ผŒไพฟไบŽๆทปๅŠ ๆ–ฐๅŠŸ่ƒฝ - **ๅฏ้ ๆ€ง**๏ผšๅผบๅคง็š„้”™่ฏฏๅค„็†ๅ’Œไผ˜้›…้™็บง - **ๅฎ‰ๅ…จๆ€ง**๏ผšๆฒ™็›’ๆ‰ง่กŒๅ’ŒๅŸบไบŽๆƒ้™็š„่ฎฟ้—ฎๆŽงๅˆถ ## ๐Ÿ—๏ธ ็ณป็ปŸๆžถๆž„ ```mermaid graph TB subgraph "AI ๅŠฉๆ‰‹ๅฑ‚" A[Claude Desktop] B[่‡ชๅฎšไน‰ MCP ๅฎขๆˆท็ซฏ] C[ๅ…ถไป– AI ๅทฅๅ…ท] end subgraph "MCP ๅ่ฎฎๅฑ‚" D[HTTP/SSE ไผ ่พ“] E[MCP ๆœๅŠกๅ™จๅฎžไพ‹] F[ๅทฅๅ…ทๆณจๅ†Œ่กจ] end subgraph "ๅŽŸ็”ŸๆœๅŠกๅ™จๅฑ‚" G[Fastify HTTP ๆœๅŠกๅ™จ] H[ๅŽŸ็”Ÿๆถˆๆฏไธปๆœบ] I[ไผš่ฏ็ฎก็†] end subgraph "Chrome ๆ‰ฉๅฑ•ๅฑ‚" J[ๅŽๅฐ่„šๆœฌ] K[ๅ†…ๅฎน่„šๆœฌ] L[ๅผน็ช—็•Œ้ข] M[็ฆปๅฑๆ–‡ๆกฃ] end subgraph "ๆต่งˆๅ™จ APIs ๅฑ‚" N[Chrome APIs] O[Web APIs] P[ๅŽŸ็”Ÿๆถˆๆฏ] end subgraph "AI ๅค„็†ๅฑ‚" Q[่ฏญไน‰ๅผ•ๆ“Ž] R[ๅ‘้‡ๆ•ฐๆฎๅบ“] S[SIMD ๆ•ฐๅญฆๅผ•ๆ“Ž] T[Web Workers] end A --> D B --> D C --> D D --> E E --> F F --> G G --> H H --> P P --> J J --> K J --> L J --> M J --> N J --> O J --> Q Q --> R Q --> S Q --> T ``` ## ๐Ÿ”ง ็ป„ไปถ่ฏฆๆƒ… ### 1. ๅŽŸ็”ŸๆœๅŠกๅ™จ (`app/native-server/`) **็›ฎ็š„**๏ผšMCP ๅ่ฎฎๅฎž็Žฐๅ’ŒๅŽŸ็”ŸๆถˆๆฏๆกฅๆŽฅ **ๆ ธๅฟƒ็ป„ไปถ**๏ผš - **Fastify HTTP ๆœๅŠกๅ™จ**๏ผšๅค„็†ๅŸบไบŽ HTTP/SSE ็š„ MCP ๅ่ฎฎ - **ๅŽŸ็”Ÿๆถˆๆฏไธปๆœบ**๏ผšไธŽ Chrome ๆ‰ฉๅฑ•้€šไฟก - **ไผš่ฏ็ฎก็†**๏ผš็ฎก็†ๅคšไธช MCP ๅฎขๆˆท็ซฏไผš่ฏ - **ๅทฅๅ…ทๆณจๅ†Œ่กจ**๏ผšๅฐ†ๅทฅๅ…ท่ฐƒ็”จ่ทฏ็”ฑๅˆฐ Chrome ๆ‰ฉๅฑ• **ๆŠ€ๆœฏๆ ˆ**๏ผš - TypeScript + Fastify - MCP SDK (@modelcontextprotocol/sdk) - ๅŽŸ็”Ÿๆถˆๆฏๅ่ฎฎ ### 2. Chrome ๆ‰ฉๅฑ• (`app/chrome-extension/`) **็›ฎ็š„**๏ผšๆต่งˆๅ™จ่‡ชๅŠจๅŒ–ๅ’Œ AI ้ฉฑๅŠจ็š„ๅ†…ๅฎนๅˆ†ๆž **ๆ ธๅฟƒ็ป„ไปถ**๏ผš - **ๅŽๅฐ่„šๆœฌ**๏ผšไธป่ฆๅ่ฐƒๅ™จๅ’Œๅทฅๅ…ทๆ‰ง่กŒๅ™จ - **ๅ†…ๅฎน่„šๆœฌ**๏ผš้กต้ขไบคไบ’ๅ’Œๅ†…ๅฎนๆๅ– - **ๅผน็ช—็•Œ้ข**๏ผš็”จๆˆท้…็ฝฎๅ’Œ็Šถๆ€ๆ˜พ็คบ - **็ฆปๅฑๆ–‡ๆกฃ**๏ผšๅœจ้š”็ฆป็Žฏๅขƒไธญ่ฟ›่กŒ AI ๆจกๅž‹ๅค„็† **ๆŠ€ๆœฏๆ ˆ**๏ผš - WXT ๆก†ๆžถ + Vue 3 - Chrome ๆ‰ฉๅฑ• APIs - WebAssembly + SIMD - Transformers.js ### 3. ๅ…ฑไบซๅŒ… (`packages/`) #### 3.1 ๅ…ฑไบซ็ฑปๅž‹ (`packages/shared/`) - ๅทฅๅ…ทๆจกๅผๅ’Œ็ฑปๅž‹ๅฎšไน‰ - ้€š็”จๆŽฅๅฃๅ’Œๅทฅๅ…ท - MCP ๅ่ฎฎ็ฑปๅž‹ #### 3.2 WASM SIMD (`packages/wasm-simd/`) - ๅŸบไบŽ Rust ็š„ SIMD ไผ˜ๅŒ–ๆ•ฐๅญฆๅ‡ฝๆ•ฐ - ไฝฟ็”จ Emscripten ็ผ–่ฏ‘ WebAssembly - ๅ‘้‡่ฟ็ฎ—ๆ€ง่ƒฝๆๅ‡ 4-8 ๅ€ ## ๐Ÿ”„ ๆ•ฐๆฎๆต ### ๅทฅๅ…ทๆ‰ง่กŒๆต็จ‹ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ AI ๅŠฉๆ‰‹ โ”‚ โ”‚ ๅŽŸ็”ŸๆœๅŠกๅ™จ โ”‚ โ”‚ Chrome ๆ‰ฉๅฑ• โ”‚ โ”‚ ๆต่งˆๅ™จ APIs โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 1. ๅทฅๅ…ท่ฐƒ็”จ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 2. ๅŽŸ็”Ÿๆถˆๆฏ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 3. ๆ‰ง่กŒๅทฅๅ…ท โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ 4. API ๅ“ๅบ” โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ 5. ๅทฅๅ…ท็ป“ๆžœ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ 6. MCP ๅ“ๅบ” โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ ``` ### AI ๅค„็†ๆต็จ‹ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๅ†…ๅฎนๆๅ– โ”‚ โ”‚ ๆ–‡ๆœฌๅˆ†ๅ—ๅ™จ โ”‚ โ”‚ ่ฏญไน‰ๅผ•ๆ“Ž โ”‚ โ”‚ ๅ‘้‡ๆ•ฐๆฎๅบ“ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 1. ๅŽŸๅง‹ๅ†…ๅฎน โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 2. ๆ–‡ๆœฌๅ— โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 3. ๅตŒๅ…ฅๅ‘้‡ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 4. ๆœ็ดขๆŸฅ่ฏข โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ 5. ๆŸฅ่ฏขๅ‘้‡ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ 6. ็›ธไผผๆ–‡ๆกฃ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ 7. ๆœ็ดข็ป“ๆžœ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ``` ## ๐Ÿง  AI ้›†ๆˆ ### ่ฏญไน‰็›ธไผผๅบฆๅผ•ๆ“Ž **ๆžถๆž„**๏ผš - **ๆจกๅž‹ๆ”ฏๆŒ**๏ผšBGE-small-en-v1.5ใ€E5-small-v2ใ€Universal Sentence Encoder - **ๆ‰ง่กŒ็Žฏๅขƒ**๏ผšWeb Workers ็”จไบŽ้ž้˜ปๅกžๅค„็† - **ไผ˜ๅŒ–**๏ผšๅ‘้‡่ฟ็ฎ—็š„ SIMD ๅŠ ้€Ÿ - **็ผ“ๅญ˜**๏ผšๅตŒๅ…ฅๅ’Œๅˆ†่ฏ็š„ LRU ็ผ“ๅญ˜ **ๆ€ง่ƒฝไผ˜ๅŒ–**๏ผš ```typescript // SIMD ๅŠ ้€Ÿ็š„ไฝ™ๅผฆ็›ธไผผๅบฆ const similarity = await simdMath.cosineSimilarity(vecA, vecB); // ๆ‰นๅค„็†ๆ้ซ˜ๆ•ˆ็އ const similarities = await simdMath.batchSimilarity(vectors, query, dimension); // ๅ†…ๅญ˜้ซ˜ๆ•ˆ็š„็Ÿฉ้˜ต่ฟ็ฎ— const matrix = await simdMath.similarityMatrix(vectorsA, vectorsB, dimension); ``` ### ๅ‘้‡ๆ•ฐๆฎๅบ“ (hnswlib-wasm) **็‰นๆ€ง**๏ผš - **็ฎ—ๆณ•**๏ผšๅˆ†ๅฑ‚ๅฏผ่ˆชๅฐไธ–็•Œ (HNSW) - **ๅฎž็Žฐ**๏ผšWebAssembly ๅฎž็ŽฐๆŽฅ่ฟ‘ๅŽŸ็”Ÿๆ€ง่ƒฝ - **ๆŒไน…ๅŒ–**๏ผšIndexedDB ๅญ˜ๅ‚จ๏ผŒ่‡ชๅŠจๆธ…็† - **ๅฏๆ‰ฉๅฑ•ๆ€ง**๏ผš้ซ˜ๆ•ˆๅค„็† 10,000+ ๆ–‡ๆกฃ **้…็ฝฎ**๏ผš ```typescript const config: VectorDatabaseConfig = { dimension: 384, // ๆจกๅž‹ๅตŒๅ…ฅ็ปดๅบฆ maxElements: 10000, // ๆœ€ๅคงๆ–‡ๆกฃๆ•ฐ efConstruction: 200, // ๆž„ๅปบๆ—ถ็ฒพๅบฆ M: 16, // ่ฟžๆŽฅๅ‚ๆ•ฐ efSearch: 100, // ๆœ็ดขๆ—ถ็ฒพๅบฆ enableAutoCleanup: true, // ่‡ชๅŠจๆธ…็†ๆ—งๆ•ฐๆฎ maxRetentionDays: 30, // ๆ•ฐๆฎไฟ็•™ๆœŸ }; ``` ## โšก ๆ€ง่ƒฝไผ˜ๅŒ– ### 1. SIMD ๅŠ ้€Ÿ **Rust ๅฎž็Žฐ**๏ผš ```rust use wide::f32x4; fn cosine_similarity_simd(&self, vec_a: &[f32], vec_b: &[f32]) -> f32 { let len = vec_a.len(); let simd_lanes = 4; let simd_len = len - (len % simd_lanes); let mut dot_sum_simd = f32x4::ZERO; let mut norm_a_sum_simd = f32x4::ZERO; let mut norm_b_sum_simd = f32x4::ZERO; for i in (0..simd_len).step_by(simd_lanes) { let a_chunk = f32x4::new(vec_a[i..i+4].try_into().unwrap()); let b_chunk = f32x4::new(vec_b[i..i+4].try_into().unwrap()); dot_sum_simd = a_chunk.mul_add(b_chunk, dot_sum_simd); norm_a_sum_simd = a_chunk.mul_add(a_chunk, norm_a_sum_simd); norm_b_sum_simd = b_chunk.mul_add(b_chunk, norm_b_sum_simd); } // ่ฎก็ฎ—ๆœ€็ปˆ็›ธไผผๅบฆ let dot_product = dot_sum_simd.reduce_add(); let norm_a = norm_a_sum_simd.reduce_add().sqrt(); let norm_b = norm_b_sum_simd.reduce_add().sqrt(); dot_product / (norm_a * norm_b) } ``` ### 2. ๅ†…ๅญ˜็ฎก็† **็ญ–็•ฅ**๏ผš - **ๅฏน่ฑกๆฑ **๏ผš้‡็”จ Float32Array ็ผ“ๅ†ฒๅŒบ - **ๅปถ่ฟŸๅŠ ่ฝฝ**๏ผšๆŒ‰้œ€ๅŠ ่ฝฝ AI ๆจกๅž‹ - **็ผ“ๅญ˜็ฎก็†**๏ผšๅตŒๅ…ฅ็š„ LRU ๆท˜ๆฑฐ - **ๅžƒๅœพๅ›žๆ”ถ**๏ผšๆ˜พๅผๆธ…็†ๅคงๅฏน่ฑก ### 3. ๅนถๅ‘ๅค„็† **Web Workers**๏ผš - **AI ๅค„็†**๏ผšๆจกๅž‹ๆŽจ็†็š„็‹ฌ็ซ‹ worker - **ๅ†…ๅฎน็ดขๅผ•**๏ผšๅŽๅฐๆ ‡็ญพ้กตๅ†…ๅฎน็ดขๅผ• - **็ฝ‘็ปœๆ•่Žท**๏ผšๅนถ่กŒ่ฏทๆฑ‚ๅค„็† ## ๐Ÿ”ง ๆ‰ฉๅฑ•็‚น ### ๆทปๅŠ ๆ–ฐๅทฅๅ…ท 1. **ๅฎšไน‰ๆจกๅผ** ๅœจ `packages/shared/src/tools.ts` 2. **ๅฎž็Žฐๅทฅๅ…ท** ็ปงๆ‰ฟ `BaseBrowserToolExecutor` 3. **ๆณจๅ†Œๅทฅๅ…ท** ๅœจๅทฅๅ…ท็ดขๅผ•ไธญ 4. **ๆทปๅŠ ๆต‹่ฏ•** ็”จไบŽๅŠŸ่ƒฝๆต‹่ฏ• ### ่‡ชๅฎšไน‰ AI ๆจกๅž‹ 1. **ๆจกๅž‹้›†ๆˆ** ๅœจ `SemanticSimilarityEngine` 2. **Worker ๆ”ฏๆŒ** ็”จไบŽๅค„็† 3. **้…็ฝฎ** ๅœจๆจกๅž‹้ข„่ฎพไธญ 4. **ๆ€ง่ƒฝๆต‹่ฏ•** ไฝฟ็”จๅŸบๅ‡†ๆต‹่ฏ• ### ๅ่ฎฎๆ‰ฉๅฑ• 1. **MCP ๆ‰ฉๅฑ•** ็”จไบŽ่‡ชๅฎšไน‰ๅŠŸ่ƒฝ 2. **ไผ ่พ“ๅฑ‚** ็”จไบŽไธๅŒ้€šไฟกๆ–นๆณ• 3. **่บซไปฝ้ชŒ่ฏ** ็”จไบŽๅฎ‰ๅ…จ่ฟžๆŽฅ 4. **็›‘ๆŽง** ็”จไบŽๆ€ง่ƒฝๆŒ‡ๆ ‡ ๆญคๆžถๆž„ไฝฟ Chrome MCP Server ่ƒฝๅคŸๅœจไฟๆŒๅฎ‰ๅ…จๆ€งๅ’Œๅฏๆ‰ฉๅฑ•ๆ€ง็š„ๅŒๆ—ถ๏ผŒๆไพ›้ซ˜ๆ€ง่ƒฝ็š„ๆต่งˆๅ™จ่‡ชๅŠจๅŒ–ๅ’Œๅ…ˆ่ฟ›็š„ AI ๅŠŸ่ƒฝใ€‚