{"id":24,"date":"2026-05-15T16:46:52","date_gmt":"2026-05-15T08:46:52","guid":{"rendered":"https:\/\/sky.siyuanark.com\/?p=24"},"modified":"2026-05-15T16:52:34","modified_gmt":"2026-05-15T08:52:34","slug":"guada-%e6%99%ba%e8%83%bd-ai-%e5%af%b9%e8%af%9d%e5%b9%b3%e5%8f%b0","status":"publish","type":"post","link":"https:\/\/sky.siyuanark.com\/?p=24","title":{"rendered":"GuaDa \u2014 \u667a\u80fd AI \u5bf9\u8bdd\u5e73\u53f0"},"content":{"rendered":"<h1>GuaDa \u2014 \u667a\u80fd AI \u5bf9\u8bdd\u5e73\u53f0<\/h1>\n<blockquote><p>\u667a\u80fd AI \u5bf9\u8bdd\u7cfb\u7edf\uff0c\u652f\u6301 ReAct Agent\u3001\u591a\u6a21\u578b\u9002\u914d\u3001RAG \u77e5\u8bc6\u5e93\u68c0\u7d22\u3001MCP \u5de5\u5177\u8c03\u7528\u4e0e Skills \u6280\u80fd\u6846\u67b6\u3002\u76ee\u6807\u662f\u6253\u9020\u4e00\u4e2a\u53ef\u7528\u3001\u6613\u7528\u3001\u597d\u7528\u7684\u4e2a\u4eba\u667a\u80fd\u52a9\u7406\u3002<strong>\u76ee\u524d\u5904\u4e8e\u65e9\u671f\u5f00\u53d1\u9636\u6bb5\uff0c\u90e8\u5206\u529f\u80fd\u6b63\u5728\u6301\u7eed\u5feb\u901f\u8fed\u4ee3\u4e2d\u3002<\/strong><\/p><\/blockquote>\n<p><a href=\"https:\/\/gitee.com\/link?target=https%3A%2F%2Fnestjs.com\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" rel=\"nofollow\" ><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/a80d0dbab28f2007de280670e9c584d3.png\" alt=\"NestJS\" \/><\/a>\u00a0<a href=\"https:\/\/gitee.com\/link?target=https%3A%2F%2Fvuejs.org\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" rel=\"nofollow\" ><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/a0cbb87bf99dbcdf43c53c2ac3e80c5e.png\" alt=\"Vue\" \/><\/a>\u00a0<a href=\"https:\/\/gitee.com\/link?target=https%3A%2F%2Fwww.typescriptlang.org\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" rel=\"nofollow\" ><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/14abe28ae88f11c4754df2e7ebd83a41.png\" alt=\"TypeScript\" \/><\/a>\u00a0<a href=\"https:\/\/gitee.com\/link?target=https%3A%2F%2Fwww.prisma.io\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" rel=\"nofollow\" ><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/40f84d14a6d19dfca4abfc908c1c68c1.png\" alt=\"Prisma\" \/><\/a>\u00a0<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\/blob\/master\/LICENSE\" target=\"_blank\"  rel=\"nofollow\" ><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/07d7755f45590263de7bc1e92bbe731f.png\" alt=\"License\" \/><\/a><\/p>\n<hr \/>\n<h2><a id=\"user-content-\u9879\u76ee\u4ed3\u5e93\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E9%A1%B9%E7%9B%AE%E4%BB%93%E5%BA%93\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u9879\u76ee\u4ed3\u5e93<\/h2>\n<ul>\n<li><strong>GitHub<\/strong>:\u00a0<a href=\"https:\/\/gitee.com\/link?target=https%3A%2F%2Fgithub.com%2Fdonggua-zen%2Fguada\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" rel=\"nofollow\" >https:\/\/github.com\/donggua-zen\/guada<\/a><\/li>\n<li><strong>Gitee<\/strong>:\u00a0<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\" target=\"_blank\"  rel=\"nofollow\" >https:\/\/gitee.com\/zhendongdong\/guada_ai<\/a><\/li>\n<\/ul>\n<hr \/>\n<p>\u9047\u5230\u95ee\u9898\u3001\u610f\u89c1\u5efa\u8bae\u3001\u6280\u672f\u4ea4\u6d41\u8bf7\u52a0QQ\u7fa4\uff1a1047993501<\/p>\n<h2><a id=\"user-content-\u76ee\u5f55\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%9B%AE%E5%BD%95\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u76ee\u5f55<\/h2>\n<ul>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%B3%BB%E7%BB%9F%E6%A6%82%E8%A7%88\" target=\"_blank\"  rel=\"nofollow\" >\u7cfb\u7edf\u6982\u89c8<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84\" target=\"_blank\"  rel=\"nofollow\" >\u6574\u4f53\u67b6\u6784<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%A0%B8%E5%BF%83%E5%BC%95%E6%93%8E\" target=\"_blank\"  rel=\"nofollow\" >\u6838\u5fc3\u5f15\u64ce<\/a>\n<ul>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#agent-%E5%AF%B9%E8%AF%9D%E5%BC%95%E6%93%8E\" target=\"_blank\"  rel=\"nofollow\" >Agent \u5bf9\u8bdd\u5f15\u64ce<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E4%B8%8A%E4%B8%8B%E6%96%87%E7%AE%A1%E7%90%86%E4%B8%8E%E5%8E%8B%E7%BC%A9\" target=\"_blank\"  rel=\"nofollow\" >\u4e0a\u4e0b\u6587\u7ba1\u7406\u4e0e\u538b\u7f29<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%B7%A5%E5%85%B7%E8%B0%83%E7%94%A8%E7%B3%BB%E7%BB%9F\" target=\"_blank\"  rel=\"nofollow\" >\u5de5\u5177\u8c03\u7528\u7cfb\u7edf<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%9F%A5%E8%AF%86%E5%BA%93-rag\" target=\"_blank\"  rel=\"nofollow\" >\u77e5\u8bc6\u5e93 (RAG)<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#skills-%E6%8A%80%E8%83%BD%E6%A1%86%E6%9E%B6\" target=\"_blank\"  rel=\"nofollow\" >Skills \u6280\u80fd\u6846\u67b6<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#bot-%E7%BD%91%E5%85%B3\" target=\"_blank\"  rel=\"nofollow\" >Bot \u7f51\u5173<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%8A%80%E6%9C%AF%E6%A0%88\" target=\"_blank\"  rel=\"nofollow\" >\u6280\u672f\u6808<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B\" target=\"_blank\"  rel=\"nofollow\" >\u5feb\u901f\u5f00\u59cb<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84\" target=\"_blank\"  rel=\"nofollow\" >\u9879\u76ee\u7ed3\u6784<\/a><\/li>\n<li><a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E8%AE%B8%E5%8F%AF%E8%AF%81\" target=\"_blank\"  rel=\"nofollow\" >\u8bb8\u53ef\u8bc1<\/a><\/li>\n<\/ul>\n<hr \/>\n<h2><a id=\"user-content-\u7cfb\u7edf\u6982\u89c8\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%B3%BB%E7%BB%9F%E6%A6%82%E8%A7%88\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u7cfb\u7edf\u6982\u89c8<\/h2>\n<p>GuaDa \u662f\u4e00\u4e2a\u529f\u80fd\u5b8c\u5907\u7684 AI \u5bf9\u8bdd\u548c\u5de5\u4f5c\u8f85\u52a9\u5e73\u53f0\uff0c\u96c6\u6210\u4e86<strong>\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/strong>\u3001\u00a0<strong>RAG \u77e5\u8bc6\u5e93<\/strong>\u3001<strong>MCP \u534f\u8bae<\/strong>\u00a0\u548c\u00a0<strong>Skills \u6280\u80fd\u6846\u67b6<\/strong>\uff0c\u652f\u6301\u591a\u79cd\u6a21\u578b\u63d0\u4f9b\u5546\uff0c\u53ef\u4f5c\u4e3a\u4f01\u4e1a\u5185\u90e8 AI \u4e2d\u53f0\u3001\u804a\u5929\u673a\u5668\u4eba\u540e\u7aef\u6216\u4e2a\u4eba\u667a\u80fd\u52a9\u7406\u4f7f\u7528\u3002<\/p>\n<p><strong>\u67b6\u6784\u7279\u70b9<\/strong>\uff1a<\/p>\n<ul>\n<li><strong>\u53cc\u5165\u53e3<\/strong>\uff1aREST + SSE API \u548c Bot Gateway \u662f\u4e24\u4e2a\u5bf9\u7b49\u5165\u53e3\uff0c\u5206\u522b\u670d\u52a1 Web\/\u684c\u9762\u7528\u6237\u548c\u5373\u65f6\u901a\u8baf\u5e73\u53f0\u7528\u6237\uff0c\u6700\u7ec8\u6c47\u805a\u5230\u540c\u4e00\u4e2a Agent \u5f15\u64ce<\/li>\n<li><strong>Agent \u4e2d\u5fc3\u5316<\/strong>\uff1a\u6240\u6709\u80fd\u529b\uff08\u77e5\u8bc6\u68c0\u7d22\u3001\u5de5\u5177\u6267\u884c\u3001\u6280\u80fd\u8c03\u7528\uff09\u7ecf\u7531 Agent \u5faa\u73af\u7edf\u4e00\u8c03\u5ea6<\/li>\n<li><strong>\u63d2\u62d4\u5f0f\u6269\u5c55<\/strong>\uff1a\u5de5\u5177\u3001\u6280\u80fd\u3001\u6a21\u578b\u9002\u914d\u5668\u5747\u91c7\u7528\u63a5\u53e3\u62bd\u8c61\uff0c\u652f\u6301\u70ed\u63d2\u62d4\uff08\u76ee\u524dskills\u652f\u6301\u70ed\u63d2\u62d4\uff0c\u5176\u4f59\u6b63\u5728\u5f00\u53d1\uff09<\/li>\n<li><strong>\u957f\u4e0a\u4e0b\u6587\u7ba1\u7406<\/strong>\uff1a\u4e24\u7ea7\u538b\u7f29\uff0c\u4f18\u5148\u88c1\u526a\u5de5\u5177\u7ed3\u679c\u518d\u8fdb\u884c\u8bed\u4e49\u538b\u7f29\uff0c\u538b\u7f29\u652f\u6301\u56de\u9000<\/li>\n<li><strong>\u5de5\u5177\u6309\u9700\u52a0\u8f7d<\/strong>\uff1a\u53c2\u8003SKILL\u6e10\u8fdb\u5f0f\u62ab\u9732\uff0c\u5de5\u5177\u4e5f\u652f\u6301\u6298\u53e0\u61d2\u52a0\u8f7d\uff0cAI\u6309\u9700\u6fc0\u6d3b\u5de5\u5177\u96c6\uff0c\u83b7\u53d6\u5de5\u5177\u8be6\u7ec6\u8bf4\u660e\uff0c\u8282\u7ea6Tokens<\/li>\n<li><strong>\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/strong>\uff1aElectron \u7269\u5c3d\u5176\u7528\uff0c\u4f7f\u7528Electron\u5185\u5d4c Chromium \u6d4f\u89c8\u5668\u5f15\u64ce\uff0cAgent \u53ef\u76f4\u63a5\u64cd\u63a7\u6d4f\u89c8\u5668\u9875\u9762\uff0c\u5b9e\u73b0\u9875\u9762\u4ea4\u4e92\u3001\u6570\u636e\u91c7\u96c6\u7b49\u64cd\u4f5c\uff0c\u6253\u7834\u4f20\u7edf API \u7684\u8fb9\u754c\u9650\u5236<\/li>\n<li><strong>\u77e5\u8bc6\u5e93\u591a\u8f6e\u95ee\u7b54<\/strong>\uff1aAgent\u81ea\u4e3b\u51b3\u5b9a\u5982\u4f55\u641c\u7d22\u77e5\u8bc6\u5e93\u3001\u641c\u7d22\u591a\u5c11\u8f6e\u6b21\uff0c\u800c\u4e0d\u662f\u7cfb\u7edf\u9884\u5148\u6392\u5e8f\uff0c\u51c6\u786e\u5ea6\u66f4\u9ad8<\/li>\n<\/ul>\n<h3><a id=\"user-content-\u4ea7\u54c1\u622a\u56fe\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E4%BA%A7%E5%93%81%E6%88%AA%E5%9B%BE\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u4ea7\u54c1\u622a\u56fe<\/h3>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/2ced8c66dd4147826933d2491d0bb437.png\" alt=\"\u4ea7\u54c1\u622a\u56fe1\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/b5d6245cad6556dbd0ef33abe133d4be.png\" alt=\"\u4ea7\u54c1\u622a\u56fe2\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/2cfd06a318988e25d91b35ea5f77af15.png\" alt=\"\u4ea7\u54c1\u622a\u56fe3\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/6979a83d312d024e46fad6fad452954c.png\" alt=\"\u4ea7\u54c1\u622a\u56fe4\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/3c4d8fd80c5d3f966038c02fa566d24f.png\" alt=\"\u4ea7\u54c1\u622a\u56fe5\" \/><\/p>\n<hr \/>\n<h2><a id=\"user-content-\u6574\u4f53\u67b6\u6784\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6574\u4f53\u67b6\u6784<\/h2>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/8fdf6643502a359a424607b307d3761c.png\" alt=\"\u7cfb\u7edf\u67b6\u6784\" \/><\/p>\n<h3><a id=\"user-content-\u67b6\u6784\u5c42\u6b21\u4ecb\u7ecd\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%9E%B6%E6%9E%84%E5%B1%82%E6%AC%A1%E4%BB%8B%E7%BB%8D\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u67b6\u6784\u5c42\u6b21\u4ecb\u7ecd<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u5c42\u7ea7<\/th>\n<th>\u804c\u8d23<\/th>\n<th>\u6838\u5fc3\u7ec4\u4ef6<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u524d\u7aef\u5165\u53e3<\/strong><\/td>\n<td>\u7528\u6237\u4ea4\u4e92\u5c42,\u63d0\u4f9b\u4e09\u79cd\u8bbf\u95ee\u65b9\u5f0f:Web \u5e94\u7528\u3001Electron \u684c\u9762\u5e94\u7528\u3001IM \u5e73\u53f0\u5ba2\u6237\u7aef<\/td>\n<td>Vue 3 Web \u7aef\u3001Electron \u684c\u9762\u5e94\u7528\u3001QQ\/\u98de\u4e66\/\u4f01\u4e1a\u5fae\u4fe1\u7b49 IM \u5e73\u53f0<\/td>\n<\/tr>\n<tr>\n<td><strong>\u5165\u53e3\u5c42<\/strong><\/td>\n<td>\u8bf7\u6c42\u5904\u7406\u4e0e\u8def\u7531\u5206\u53d1,\u5c06\u4e0d\u540c\u6765\u6e90\u7684\u8bf7\u6c42\u7edf\u4e00\u8f6c\u6362\u4e3a\u5185\u90e8\u534f\u8bae<\/td>\n<td>REST + SSE API(\u9762\u5411 Web\/Electron)\u3001Bot Gateway(\u9762\u5411 IM \u5e73\u53f0)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u6838\u5fc3\u670d\u52a1\u5c42<\/strong><\/td>\n<td>\u4e1a\u52a1\u903b\u8f91\u4e2d\u67a2,\u7531 Agent Engine \u7edf\u4e00\u8c03\u5ea6\u5bf9\u8bdd\u3001\u77e5\u8bc6\u68c0\u7d22\u3001\u5de5\u5177\u8c03\u7528\u7b49\u80fd\u529b<\/td>\n<td>Agent Engine\u3001\u4e0a\u4e0b\u6587\u538b\u7f29\u3001\u77e5\u8bc6\u5e93 RAG\u3001\u5de5\u5177\u4e0e MCP\u3001Skills \u6846\u67b6\u3001LLM \u9002\u914d\u5668<\/td>\n<\/tr>\n<tr>\n<td><strong>\u6570\u636e\u5c42<\/strong><\/td>\n<td>\u6301\u4e45\u5316\u5b58\u50a8\u57fa\u7840\u8bbe\u65bd,\u7ba1\u7406\u5173\u7cfb\u578b\u6570\u636e\u3001\u5411\u91cf\u7d22\u5f15\u548c\u6587\u4ef6\u8d44\u6e90<\/td>\n<td>SQLite(Prisma)\u3001sqlite-vec + FTS5\u3001\u6587\u4ef6\u7cfb\u7edf\u5b58\u50a8<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2><a id=\"user-content-\u6838\u5fc3\u5f15\u64ce\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%A0%B8%E5%BF%83%E5%BC%95%E6%93%8E\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6838\u5fc3\u5f15\u64ce<\/h2>\n<h3><a id=\"user-content-agent-\u5bf9\u8bdd\u5f15\u64ce\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#agent-%E5%AF%B9%E8%AF%9D%E5%BC%95%E6%93%8E\" target=\"_blank\"  rel=\"nofollow\" ><\/a>Agent \u5bf9\u8bdd\u5f15\u64ce<\/h3>\n<p>GuaDa \u7684\u6838\u5fc3\u662f\u4e00\u4e2a\u5b9e\u73b0\u4e86\u00a0<strong>ReAct (Reasoning + Acting) \u6a21\u5f0f<\/strong>\u00a0\u7684\u591a\u8f6e\u81ea\u6cbb\u5faa\u73af\u5f15\u64ce\uff1a<\/p>\n<p><strong>\u5173\u952e\u8bbe\u8ba1<\/strong>\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u673a\u5236<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u4f1a\u8bdd\u9501 (Session Lock)<\/strong><\/td>\n<td>\u57fa\u4e8e\u5185\u5b58 Map \u7684\u6392\u4ed6\u9501\uff0c\u540c\u4e00\u4f1a\u8bdd\u540c\u65f6\u4ec5\u5904\u7406\u4e00\u4e2a\u8bf7\u6c42\uff0c\u9632\u6b62\u5e76\u53d1\u51b2\u7a81<\/td>\n<\/tr>\n<tr>\n<td><strong>\u6d41\u5f0f\u4f20\u8f93 (SSE)<\/strong><\/td>\n<td>\u5f02\u6b65\u751f\u6210\u5668\u9010\u5757\u4ea7\u51fa\u4e8b\u4ef6\uff0c\u524d\u7aef\u5b9e\u65f6\u6e32\u67d3\u6587\u672c\u3001\u601d\u7ef4\u94fe\u3001\u5de5\u5177\u8c03\u7528\u8fdb\u5ea6<\/td>\n<\/tr>\n<tr>\n<td><strong>ReAct \u5faa\u73af<\/strong><\/td>\n<td>LLM \u63a8\u7406 \u2192 \u5de5\u5177\u8c03\u7528 \u2192 \u7ed3\u679c\u6ce8\u5165 \u2192 \u518d\u5ea6\u63a8\u7406<\/td>\n<\/tr>\n<tr>\n<td><strong>\u4e2d\u65ad\u5904\u7406<\/strong><\/td>\n<td><code>AbortSignal<\/code>\u00a0\u4f20\u9012\u81f3 LLM \u8bf7\u6c42\u5c42\uff0c\u5ba2\u6237\u7aef\u65ad\u5f00\u65f6\u81ea\u52a8\u4e2d\u6b62\uff0c\u8282\u7701 Token \u6210\u672c<\/td>\n<\/tr>\n<tr>\n<td><strong>\u518d\u751f\u6a21\u5f0f<\/strong><\/td>\n<td>\u652f\u6301\u00a0<code>overwrite<\/code>\uff08\u8986\u76d6\uff09\u548c\u00a0<code>multi_version<\/code>\uff08\u591a\u7248\u672c\u5e76\u5b58\uff09\u4e24\u79cd\u6d88\u606f\u91cd\u751f\u7b56\u7565<\/td>\n<\/tr>\n<tr>\n<td><strong>\u601d\u8003\u8ffd\u8e2a<\/strong><\/td>\n<td>\u8bb0\u5f55\u63a8\u7406\u5f00\u59cb\/\u7ed3\u675f\u65f6\u95f4\u6233\uff0c\u8ba1\u7b97\u601d\u7ef4\u94fe\u8017\u65f6\uff0c\u5b58\u50a8\u4e8e\u6d88\u606f\u5143\u6570\u636e\u4e2d<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3><a id=\"user-content-\u4e0a\u4e0b\u6587\u7ba1\u7406\u4e0e\u538b\u7f29\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E4%B8%8A%E4%B8%8B%E6%96%87%E7%AE%A1%E7%90%86%E4%B8%8E%E5%8E%8B%E7%BC%A9\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u4e0a\u4e0b\u6587\u7ba1\u7406\u4e0e\u538b\u7f29<\/h3>\n<p>\u7cfb\u7edf\u91c7\u7528\u00a0<strong>\u4e24\u7ea7\u538b\u7f29\u7b56\u7565<\/strong>\u00a0\u7ba1\u7406\u957f\u5bf9\u8bdd\u7684\u4e0a\u4e0b\u6587\u7a97\u53e3\uff0c\u5728 Token \u9650\u5236\u4e0e\u4fe1\u606f\u4fdd\u771f\u4e4b\u95f4\u53d6\u5f97\u5e73\u8861\u3002<\/p>\n<h4><a id=\"user-content-\u67b6\u6784\u5c42\u6b21\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%9E%B6%E6%9E%84%E5%B1%82%E6%AC%A1\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u67b6\u6784\u5c42\u6b21<\/h4>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/e7235a8f8405d466e3f9f92aad9d2e92.png\" alt=\"Agent \u67b6\u6784\" \/><\/p>\n<p><strong>\u6838\u5fc3\u7279\u6027<\/strong>\uff1a<\/p>\n<ul>\n<li><strong>Token \u8ba1\u6570<\/strong>\uff1a\u4f7f\u7528\u00a0<code>@huggingface\/tokenizers<\/code>\u00a0\u8fdb\u884c\u7cbe\u51c6 Token \u8ba1\u6570\uff0c\u907f\u514d\u5b57\u7b26\u9884\u4f30\u7684\u4e0d\u51c6\u786e\u6027<\/li>\n<li><strong>\u68c0\u67e5\u70b9 (Checkpoint)<\/strong>\uff1a\u6bcf\u6b21\u538b\u7f29\u6301\u4e45\u5316\u6e38\u6807\u5230\u00a0<code>SessionContextState<\/code>\u00a0\u8868\uff0c\u91cd\u542f\/\u4e2d\u65ad\u540e\u4ece\u68c0\u67e5\u70b9\u6062\u590d<\/li>\n<li><strong>\u4fdd\u62a4\u673a\u5236<\/strong>\uff1a\u6700\u8fd1 5 \u6761\u6d88\u606f\u5f3a\u5236\u4fdd\u7559\u4e0d\u53d7\u538b\u7f29\u5f71\u54cd\uff0c\u6700\u65b0 3 \u6761\u5de5\u5177\u7ed3\u679c\u514d\u4e8e\u88c1\u526a<\/li>\n<li><strong>\u4e13\u7528\u538b\u7f29\u6a21\u578b<\/strong>\uff1a\u652f\u6301\u914d\u7f6e\u72ec\u7acb\u6a21\u578b\u6267\u884c\u538b\u7f29\uff0c\u964d\u4f4e\u6458\u8981\u751f\u6210\u6210\u672c<\/li>\n<\/ul>\n<p><strong>\u4e09\u79cd\u538b\u7f29\u6a21\u5f0f<\/strong>\uff1a<\/p>\n<p>\u7cfb\u7edf\u5b9a\u4e49\u4e86\u4e09\u79cd\u6458\u8981\u751f\u6210\u7b56\u7565\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u6a21\u5f0f<\/th>\n<th>\u679a\u4e3e\u503c<\/th>\n<th>\u884c\u4e3a<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u4e22\u5f03<\/strong><\/td>\n<td><code>disabled<\/code><\/td>\n<td>\u76f4\u63a5\u4e22\u5f03\u8d85\u51fa\u76ee\u6807\u7684\u65e7\u6d88\u606f\uff0c\u4ec5\u4fdd\u7559\u6700\u65b0\u7684 N \u6761\u3002\u6700\u5feb\u3001\u96f6 Token \u6210\u672c\uff0c\u4f46\u4e0d\u4fdd\u7559\u5386\u53f2\u8bed\u4e49<\/td>\n<\/tr>\n<tr>\n<td><strong>\u5feb\u901f\u538b\u7f29<\/strong><\/td>\n<td><code>fast<\/code><\/td>\n<td>\u5355\u6b21 LLM \u8c03\u7528\u751f\u6210\u6458\u8981\u3002\u5c06\u5f85\u538b\u7f29\u6d88\u606f\u5e8f\u5217\u5316\u4e3a JSON \u683c\u5f0f\u8f93\u5165\u6a21\u578b\uff0c\u4e00\u6b21\u6027\u4ea7\u51fa\u603b\u7ed3<\/td>\n<\/tr>\n<tr>\n<td><strong>\u8fed\u4ee3\u538b\u7f29<\/strong><\/td>\n<td><code>iterative<\/code><\/td>\n<td>Agent \u81ea\u68c0\u4f18\u5316\u5faa\u73af\uff08\u6700\u591a 3 \u8f6e\uff09\u3002\u6a21\u578b\u901a\u8fc7\u00a0<code>write_summary<\/code>\u00a0\u63d0\u4ea4\u8349\u7a3f\uff0c\u81ea\u6211\u5ba1\u67e5\u540e\u8c03\u7528\u00a0<code>confirm_submit<\/code>\u00a0\u786e\u8ba4\u6700\u7ec8\u7248\u672c\uff0c\u8d28\u91cf\u6700\u9ad8\u4f46\u8017\u65f6\u8f83\u957f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u538b\u7f29\u6a21\u5f0f\u53ef\u901a\u8fc7\u89d2\u8272\u7ea7\u00a0<code>summaryMode<\/code>\u00a0\u6216\u5168\u5c40\u00a0<code>enableSummary<\/code>\u00a0\u914d\u7f6e\u9879\u5207\u6362\uff0c\u9ed8\u8ba4\u4f7f\u7528\u00a0<code>iterative<\/code>\uff1b\u82e5\u8fed\u4ee3\u672a\u4ea7\u51fa\u7ed3\u679c\u5219\u81ea\u52a8\u56de\u9000\u5230\u00a0<code>fast<\/code>\u3002<\/p>\n<hr \/>\n<h3><a id=\"user-content-\u5de5\u5177\u8c03\u7528\u7cfb\u7edf\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%B7%A5%E5%85%B7%E8%B0%83%E7%94%A8%E7%B3%BB%E7%BB%9F\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u5de5\u5177\u8c03\u7528\u7cfb\u7edf<\/h3>\n<p>\u5de5\u5177\u7cfb\u7edf\u91c7\u7528\u00a0<strong>\u547d\u540d\u7a7a\u95f4\u9694\u79bb + Provider \u63d2\u4ef6<\/strong>\u00a0\u67b6\u6784\uff0c\u652f\u6301\u5185\u7f6e\u5de5\u5177\u548c\u5916\u90e8\u52a8\u6001\u5de5\u5177\u7684\u6df7\u5408\u7f16\u6392\u3002<\/p>\n<h4><a id=\"user-content-\u5f53\u524d\u5185\u7f6e\u7684-provider\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%BD%93%E5%89%8D%E5%86%85%E7%BD%AE%E7%9A%84-provider\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u5f53\u524d\u5185\u7f6e\u7684 Provider<\/h4>\n<table>\n<thead>\n<tr>\n<th>\u547d\u540d\u7a7a\u95f4<\/th>\n<th>Provider<\/th>\n<th>\u529f\u80fd<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>knowledge_base<\/code><\/td>\n<td>KnowledgeBaseToolProvider<\/td>\n<td>\u77e5\u8bc6\u5e93\u8bed\u4e49\u641c\u7d22\u3001\u6587\u4ef6\u5217\u8868\u3001\u5206\u5757\u67e5\u770b<\/td>\n<\/tr>\n<tr>\n<td><code>memory<\/code><\/td>\n<td>MemoryToolProvider<\/td>\n<td>\u4f1a\u8bdd\u8bb0\u5fc6\u8bfb\u5199<\/td>\n<\/tr>\n<tr>\n<td><code>time<\/code><\/td>\n<td>TimeToolProvider<\/td>\n<td>\u65f6\u95f4\u65e5\u671f\u67e5\u8be2<\/td>\n<\/tr>\n<tr>\n<td><code>shell<\/code><\/td>\n<td>ShellToolProvider<\/td>\n<td>\u7cfb\u7edf\u547d\u4ee4\u6267\u884c<\/td>\n<\/tr>\n<tr>\n<td><code>image_recognition<\/code><\/td>\n<td>ImageRecognitionToolProvider<\/td>\n<td>\u56fe\u7247\u5185\u5bb9\u8bc6\u522b<\/td>\n<\/tr>\n<tr>\n<td><code>mcp<\/code><\/td>\n<td>MCPToolProvider<\/td>\n<td>MCP \u670d\u52a1\u5668\u8fdc\u7a0b\u5de5\u5177<\/td>\n<\/tr>\n<tr>\n<td><code>skill<\/code><\/td>\n<td>SkillToolBridgeService<\/td>\n<td>Skills \u6280\u80fd\u8c03\u7528\u4e0e\u7ba1\u7406<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2><a id=\"user-content-\u77e5\u8bc6\u5e93-rag\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%9F%A5%E8%AF%86%E5%BA%93-rag\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u77e5\u8bc6\u5e93 (RAG)<\/h2>\n<p>\u77e5\u8bc6\u5e93\u6a21\u5757\u5b9e\u73b0\u4e86\u5b8c\u6574\u7684\u00a0<strong>\u68c0\u7d22\u589e\u5f3a\u751f\u6210 (RAG)<\/strong>\u00a0\u6d41\u7a0b\uff0c\u652f\u6301 Agent \u81ea\u52a9\u591a\u8f6e\u641c\u7d22\u4e0e\u6587\u6863\u5199\u5165\u3002\u2192\u00a0<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\/blob\/master\/docs\/knowledge-base.md\" target=\"_blank\"  rel=\"nofollow\" >\u8be6\u7ec6\u6587\u6863<\/a><\/p>\n<h3><a id=\"user-content-\u6838\u5fc3\u4eae\u70b9\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%A0%B8%E5%BF%83%E4%BA%AE%E7%82%B9\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6838\u5fc3\u4eae\u70b9<\/h3>\n<p><strong>Agent \u81ea\u52a9\u77e5\u8bc6\u5e93\u7ba1\u7406<\/strong>\u00a0\u2014 \u8fd9\u662f\u672c\u7cfb\u7edf\u533a\u522b\u4e8e\u5e38\u89c4 RAG \u7684\u5173\u952e\u80fd\u529b\uff1a<\/p>\n<ul>\n<li><strong>\u81ea\u52a9\u591a\u8f6e\u641c\u7d22<\/strong>\uff1aAgent \u53ef\u5728\u4e00\u6b21\u56de\u7b54\u4e2d\u591a\u6b21\u641c\u7d22\u77e5\u8bc6\u5e93\uff0c\u4ece\"\u5148\u641c\u518d\u67e5\u5206\u5757\"\u5230\"\u6309\u6587\u4ef6\u540d\u8fc7\u6ee4\"\uff0c\u7ec4\u5408\u591a\u79cd\u7b56\u7565\u903c\u8fd1\u76ee\u6807\u4fe1\u606f\uff0c\u81ea\u4e3b\u51b3\u5b9a\u662f\u5426\u9700\u8981\u518d\u6b21\u641c\u7d22\u3001\u641c\u7d22\u54ea\u4e9b\u6587\u4ef6\u3001\u641c\u7d22\u54ea\u4e9b\u5206\u5757\u3002<\/li>\n<li><strong>\u81ea\u52a9\u5199\u5165<\/strong>\uff1aAgent \u8bfb\u53d6\u672c\u5730\u6587\u4ef6\u540e\u8c03\u7528\u00a0<code>add_document<\/code>\u00a0\u5c06\u5176\u89e3\u6790\u3001\u5206\u5757\u3001\u5411\u91cf\u5316\u5e76\u5b58\u5165\u77e5\u8bc6\u5e93\uff0c\u5168\u7a0b\u65e0\u9700\u7528\u6237\u624b\u52a8\u64cd\u4f5c<\/li>\n<\/ul>\n<h3><a id=\"user-content-\u6587\u6863\u5904\u7406\u7ba1\u7ebf\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%96%87%E6%A1%A3%E5%A4%84%E7%90%86%E7%AE%A1%E7%BA%BF\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6587\u6863\u5904\u7406\u7ba1\u7ebf<\/h3>\n<p>\u6587\u4ef6\u4e0a\u4f20\u540e\u4f9d\u6b21\u7ecf\u8fc7\u683c\u5f0f\u89e3\u6790\uff08PDF\/DOCX\/TXT \u7b49 40+ \u683c\u5f0f\uff0c\u591a\u7f16\u7801\u81ea\u52a8\u68c0\u6d4b\uff09\u3001\u57fa\u4e8e Token \u7684\u667a\u80fd\u5206\u5757\uff08\u53e5\u5b50\u8fb9\u754c\u5207\u5272 + \u53ef\u914d\u7f6e\u91cd\u53e0\uff09\u3001\u5411\u91cf\u5d4c\u5165\uff08\u517c\u5bb9 OpenAI Embeddings API \u7684\u4efb\u610f\u6a21\u578b\uff09\uff0c\u6700\u7ec8\u53cc\u5199\u81f3 sqlite-vec \u5411\u91cf\u5e93\u4e0e FTS5 \u5168\u6587\u7d22\u5f15\u3002\u540e\u53f0\u5f02\u6b65\u5904\u7406\u5168\u7a0b\u8ffd\u8e2a\u767e\u5206\u6bd4\u8fdb\u5ea6\uff0c\u542f\u52a8\u65f6\u81ea\u52a8\u6062\u590d\u4e2d\u65ad\u4efb\u52a1\u5e76\u6e05\u7406\u5b64\u513f\u6570\u636e\u3002<\/p>\n<h3><a id=\"user-content-\u6df7\u5408\u68c0\u7d22\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%B7%B7%E5%90%88%E6%A3%80%E7%B4%A2\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6df7\u5408\u68c0\u7d22<\/h3>\n<p>\u7cfb\u7edf\u878d\u5408\u00a0<strong>\u8bed\u4e49\u641c\u7d22<\/strong>\u00a0\u548c\u00a0<strong>\u5173\u952e\u8bcd\u641c\u7d22<\/strong>\uff0c\u52a0\u6743\u8ba1\u7b97\u6700\u7ec8\u5f97\u5206\uff1a<\/p>\n<div class=\"markdown-code-block\">\n<pre><code class=\"hljs hljs-\">\u6700\u7ec8\u5f97\u5206 = semanticWeight \u00d7 \u8bed\u4e49\u5206\u6570 + keywordWeight \u00d7 \u5173\u952e\u8bcd\u5206\u6570\r\n<\/code><\/pre>\n<div class=\"markdown-code-block-copy-btn\"><\/div>\n<\/div>\n<ul>\n<li>\u8bed\u4e49\u641c\u7d22\u57fa\u4e8e\u5411\u91cf\u4f59\u5f26\u76f8\u4f3c\u5ea6 (sqlite-vec)<\/li>\n<li>\u5173\u952e\u8bcd\u641c\u7d22\u57fa\u4e8e FTS5 \u5168\u6587\u68c0\u7d22 + jieba \u4e2d\u6587\u5206\u8bcd + BM25 \u91cd\u6392\u5e8f<\/li>\n<li>\u6743\u91cd\u53ef\u914d\u7f6e\uff0c\u652f\u6301\u6309\u6587\u4ef6\/\u6587\u6863 ID \u8fc7\u6ee4<\/li>\n<li>\u652f\u6301\u5206\u533a\u5b58\u50a8\uff0c\u6bcf\u4e2a\u77e5\u8bc6\u5e93\u4e00\u4e2a\u72ec\u7acb\u5411\u91cf\u8868<\/li>\n<\/ul>\n<h3><a id=\"user-content-\u6587\u4ef6\u6811\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%96%87%E4%BB%B6%E6%A0%91\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6587\u4ef6\u6811<\/h3>\n<p>\u77e5\u8bc6\u5e93\u652f\u6301\u5c42\u7ea7\u76ee\u5f55\u7ed3\u6784\uff0c\u652f\u6301\u521b\u5efa\u6587\u4ef6\u5939\u3001\u6279\u91cf\u4e0a\u4f20\u3001\u79fb\u52a8\u3001\u91cd\u547d\u540d\u3002<\/p>\n<hr \/>\n<h2><a id=\"user-content-skills-\u6280\u80fd\u6846\u67b6\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#skills-%E6%8A%80%E8%83%BD%E6%A1%86%E6%9E%B6\" target=\"_blank\"  rel=\"nofollow\" ><\/a>Skills \u6280\u80fd\u6846\u67b6<\/h2>\n<p>Skills \u6a21\u5757\u57fa\u4e8e\u00a0<strong>Anthropic Skills \u534f\u8bae<\/strong>\u00a0\u8bbe\u8ba1\uff0c\u4ee5\u6587\u4ef6\u7cfb\u7edf\u4e3a\u5b58\u50a8\uff0c\u652f\u6301\u70ed\u63d2\u62d4\u548c\u6e10\u8fdb\u5f0f\u52a0\u8f7d\u3002<\/p>\n<h3><a id=\"user-content-\u6838\u5fc3\u80fd\u529b\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E6%A0%B8%E5%BF%83%E8%83%BD%E5%8A%9B\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u6838\u5fc3\u80fd\u529b<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u7ec4\u4ef6<\/th>\n<th>\u529f\u80fd<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>SkillDiscoveryService<\/strong><\/td>\n<td>\u626b\u63cf skills \u76ee\u5f55\uff0c\u53d1\u73b0\u5e76\u6ce8\u518c\u6280\u80fd<\/td>\n<\/tr>\n<tr>\n<td><strong>SkillLoaderService<\/strong><\/td>\n<td>\u89e3\u6790 YAML frontmatter\uff0c\u52a0\u8f7d L1\/L2 \u5185\u5bb9<\/td>\n<\/tr>\n<tr>\n<td><strong>SkillRegistry<\/strong><\/td>\n<td>\u5185\u5b58\u4e2d\u7684\u6280\u80fd\u6ce8\u518c\u8868<\/td>\n<\/tr>\n<tr>\n<td><strong>SkillOrchestrator<\/strong><\/td>\n<td>\u6280\u80fd\u8c03\u5ea6\u3001\u5173\u952e\u8bcd\u5339\u914d\u3001\u5143\u6570\u636e\u6ce8\u5165<\/td>\n<\/tr>\n<tr>\n<td><strong>SkillToolBridgeService<\/strong><\/td>\n<td>\u5c06\u6280\u80fd\u6ce8\u518c\u4e3a\u00a0<code>skill__<\/code>\u00a0\u547d\u540d\u7a7a\u95f4\u5de5\u5177<\/td>\n<\/tr>\n<tr>\n<td><strong>SkillVersionManager<\/strong><\/td>\n<td>\u8bed\u4e49\u5316\u7248\u672c + SHA256 \u54c8\u5e0c\u53d8\u66f4\u68c0\u6d4b<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a id=\"user-content-\u4e0e-agent-\u7684\u96c6\u6210\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E4%B8%8E-agent-%E7%9A%84%E9%9B%86%E6%88%90\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u4e0e Agent \u7684\u96c6\u6210<\/h3>\n<ol>\n<li>\u542f\u52a8\u65f6\u626b\u63cf\u6280\u80fd\u76ee\u5f55 \u2192 \u6ce8\u5165 L1 \u5143\u6570\u636e\u5230 System Prompt<\/li>\n<li>Agent \u6839\u636e\u7528\u6237\u8bf7\u6c42\u5224\u65ad\u662f\u5426\u9700\u8981\u6fc0\u6d3b\u67d0\u6280\u80fd<\/li>\n<li>\u5f53\u9700\u8981\u65f6\uff0c\u8c03\u7528\u00a0<code>skill__call({skillName: \"xxx\"})<\/code>\u00a0\u83b7\u53d6 L2 \u6307\u4ee4<\/li>\n<li>\u6280\u80fd\u5185\u7684\u811a\u672c\u53ef\u901a\u8fc7\u6267\u884c\u5f15\u64ce\u8fd0\u884c\uff0c\u7ed3\u679c\u8fd4\u56de Agent \u7ee7\u7eed\u5904\u7406<\/li>\n<\/ol>\n<hr \/>\n<h2><a id=\"user-content-bot-\u7f51\u5173\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#bot-%E7%BD%91%E5%85%B3\" target=\"_blank\"  rel=\"nofollow\" ><\/a>Bot \u7f51\u5173<\/h2>\n<p>Bot \u7f51\u5173\u5c06 AI \u5bf9\u8bdd\u80fd\u529b\u6269\u5c55\u5230\u5373\u65f6\u901a\u8baf\u5e73\u53f0\uff0c\u901a\u8fc7\u7edf\u4e00\u7684\u9002\u914d\u63a5\u53e3\u5b9e\u73b0\u591a\u5e73\u53f0\u65e0\u7f1d\u63a5\u5165\u3002<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/replace\/4bca719c2d765f615cb2b45697cc838f.png\" alt=\"Bot \u67b6\u6784\" \/><\/p>\n<ul>\n<li><strong>\u7edf\u4e00\u9002\u914d\u63a5\u53e3 (<code>IBotPlatform<\/code>)<\/strong>\uff1a\u7b56\u7565\u6a21\u5f0f\u8bbe\u8ba1\uff0c\u65b0\u5e73\u53f0\u63a5\u5165\u53ea\u9700\u5b9e\u73b0\u63a5\u53e3<\/li>\n<li><strong>\u81ea\u52a8\u91cd\u8fde<\/strong>\uff1aWebSocket \u65ad\u8fde\u540e\u6307\u6570\u9000\u907f\u91cd\u8bd5<\/li>\n<li><strong>\u6d88\u606f\u5408\u5e76<\/strong>\uff1a1.5 \u79d2\u7a97\u53e3\u5185\u591a\u6761\u6d88\u606f\u5408\u5e76\u4e3a\u4e00\u6761\u5904\u7406<\/li>\n<li><strong>\u4f1a\u8bdd\u6620\u5c04<\/strong>\uff1a\u901a\u8fc7\u00a0<code>(platform, type, nativeId)<\/code>\u00a0\u4e09\u5143\u7ec4\u5efa\u7acb\u5916\u90e8\u7528\u6237\u5230\u5185\u90e8 Session \u7684\u6620\u5c04<\/li>\n<li><strong>\u751f\u547d\u5468\u671f\u7ba1\u7406<\/strong>\uff1a\u652f\u6301\u52a8\u6001\u542f\u52a8\u3001\u505c\u6b62\u3001\u91cd\u542f\u673a\u5668\u4eba\u5b9e\u4f8b<\/li>\n<\/ul>\n<hr \/>\n<h2><a id=\"user-content-\u5feb\u901f\u5f00\u59cb\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u5feb\u901f\u5f00\u59cb<\/h2>\n<h3><a id=\"user-content-\u73af\u5883\u8981\u6c42\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%8E%AF%E5%A2%83%E8%A6%81%E6%B1%82\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u73af\u5883\u8981\u6c42<\/h3>\n<ul>\n<li>Node.js \u2265 18.x \uff08\u63a8\u8350 20.x LTS\uff09<\/li>\n<li>npm \u2265 9.x<\/li>\n<\/ul>\n<h3><a id=\"user-content-\u542f\u52a8\u540e\u7aef\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%90%AF%E5%8A%A8%E5%90%8E%E7%AB%AF\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u542f\u52a8\u540e\u7aef<\/h3>\n<div class=\"markdown-code-block\">\n<pre><code class=\"hljs hljs-bash\"><span class=\"hljs-built_in\">cd<\/span> backend-ts\r\nnpm install              <span class=\"hljs-comment\"># \u81ea\u52a8\u6267\u884c prisma generate<\/span>\r\nnpm run db:seed:force    <span class=\"hljs-comment\"># \u521d\u59cb\u5316\u79cd\u5b50\u6570\u636e\uff08\u9ed8\u8ba4\u8d26\u6237 guada \/ guada\uff09<\/span>\r\nnpm run start:dev        <span class=\"hljs-comment\"># \u5f00\u53d1\u6a21\u5f0f\u542f\u52a8 \u2192 http:\/\/localhost:3000<\/span>\r\n<\/code><\/pre>\n<div class=\"markdown-code-block-copy-btn\"><\/div>\n<\/div>\n<h3><a id=\"user-content-\u542f\u52a8\u524d\u7aef\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%90%AF%E5%8A%A8%E5%89%8D%E7%AB%AF\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u542f\u52a8\u524d\u7aef<\/h3>\n<div class=\"markdown-code-block\">\n<pre><code class=\"hljs hljs-bash\"><span class=\"hljs-built_in\">cd<\/span> frontend\r\nnpm install\r\nnpm run dev              <span class=\"hljs-comment\"># \u5f00\u53d1\u6a21\u5f0f\u542f\u52a8 \u2192 http:\/\/localhost:5173<\/span>\r\n<\/code><\/pre>\n<div class=\"markdown-code-block-copy-btn\"><\/div>\n<\/div>\n<h3><a id=\"user-content-\u751f\u4ea7\u73af\u5883\u90e8\u7f72\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%83%A8%E7%BD%B2\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u751f\u4ea7\u73af\u5883\u90e8\u7f72<\/h3>\n<h4><a id=\"user-content-web-\u7248\u672c\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#web-%E7%89%88%E6%9C%AC\" target=\"_blank\"  rel=\"nofollow\" ><\/a>Web \u7248\u672c<\/h4>\n<p>\u8be6\u7ec6\u7684\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u6307\u5357\u8bf7\u67e5\u770b\uff1a<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\/blob\/master\/docs\/PRODUCTION_DEPLOYMENT.md\" target=\"_blank\"  rel=\"nofollow\" >\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u6587\u6863<\/a><\/p>\n<p>\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a<\/p>\n<ol>\n<li>\u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff08\u590d\u5236\u00a0<code>.env.example<\/code>\u00a0\u4e3a\u00a0<code>.env<\/code>\uff09<\/li>\n<li>\u6784\u5efa\u751f\u4ea7\u7248\u672c\uff08<code>npm run build<\/code>\uff09<\/li>\n<li>\u4f7f\u7528 PM2 \u8fdb\u7a0b\u5b88\u62a4<\/li>\n<li>\u914d\u7f6e Nginx \u53cd\u5411\u4ee3\u7406<\/li>\n<li>\u8bbe\u7f6e HTTPS \u8bc1\u4e66<\/li>\n<\/ol>\n<h4><a id=\"user-content-electron-\u7248\u672c\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#electron-%E7%89%88%E6%9C%AC\" target=\"_blank\"  rel=\"nofollow\" ><\/a>Electron \u7248\u672c<\/h4>\n<p>\u8be6\u7ec6\u7684 Electron \u90e8\u7f72\u6307\u5357\u8bf7\u67e5\u770b\uff1a<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\/blob\/master\/docs\/ELECTRON_DEPLOYMENT.md\" target=\"_blank\"  rel=\"nofollow\" >Electron \u90e8\u7f72\u6587\u6863<\/a><\/p>\n<p>\u4e3b\u8981\u5185\u5bb9\u5305\u62ec\uff1a<\/p>\n<ol>\n<li>\u5f00\u53d1\u73af\u5883\u642d\u5efa<\/li>\n<li>\u751f\u4ea7\u6784\u5efa\u4e0e\u6253\u5305<\/li>\n<li>\u6570\u636e\u6301\u4e45\u5316\u4e0e\u5907\u4efd<\/li>\n<li>\u6545\u969c\u6392\u67e5\u4e0e\u65e5\u5fd7\u67e5\u770b<\/li>\n<li>\u66f4\u65b0\u4e0e\u5347\u7ea7<\/li>\n<\/ol>\n<h3><a id=\"user-content-\u5e38\u89c1\u95ee\u9898\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u5e38\u89c1\u95ee\u9898<\/h3>\n<p>\u9047\u5230\u95ee\u9898\u8bf7\u67e5\u770b\uff1a<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\/blob\/master\/docs\/TROUBLESHOOTING.md\" target=\"_blank\"  rel=\"nofollow\" >\u6545\u969c\u6392\u67e5\u6307\u5357<\/a><\/p>\n<p>\u5e38\u89c1\u95ee\u9898\u5305\u62ec\uff1a<\/p>\n<ul>\n<li>\u6570\u636e\u5e93\u8868\u4e0d\u5b58\u5728<\/li>\n<li>Prisma Client \u672a\u751f\u6210<\/li>\n<li>\u7aef\u53e3\u51b2\u7a81<\/li>\n<li>\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u9519\u8bef<\/li>\n<li>\u6743\u9650\u95ee\u9898<\/li>\n<\/ul>\n<hr \/>\n<h2><a id=\"user-content-\u9879\u76ee\u7ed3\u6784\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u9879\u76ee\u7ed3\u6784<\/h2>\n<div class=\"markdown-code-block\">\n<pre><code class=\"hljs hljs-\">ai_chat\/\r\n\u251c\u2500\u2500 backend-ts\/                  # NestJS \u540e\u7aef\r\n\u2502   \u251c\u2500\u2500 prisma\/\r\n\u2502   \u2502   \u2514\u2500\u2500 schema.prisma        # \u6570\u636e\u5e93 Schema\r\n\u2502   \u251c\u2500\u2500 src\/\r\n\u2502   \u2502   \u251c\u2500\u2500 common\/              # \u57fa\u7840\u8bbe\u65bd\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 database\/        # Prisma + Repository \u5c42\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 vector-db\/       # \u5411\u91cf\u6570\u636e\u5e93\u62bd\u8c61 + sqlite-vec \u5b9e\u73b0\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 mcp\/             # MCP \u5ba2\u6237\u7aef\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 utils\/           # Tokenizer \u7b49\u5de5\u5177\r\n\u2502   \u2502   \u251c\u2500\u2500 modules\/\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 chat\/            # \u6838\u5fc3\u5bf9\u8bdd\u6a21\u5757\r\n\u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 agent.service.ts         # Agent \u5faa\u73af\u5f15\u64ce\r\n\u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 compression-engine.ts    # \u4e24\u7ea7\u538b\u7f29\u5f15\u64ce\r\n\u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 conversation-context.ts  # \u4e0a\u4e0b\u6587\u7ba1\u7406\u5668\r\n\u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 message-store.service.ts # \u6d88\u606f\u6301\u4e45\u5316\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 tools\/           # \u5de5\u5177\u8c03\u7528\u7cfb\u7edf\r\n\u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 providers\/   # \u5404\u5de5\u5177 Provider \u5b9e\u73b0\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 skills\/          # Skills \u6280\u80fd\u6846\u67b6\r\n\u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 core\/        # \u6838\u5fc3\u670d\u52a1 (\u53d1\u73b0\/\u52a0\u8f7d\/\u6ce8\u518c\/\u8c03\u5ea6)\r\n\u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 integration\/ # Skill-Tool \u6865\u63a5\r\n\u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 execution\/   # \u811a\u672c\u6267\u884c\u5f15\u64ce\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 knowledge-base\/  # \u77e5\u8bc6\u5e93\u6a21\u5757 (RAG)\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 llm-core\/        # LLM \u9002\u914d\u5c42\r\n\u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 adapters\/    # OpenAI \/ Gemini \u9002\u914d\u5668\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 bot-gateway\/     # \u591a\u5e73\u53f0\u673a\u5668\u4eba\u7f51\u5173\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 auth\/            # JWT \u8ba4\u8bc1\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 models\/          # \u6a21\u578b\u7ba1\u7406\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 settings\/        # \u7cfb\u7edf\u8bbe\u7f6e\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 users\/           # \u7528\u6237\u7ba1\u7406\r\n\u2502   \u2502   \u2514\u2500\u2500 main.ts              # \u5e94\u7528\u5165\u53e3\r\n\u2502   \u2514\u2500\u2500 skills\/                  # Skills \u6280\u80fd\u76ee\u5f55\r\n\u251c\u2500\u2500 frontend\/                    # Vue 3 \u524d\u7aef\r\n\u2502   \u251c\u2500\u2500 src\/\r\n\u2502   \u2502   \u251c\u2500\u2500 components\/\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 chat\/            # \u5bf9\u8bdd\u754c\u9762\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 knowledge-base\/  # \u77e5\u8bc6\u5e93\u7ba1\u7406\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 plugins\/         # \u5de5\u5177\/MCP\/Skills \u7ba1\u7406\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 bot\/             # \u673a\u5668\u4eba\u7ba1\u7406\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 setting\/         # \u7cfb\u7edf\u8bbe\u7f6e\r\n\u2502   \u2502   \u251c\u2500\u2500 composables\/         # \u7ec4\u5408\u5f0f\u51fd\u6570\r\n\u2502   \u2502   \u251c\u2500\u2500 stores\/              # Pinia \u72b6\u6001\u7ba1\u7406\r\n\u2502   \u2502   \u2514\u2500\u2500 services\/            # API \u670d\u52a1\u5c42\r\n\u2502   \u2514\u2500\u2500 package.json\r\n\u2514\u2500\u2500 LICENSE\r\n<\/code><\/pre>\n<div class=\"markdown-code-block-copy-btn\"><\/div>\n<\/div>\n<hr \/>\n<h2><a id=\"user-content-\u8bb8\u53ef\u8bc1\" class=\"anchor\" href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai#%E8%AE%B8%E5%8F%AF%E8%AF%81\" target=\"_blank\"  rel=\"nofollow\" ><\/a>\u8bb8\u53ef\u8bc1<\/h2>\n<p>\u672c\u9879\u76ee\u57fa\u4e8e\u00a0<a href=\"https:\/\/gitee.com\/zhendongdong\/guada_ai\/blob\/master\/LICENSE\" target=\"_blank\"  rel=\"nofollow\" >MIT License<\/a>\u00a0\u5f00\u6e90\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GuaDa \u2014 \u667a\u80fd AI \u5bf9\u8bdd\u5e73\u53f0 \u667a\u80fd AI \u5bf9\u8bdd\u7cfb\u7edf\uff0c\u652f\u6301 ReAct Agent\u3001\u591a\u6a21\u578b\u9002\u914d\u3001RAG \u77e5\u8bc6\u5e93\u68c0\u7d22\u3001MCP  &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[6],"tags":[],"class_list":["post-24","post","type-post","status-publish","format-standard","hentry","category-jotting-2"],"_links":{"self":[{"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=\/wp\/v2\/posts\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=24"}],"version-history":[{"count":2,"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=\/wp\/v2\/posts\/24\/revisions"}],"predecessor-version":[{"id":39,"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=\/wp\/v2\/posts\/24\/revisions\/39"}],"wp:attachment":[{"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sky.siyuanark.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}