{"id":278,"date":"2026-10-29T16:52:13","date_gmt":"2026-10-29T08:52:13","guid":{"rendered":"https:\/\/dfwce.cn\/?p=278"},"modified":"2026-11-01T21:31:30","modified_gmt":"2026-11-01T13:31:30","slug":"%e7%94%a8-astrbot-napcat-%e6%8a%8a%e5%a4%a7%e6%a8%a1%e5%9e%8b%e6%8e%a5%e5%85%a5-qq","status":"publish","type":"post","link":"https:\/\/dfwce.cn\/?p=278","title":{"rendered":"\u7528 AstrBot + NapCat \u628a\u5927\u6a21\u578b\u63a5\u5165 QQ"},"content":{"rendered":"<div class=\"qqb\">\n<div class=\"callout warn\"><strong>&#27880;&#24847;&#65306;&#19979;&#38754;&#36825;&#22871;&#19996;&#35199;&#19981;&#35201;&#29992;&#33258;&#24049;&#30340;&#20027;&#21495;&#36305;&#65292;&#26377;&#34987;&#23553;&#30340;&#39118;&#38505;&#12290;&#29992;&#23567;&#21495;&#12290;<\/strong><\/div>\n<hr class=\"sep\">\n<h2 id=\"s2\">1. &#39033;&#30446;&#20171;&#32461;<\/h2>\n<p>&#29616;&#22312;&#22823;&#27169;&#22411;&#30340; API &#24456;&#20415;&#23452;&#65292;&#25645;&#19968;&#20010;&#33021;&#19978; QQ &#30340;&#26426;&#22120;&#20154;&#25104;&#26412;&#19981;&#39640;&#65292;&#23601;&#24819;&#30528;&#33258;&#24049;&#20570;&#19968;&#20010;&#35797;&#35797;&#12290;<\/p>\n<p>&#25972;&#20307;&#26159;&#19977;&#23618;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>QQ &#23458;&#25143;&#31471;&#65288;&#25163;&#26426;&#65289;\n    &darr; &#25195;&#30721;&#30331;&#24405;\n&#21327;&#35758;&#31471;&#65288;NapCat \/ SnowLuma&#65289;   &larr; &#30331;&#24405; QQ&#65292;&#25226;&#21327;&#35758;&#32763;&#35793;&#25104; OneBot &#26631;&#20934;&#25509;&#21475;\n    &darr; WebSocket&#65288;OneBot v11&#65289;\nAstrBot                       &larr; &#25509;&#28040;&#24687;&#12289;&#35843;&#27169;&#22411;&#12289;&#31649;&#20154;&#26684;\n    &darr; HTTP\n&#22823;&#27169;&#22411; API<\/code><\/pre>\n<\/div>\n<p><strong>&#35828;&#20154;&#35805;<\/strong>&#65306;<\/p>\n<ul>\n<li><strong>&#21327;&#35758;&#31471;<\/strong>&#65306;&#35753;&#19968;&#20010;&#31243;&#24207;&#33021;&#20197; QQ &#21495;&#30340;&#36523;&#20221;&#30331;&#24405;&#65292;&#25910;&#21457;&#28040;&#24687;&#12290;<strong>&#27809;&#26377;&#23427;&#65292;AstrBot &#25343;&#19981;&#21040; QQ &#30340;&#28040;&#24687;&#12290;<\/strong><\/li>\n<li><strong>AstrBot<\/strong>&#65306;&#25343;&#21040;&#28040;&#24687;&#20043;&#21518;&#24178;&#20160;&#20040;&mdash;&mdash;&#35843;&#27169;&#22411;&#12289;&#21457;&#22238;&#22797;&#12290;<\/li>\n<li><strong>QQ &#23458;&#25143;&#31471;<\/strong>&#65306;&#29992;&#26469;&#36319;&#26426;&#22120;&#20154;&#32842;&#22825;&#12289;&#25195;&#30721;&#30331;&#24405;&#12290;<\/li>\n<\/ul>\n<p>&#21327;&#35758;&#31471;&#26377;&#20004;&#20010;&#36873;&#25321;&#65292;<strong>NapCat<\/strong> &#21644; <strong>SnowLuma<\/strong>&#65292;&#21151;&#33021;&#19968;&#26679;&#65292;&#36873;&#19968;&#20010;&#23601;&#34892;&#12290;<\/p>\n<hr class=\"sep\">\n<h2 id=\"s15\">2. AstrBot<\/h2>\n<p>AstrBot &#26159;&#19968;&#20010;&#25903;&#25345;&#25554;&#20214;&#12289;&#22810;&#24179;&#21488;&#30340;&#22823;&#27169;&#22411;&#26426;&#22120;&#20154;&#26694;&#26550;&#12290;<\/p>\n<ul>\n<li>GitHub&#65306;https:\/\/github.com\/AstrBotDevs\/AstrBot<\/li>\n<li>&#25991;&#26723;&#65306;https:\/\/astrbot.app\/<\/li>\n<\/ul>\n<h3>2.1 &#22522;&#30784;&#23433;&#35013;<\/h3>\n<p>Docker &#19968;&#26465;&#21629;&#20196;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker run -d --name astrbot \\\n  --network host \\\n  -v \/www\/wwwroot\/astrbot\/data:\/AstrBot\/data \\\n  soulter\/astrbot:latest<\/code><\/pre>\n<\/div>\n<p><code>--network host<\/code> &#26159;&#20026;&#20102;&#30465;&#25481;&#31471;&#21475;&#26144;&#23556;&#30340;&#40635;&#28902;&#65292;&#21518;&#38754;&#21327;&#35758;&#31471;&#36830;&#23427;&#30340;&#26102;&#20505;&#30452;&#25509;&#29992; <code>127.0.0.1<\/code>&#12290;<\/p>\n<p>&#36215;&#26469;&#20043;&#21518;&#27983;&#35272;&#22120;&#25171;&#24320; <code>http:\/\/&#26381;&#21153;&#22120;IP:6185<\/code>&#12290;<\/p>\n\n<div class=\"callout warn\"><strong>2026-10-31 &#20462;&#27491;&#65306;<\/strong>&#19978;&#38754;&#36825;&#21477;&#21482;&#22312;&#20320;&#25226; 6185 &#25918;&#34892;&#21040;&#20844;&#32593;&#30340;&#26465;&#20214;&#19979;&#25165;&#25104;&#31435;&#12290;&#21518;&#26469;&#25105;&#25226;&#36825;&#20010;&#20570;&#27861;&#25913;&#20102;&mdash;&mdash;<strong>6185 &#21644; 6099 &#37117;&#19981;&#35201;&#23545;&#20844;&#32593;&#24320;<\/strong>&#65292;&#36208; SSH &#38567;&#36947;&#36827;&#26469;&#65306;<code>ssh -N -L 16185:127.0.0.1:6185 &#29992;&#25143;&#21517;@&#26381;&#21153;&#22120;IP<\/code>&#65292;&#28982;&#21518;&#24320; <code>127.0.0.1:16185<\/code>&#12290;&#29702;&#30001;&#22312;&#12298;&#25226;&#22823;&#32933;&#40060;&#25644;&#19978;&#33150;&#35759;&#20113;&#12299;&#31532;&#19977;&#33410;&#12290;<\/div>\n<p><strong>&#40664;&#35748;&#36134;&#21495;&#23494;&#30721;<\/strong>&#22312;&#23481;&#22120;&#26085;&#24535;&#37324;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker logs astrbot 2&gt;&amp;1 | grep -i password<\/code><\/pre>\n<\/div>\n<p>&#30331;&#36827;&#21435;&#31532;&#19968;&#20214;&#20107;&#65306;<strong>&#25913;&#23494;&#30721;<\/strong>&#12290;<\/p>\n<h3>2.2 &#37197;&#32622;&#27169;&#22411;<\/h3>\n<p>AstrBot &#37324;&#21483;&#12300;&#26381;&#21153;&#25552;&#20379;&#21830;&#12301;&#12290;&#36827;&#12300;&#37197;&#32622; &rarr; &#26381;&#21153;&#25552;&#20379;&#21830; &rarr; &#26032;&#22686;&#12301;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>&#31867;&#22411;      OpenAI &#20860;&#23481;\nAPI Base  https:\/\/api.deepseek.com\/v1\nAPI Key   &#20320;&#30340; key\n&#27169;&#22411;      deepseek-chat<\/code><\/pre>\n<\/div>\n<p>&#20445;&#23384;&#20043;&#21518;&#22312;&#12300;&#40664;&#35748;&#27169;&#22411;&#12301;&#37324;&#36873;&#20013;&#23427;&#12290;<\/p>\n<h3>2.3 &#37197;&#32622; QQ &#24179;&#21488;<\/h3>\n<p>&#12300;&#37197;&#32622; &rarr; &#24179;&#21488; &rarr; &#26032;&#22686;&#12301;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>&#31867;&#22411;            aiocqhttp\n&#21517;&#31216;            napcat\n&#21453;&#21521; WS &#20027;&#26426;     0.0.0.0\n&#21453;&#21521; WS &#31471;&#21475;     6199\nToken           &#65288;&#30041;&#31354;&#65292;&#25110;&#32773;&#36319;&#21327;&#35758;&#31471;&#22635;&#19968;&#33268;&#65289;<\/code><\/pre>\n<\/div>\n<p><strong>&#36825;&#37324;&#26377;&#20010;&#22353;<\/strong>&#65306;<code>6199<\/code> &#26159; AstrBot &#30340; <strong>OneBot &#21453;&#21521; WS &#31471;&#21475;<\/strong>&#65292;&#19981;&#26159; <code>6185<\/code>&#12290;<\/p>\n<p><code>6185<\/code> &#26159;&#32473;&#20154;&#30475;&#30340; WebUI&#65292;<code>6199<\/code> &#25165;&#26159;&#32473;&#21327;&#35758;&#31471;&#36830;&#30340;&#12290;<\/p>\n<p>&#20445;&#23384;&#20043;&#21518;&#37325;&#21551;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker restart astrbot<\/code><\/pre>\n<\/div>\n<hr class=\"sep\">\n<h2 id=\"s43\">3. NapCatQQ<\/h2>\n<p>NapCat &#26159;&#22522;&#20110; TypeScript &#30340; QQ &#21327;&#35758;&#31471;&#65292;&#25226; QQ &#21327;&#35758;&#36716;&#25104; OneBot &#26631;&#20934;&#25509;&#21475;&#12290;<\/p>\n<ul>\n<li>GitHub&#65306;https:\/\/github.com\/NapNeko\/NapCatQQ<\/li>\n<li>&#25991;&#26723;&#65306;https:\/\/napneko.github.io\/<\/li>\n<\/ul>\n<h3>3.1 &#23433;&#35013;<\/h3>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker run -d --name napcat \\\n  --network host \\\n  -e NAPCAT_GID=0 \\\n  -v \/www\/wwwroot\/napcat\/config:\/app\/napcat\/config \\\n  -v \/www\/wwwroot\/napcat\/qq:\/app\/.config\/QQ \\\n  mlikiowa\/napcat-docker:latest<\/code><\/pre>\n<\/div>\n<p><code>-e NAPCAT_GID=0<\/code> &#37027;&#21477;&#30340;&#24847;&#24605;&#26159;&#35753;&#23481;&#22120;&#37324;&#36305;&#20986;&#26469;&#30340;&#25991;&#20214;&#23646;&#20027;&#36319;&#30528; root &#36208;&#12290;&#20294;&#23487;&#20027;&#26426;&#37027;&#20004;&#20010;&#25346;&#36733;&#30446;&#24405;&#30340;&#23646;&#20027;&#20063;&#24471;&#23545;&#24471;&#19978;&#65292;&#21542;&#21017; NapCat &#35835;&#19981;&#21040;&#30331;&#24405;&#24577;&#65292;&#34920;&#29616;&#26159;&#12300;&#27599;&#27425;&#37325;&#21551;&#37117;&#35753;&#20320;&#37325;&#26032;&#25195;&#30721;&#12301;&mdash;&mdash;&#21313;&#20010;&#37324;&#26377;&#20061;&#20010;&#20250;&#24403;&#25104;&#39118;&#25511;&#65292;&#20854;&#23454;&#26159;&#26435;&#38480;&#12290;<\/p>\n\n<p><strong>&#20004;&#20010;&#25346;&#36733;&#28857;&#24456;&#20851;&#38190;<\/strong>&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>config  &#21327;&#35758;&#37197;&#32622;&#65288;OneBot &#36830;&#25509;&#20449;&#24687;&#65289;\nqq      &#30331;&#24405;&#24577;&#65288;&#19981;&#25346;&#30340;&#35805;&#23481;&#22120;&#37325;&#21551;&#23601;&#35201;&#37325;&#26032;&#25195;&#30721;&#65289;<\/code><\/pre>\n<\/div>\n<h3>3.2 &#25195;&#30721;&#30331;&#24405;<\/h3>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker logs napcat 2&gt;&amp;1 | tail -40<\/code><\/pre>\n<\/div>\n<p>&#26085;&#24535;&#37324;&#20250;&#25171;&#21360;&#19968;&#20010;&#23383;&#31526;&#30011;&#30340;&#20108;&#32500;&#30721;&#65292;&#25110;&#32773;&#21578;&#35785;&#20320;&#20108;&#32500;&#30721;&#22270;&#29255;&#23384;&#22312;&#21738;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>&#20108;&#32500;&#30721;&#24050;&#20445;&#23384;&#21040; \/app\/napcat\/cache\/qrcode.png<\/code><\/pre>\n<\/div>\n<p>&#25335;&#20986;&#26469;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker cp napcat:\/app\/napcat\/cache\/qrcode.png .\/qrcode.png<\/code><\/pre>\n<\/div>\n<p><strong>&#29992;&#25163;&#26426; QQ &#25195;&#65292;&#28982;&#21518;&#25163;&#26426;&#19978;&#28857;&#12300;&#30830;&#35748;&#30331;&#24405;&#12301;&#12290;<\/strong><\/p>\n<p>&#31532;&#19968;&#27425;&#30331;&#24405;&#21487;&#33021;&#35302;&#21457;&#35774;&#22791;&#39564;&#35777;&#65288;&#30701;&#20449;&#25110;&#32773;&#22909;&#21451;&#36741;&#21161;&#65289;&#65292;&#36825;&#20010;&#26159;&#27491;&#24120;&#30340;&#12290;<\/p>\n<h3>3.3 &#36830;&#25509; AstrBot<\/h3>\n<p>NapCat &#30340; WebUI &#22312; <code>http:\/\/&#26381;&#21153;&#22120;IP:6099<\/code>&#12290;<\/p>\n<p><strong>&#32593;&#32476;&#37197;&#32622; &rarr; &#26032;&#24314; &rarr; WebSocket &#23458;&#25143;&#31471;<\/strong>&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>&#21517;&#31216;        astrbot\nURL         ws:\/\/127.0.0.1:6199\/ws\n&#37325;&#36830;&#38388;&#38548;     30000\n&#21551;&#29992;&#24515;&#36339;     &#26159;<\/code><\/pre>\n<\/div>\n<p>&#20445;&#23384;&#20043;&#21518;&#30475; AstrBot &#30340;&#26085;&#24535;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker logs -f astrbot<\/code><\/pre>\n<\/div>\n<p>&#36830;&#19978;&#20250;&#25171;&#21360;&#31867;&#20284;&#36825;&#26679;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>[aiocqhttp] 1234567890\/&#20320;&#30340;&#26165;&#31216;: &#20320;&#22909;<\/code><\/pre>\n<\/div>\n<p>&#21069;&#38754;&#26159; QQ &#21495;&#65292;&#21518;&#38754;&#26159;&#26165;&#31216;&#12290;<strong>&#33021;&#21047;&#20986;&#36825;&#34892;&#23601;&#26159;&#36890;&#20102;&#12290;<\/strong><\/p>\n<hr class=\"sep\">\n<h2 id=\"s73\">4. SnowLuma<\/h2>\n\n<p>SnowLuma &#26159;&#21478;&#19968;&#20010; QQ &#21327;&#35758;&#31471;&#12290;&#21151;&#33021;&#21644; NapCat &#19968;&#26679;&mdash;&mdash;&#25226; QQ &#21464;&#25104; OneBot v11&#65292;AstrBot &#37027;&#22836;&#19968;&#34892;&#37117;&#19981;&#29992;&#25913;&#12290;<\/p>\n\n<p><strong>&#20294;&#21518;&#26469;&#25105;&#25226;&#23427;&#25442;&#25104;&#20102;&#40664;&#35748;&#12290;<\/strong>&#25442;&#30340;&#29702;&#30001;&#19981;&#26159;&#21151;&#33021;&#65292;&#26159;&#23427;&#36208;&#30340;&#36335;&#23376;&#19981;&#19968;&#26679;&#65307;&#32780;&#37027;&#20010;&#36335;&#23376;&#65292;&#24688;&#22909;&#26356;&#25239;&#36386;&#12290;<\/p>\n\n<h3>4.1 &#23427;&#21644; NapCat &#24046;&#22312;&#21738;<\/h3>\n\n<p>&#20808;&#25226;&#19968;&#20010;&#24120;&#35265;&#30340;&#35823;&#20256;&#35828;&#25481;&#65306;<strong>&#20004;&#20010;&#37117;&#22312;&#36305;&#30495;&#30340; QQ&#12290;<\/strong>&#19981;&#26159;&#12300;&#19968;&#20010;&#29992;&#21327;&#35758;&#12289;&#19968;&#20010;&#29992;&#23458;&#25143;&#31471;&#12301;&#65292;&#20004;&#20010;&#37117;&#26159; NTQQ &#30340;&#23458;&#25143;&#31471;&#65292;&#19968;&#20010;&#19981;&#23569;&#12290;<\/p>\n\n<p><strong>NapCat &#36305;&#30340;&#26159;&#19968;&#20010;&#25286;&#25481;&#20102;&#26174;&#31034;&#23618;&#30340; QQ&#12290;<\/strong>Shell &#27169;&#24335;&#33258;&#24049;&#25226; NTQQ &#24341;&#25806;&#25289;&#36215;&#26469;&#65288;<code>loadQQWrapper<\/code>&#65292;&#21551;&#21160;&#26102;&#24102; <code>--no-sandbox<\/code>&#65289;&#65292;&#21482;&#26159;&#19981;&#28210;&#26579;&#31383;&#21475;&#12290;&#23427;&#25343;&#28040;&#24687;&#36208;&#20004;&#26465;&#36335;&#65306;&#35843; QQ &#20869;&#37096;&#30340; Node &#27169;&#22359;&#65292;&#20197;&#21450; Hook &#21407;&#29983;&#21253;&mdash;&mdash;&#30331;&#24405;&#26102;&#25235;&#25968;&#25454;&#24211;&#23494;&#30721;&#29992;&#30340;&#23601;&#26159;&#21518;&#38754;&#36825;&#26465;&#12290;&#23448;&#32593;&#37027;&#21477;&#12300;&#22825;&#29983;&#26080;&#22836;&#12289;&#19981;&#20381;&#36182; Electron&#12289;&#20869;&#23384; 50~100MB&#12301;&#26159;&#30495;&#30340;&#65292;&#30465;&#25481;&#30340;&#27491;&#26159;&#28210;&#26579;&#21644;&#26174;&#31034;&#37027;&#19968;&#23618;&#12290;<\/p>\n\n<p><strong>SnowLuma &#36305;&#30340;&#26159;&#19968;&#20010;&#21407;&#26679;&#30340; QQ&#12290;<\/strong>&#38236;&#20687;&#37324;&#35013;&#20102; Linux QQ&#65292;&#23481;&#22120;&#36215;&#26469;&#20808;&#25226; QQ &#25289;&#36215;&#26469;&#65292;&#37197; Xvfb &#24320;&#20986;&#34394;&#25311;&#26174;&#31034;&#65292;&#20877;&#24448; QQ &#36827;&#31243;&#37324;&#27880;&#20837; hook&#65292;&#35835;&#23427;&#24050;&#32463;&#35299;&#26512;&#22909;&#30340;&#20869;&#37096;&#25968;&#25454;&#21253;&#65292;&#32763;&#25104; OneBot v11&#12290;&#23427;&#19981;&#30465;&#20219;&#20309;&#19968;&#23618;&#12290;<\/p>\n\n<p>&#21306;&#21035;&#23601;&#22312;&#36825;&#19968;&#21477;&#65306;<strong>NapCat &#25286;&#25481;&#26174;&#31034;&#23618;&#21435;&#36305; QQ&#65292;SnowLuma &#21407;&#26679;&#36305; QQ&#12290;<\/strong><\/p>\n\n<p>&#37027;&#20026;&#20160;&#20040;&#25286;&#25481;&#26174;&#31034;&#23618;&#20250;&#26356;&#23481;&#26131;&#25481;&#32447;&#65311;&#25105;&#30340;&#29702;&#35299;&#26159;&#65306;&#39118;&#25511;&#21028;&#26029;&#30340;&#19981;&#26159;&#12300;&#20320;&#21457;&#20102;&#20160;&#20040;&#12301;&#65292;&#26159;&#12300;&#36825;&#20010;&#35774;&#22791;&#20687;&#19981;&#20687;&#19968;&#20010;&#27491;&#24120;&#20154;&#22312;&#29992;&#12301;&#12290;SnowLuma &#37027;&#36793;&#65292;&#30331;&#24405;&#26159;&#22312;&#30495; QQ &#30340;&#30028;&#38754;&#37324;&#25195;&#30340;&#65292;&#20250;&#35805;&#30001;&#21407;&#35013;&#23458;&#25143;&#31471;&#33258;&#24049;&#32500;&#25345;&#65292;&#28210;&#26579;&#36827;&#31243;&#12289;&#26174;&#31034;&#23618;&#12289;&#24515;&#36339;&#20840;&#26159; QQ &#33258;&#24049;&#30340;&mdash;&mdash;&#23427;&#21644;&#19968;&#20010;&#22352;&#22312;&#30005;&#33041;&#21069;&#30340;&#20154;&#27809;&#26377;&#21306;&#21035;&#12290;NapCat &#25226;&#36825;&#20123;&#25286;&#20102;&#65292;&#21482;&#30041;&#24341;&#25806;&#21644;&#28040;&#24687;&#36890;&#36947;&#12290;<\/p>\n\n<p>&#25105;&#19981;&#25954;&#35828;&#36825;&#23601;&#26159;&#23427;&#26356;&#31283;&#30340;&#20840;&#37096;&#21407;&#22240;&#12290;&#36134;&#21495;&#26412;&#36523;&#30340;&#36136;&#37327;&#12289;&#24120;&#29992;&#22320;&#12289;&#21457;&#28040;&#24687;&#30340;&#33410;&#22863;&#65292;&#24433;&#21709;&#21487;&#33021;&#37117;&#27604;&#21327;&#35758;&#31471;&#22823;&#24471;&#22810;&#12290;&#20294;&#22312;&#25105;&#36825;&#21488;&#26426;&#22120;&#19978;&#65292;&#25442;&#36807;&#21435;&#20043;&#21518;&#30830;&#23454;&#27809;&#20877;&#20986;&#29616;&#36807;&#37027;&#31181;&#12300;&#26085;&#24535;&#26174;&#31034;&#22312;&#32447;&#12289;&#28040;&#24687;&#21457;&#19981;&#20986;&#21435;&#12301;&#30340;&#29366;&#24577;&#12290;<\/p>\n\n<p>&#21507;&#20869;&#23384;&#36825;&#20214;&#20107;&#20063;&#33021;&#23545;&#19978;&#12290;SnowLuma &#26159;&#30495;&#30340;&#22312;&#36305;&#19968;&#20010;&#23436;&#25972;&#30340; QQ&#65306;&#28210;&#26579;&#36827;&#31243;&#12289;Xvfb&#12289;VNC &#19968;&#20010;&#19981;&#23569;&#65292;&#21333;&#36134;&#21495; 300MB &#36215;&#65292;&#22810;&#24320;&#33021;&#21040; 1.2G&#12290;NapCat &#37027; 50~100MB &#30465;&#25481;&#30340;&#65292;&#30465;&#30340;&#23601;&#26159;&#36825;&#20123;&#12290;<\/p>\n\n<p>&#36824;&#26377;&#19968;&#20010;&#39034;&#24102;&#30340;&#24046;&#21035;&#65292;&#26159;&#25195;&#30721;&#12290;<strong>NapCat &#25226;&#20108;&#32500;&#30721;&#25171;&#36827;&#26085;&#24535;<\/strong>&#65292;&#20320;&#24471; <code>docker logs<\/code> &#37324;&#25438;&#12289;&#25110;&#32773; <code>docker cp<\/code> &#20986;&#26469;&#20877;&#25195;&#12290;<strong>SnowLuma &#26159; noVNC &#32593;&#39029;&#36828;&#31243;&#26700;&#38754;<\/strong>&#65306;&#20320;&#30475;&#21040;&#30340;&#26159;&#30495;&#30340; QQ &#30331;&#24405;&#31383;&#21475;&#65292;&#40736;&#26631;&#28857;&#19978;&#21435;&#25195;&#12290;<\/p>\n\n<h3>4.2 &#23433;&#35013;<\/h3>\n\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker run -d --name snowluma \\\n  --network host \\\n  --restart unless-stopped \\\n  -e TZ=Asia\/Shanghai \\\n  -v \/www\/wwwroot\/snowluma\/data:\/app\/data \\\n  &lt;&#38236;&#20687;&#21517;&gt;<\/code><\/pre>\n<\/div>\n\n<p>&#38236;&#20687;&#21517;&#20197;&#23427; Releases &#39029;&#38754;&#19978;&#20889;&#30340;&#20026;&#20934;&#12290;&#23427;&#30340;&#21457;&#34892;&#21253;&#20998; full &#21644; lite&#65306;full &#33258;&#24102; Node &#36816;&#34892;&#26102;&#65292;lite &#35201;&#20320;&#26426;&#22120;&#19978;&#26412;&#26469;&#23601;&#26377; Node 22 &#20197;&#19978;&#12290;Docker &#38236;&#20687;&#36208;&#30340;&#26159; full &#37027;&#19968;&#22871;&#65292;&#36825;&#28857;&#19981;&#29992;&#20320;&#25805;&#24515;&#12290;<\/p>\n\n<p><strong>&#21035;&#29992; <code>latest<\/code><\/strong>&mdash;&mdash;&#21327;&#35758;&#31471;&#21457;&#29256;&#24555;&#65292;&#26576;&#27425;&#25289;&#21040;&#22351;&#29256;&#26412;&#65292;&#34920;&#29616;&#23601;&#26159;&#12300;&#26576;&#22825;&#24320;&#22987;&#32769;&#25481;&#32447;&#12301;&#65292;&#32780;&#19988;&#20320;&#26681;&#26412;&#19981;&#20250;&#24819;&#21040;&#26159;&#38236;&#20687;&#30340;&#38382;&#39064;&#12290;<\/p>\n\n<p>&#23427;&#26377;&#22235;&#20010;&#31471;&#21475;&#65292;&#19968;&#20010;&#37117;&#21035;&#28151;&#65306;<\/p>\n\n<ul>\n<li><code>5099<\/code> &mdash;&mdash; WebUI&#12290;&#37197; OneBot &#36830;&#25509;&#12289;&#30475;&#26085;&#24535;&#12289;&#30475;&#36134;&#21495;&#29366;&#24577;<\/li>\n<li><code>6081<\/code> &mdash;&mdash; noVNC&#12290;&#32593;&#39029;&#29256;&#36828;&#31243;&#26700;&#38754;&#65292;&#25195;&#30721;&#30331;&#24405;&#22312;&#36825;&#37324;&#65292;&#19981;&#22312; WebUI &#37324;<\/li>\n<li><code>3000<\/code> \/ <code>3001<\/code> &mdash;&mdash; OneBot &#30340; HTTP \/ WS&#65292;&#40664;&#35748;&#27491;&#21521;<\/li>\n<\/ul>\n\n<h3>4.3 &#36830;&#25509;<\/h3>\n\n<p>&#36825;&#37324;&#21644; NapCat &#19981;&#26159;&#19968;&#22238;&#20107;&#65292;&#24471;&#35828;&#28165;&#26970;&#65306;<strong>NapCat &#30340; WebUI &#22312; 6099&#12289;&#21453;&#21521;&#36830; AstrBot &#30340; 6199&#65307;SnowLuma &#30340; WebUI &#22312; 5099&#12289;&#27491;&#21521; WS &#22312; 3001&#12290;<\/strong>&#25968;&#23383;&#27809;&#19968;&#20010;&#23545;&#24471;&#19978;&#12290;<\/p>\n\n<p>&#26368;&#30465;&#20107;&#30340;&#36208;&#27861;&#36824;&#26159;&#21453;&#21521; WS&#65306;WebUI &rarr; &#32593;&#32476;&#37197;&#32622; &rarr; &#26032;&#24314; WebSocket &#23458;&#25143;&#31471;&#65292;&#22635; <code>ws:\/\/127.0.0.1:6199\/ws<\/code>&#12290;AstrBot &#37027;&#22836;&#19981;&#21160;&#12290;<\/p>\n\n<p>&#37197;&#23436;&#21435; <code>http:\/\/&#26381;&#21153;&#22120;IP:6081<\/code> &#25195;&#30721;&#12290;&#30475;&#21040;&#30340;&#26159; QQ &#30340;&#30331;&#24405;&#31383;&#21475;&#65292;&#25163;&#26426;&#25195;&#23436;&#36824;&#35201;&#22312;&#25163;&#26426;&#19978;&#28857;&#12300;&#30830;&#35748;&#30331;&#24405;&#12301;&#12290;&#30331;&#24405;&#24577;&#23384;&#22312;&#23481;&#22120;&#37324;&#65292;&#20043;&#21518;&#37325;&#21551;&#19981;&#29992;&#20877;&#25195;&mdash;&mdash;&#21069;&#25552;&#26159; <code>data<\/code> &#37027;&#20010;&#30446;&#24405;&#25346;&#20986;&#26469;&#20102;&#12290;<\/p>\n\n<p>&#21453;&#36807;&#26469;&#35753; AstrBot &#20027;&#21160;&#36830; <code>ws:\/\/127.0.0.1:3001\/<\/code> &#20063;&#33021;&#36890;&#65292;&#20294;&#35201;&#25913; AstrBot &#30340;&#24179;&#21488;&#37197;&#32622;&#12290;&#27809;&#24517;&#35201;&#12290;<\/p>\n\n<p><strong>&#27880;&#24847;<\/strong>&#65306;&#25442;&#21327;&#35758;&#31471;&#30340;&#26102;&#20505;<strong>&#20808;&#25226;&#26087;&#30340;&#20572;&#25481;<\/strong>&#65288;<code>docker stop napcat<\/code>&#65289;&#65292;&#19981;&#28982;&#20004;&#20010;&#37117;&#36830;&#21516;&#19968;&#20010; 6199&#65292;AstrBot &#20250;&#21516;&#26102;&#25910;&#21040;&#20004;&#20221;&#20107;&#20214;&#65292;&#34920;&#29616;&#20026;&#26426;&#22120;&#20154;&#22238;&#20004;&#36941;&#12290;<\/p>\n\n<h3>4.4 &#25442;&#20043;&#21069;&#35201;&#30693;&#36947;&#30340;&#19977;&#20214;&#20107;<\/h3>\n\n<ul>\n<li><strong>&#23427;&#19981;&#35748; NapCat &#30340;&#30331;&#24405;&#24577;&#12290;<\/strong><code>napcat\/qq<\/code> &#25335;&#36807;&#21435;&#27809;&#29992;&#65292;&#24517;&#39035;&#37325;&#26032;&#25195;&#30721;&#12290;&#25442;&#30340;&#37027;&#22825;&#65292;&#25163;&#26426;&#24471;&#22312;&#25163;&#36793;&#12290;<\/li>\n<li><strong>&#23427;&#26356;&#21507;&#20869;&#23384;&#12290;<\/strong>&#21333;&#36134;&#21495;&#24120;&#39547; 300MB &#21040; 1.2G&#12290;2G &#30340;&#26426;&#22120;&#19978;&#25442;&#36807;&#21435;&#20250;&#24456;&#32039;&#65292;4G &#25165;&#33298;&#26381;&#12290;<\/li>\n<li><strong>&#23427;&#19981;&#26159;&#23436;&#20840;&#24320;&#28304;&#12290;<\/strong>&#28304;&#30721;&#21487;&#35265;&#65292;&#20294;&#26680;&#24515; native &#32452;&#20214;&#38381;&#28304;&#65292;&#35768;&#21487;&#20889;&#30528;&#38750;&#21830;&#19994;&#12290;&#33258;&#24049;&#29609;&#27809;&#38382;&#39064;&#65292;&#21035;&#25343;&#21435;&#20570;&#29983;&#24847;&#12290;<\/li>\n<\/ul>\n\n<hr class=\"sep\">\n<h2 id=\"s82\">5. &#24120;&#35265;&#38382;&#39064;<\/h2>\n<h3>5.1 AstrBot &#19968;&#30452;&#26174;&#31034;&#37325;&#36830;&#20013;<\/h3>\n<p><strong>&#20808;&#30475;&#21327;&#35758;&#31471;&#21040;&#24213;&#30331;&#24405;&#27809;<\/strong>&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker logs napcat 2&gt;&amp;1 | grep -iE \"&#30331;&#24405;|online|account\"<\/code><\/pre>\n<\/div>\n<p>&#21327;&#35758;&#31471;&#27809;&#30331;&#24405;&#25104;&#21151;&#30340;&#35805;&#65292;AstrBot &#37027;&#22836;&#24590;&#20040;&#37197;&#37117;&#36830;&#19981;&#19978;&#12290;<strong>&#20808;&#35299;&#20915;&#30331;&#24405;&#65292;&#20877;&#35299;&#20915;&#36830;&#25509;&#12290;<\/strong><\/p>\n<h3>5.2 &#20108;&#32500;&#30721;&#25195;&#20102;&#27809;&#21453;&#24212;<\/h3>\n<ul>\n<li>&#20108;&#32500;&#30721;<strong>&#26377;&#25928;&#26399;&#22823;&#27010;&#20004;&#20998;&#38047;<\/strong>&#65292;&#36807;&#26399;&#35201;&#37325;&#26032;&#21462;<\/li>\n<li>&#25163;&#26426;&#19978;&#35201;&#28857;<strong>&#12300;&#30830;&#35748;&#30331;&#24405;&#12301;<\/strong>&#65292;&#20809;&#25195;&#19981;&#22815;<\/li>\n<li>&#26085;&#24535;&#37324;&#26377;&#12300;&#20108;&#32500;&#30721;&#24050;&#36807;&#26399;&#12301;&#23601;&#37325;&#26032;&#36305;&#19968;&#36941;&#27969;&#31243;<\/li>\n<\/ul>\n<h3>5.3 &#23481;&#22120;&#37325;&#21551;&#21518;&#35201;&#37325;&#26032;&#25195;&#30721;<\/h3>\n<p><strong><code>qq<\/code> &#37027;&#20010;&#30446;&#24405;&#27809;&#25346;&#36733;<\/strong>&#65292;&#25110;&#32773;&#25346;&#36733;&#36335;&#24452;&#20889;&#38169;&#20102;&#12290;<\/p>\n<p>NapCat &#30340;&#30331;&#24405;&#24577;&#22312;&#23481;&#22120;&#20869;&#30340; <code>\/app\/.config\/QQ<\/code>&#65292;&#21153;&#24517;&#25346;&#20986;&#26469;&#12290;<\/p>\n<h3>5.4 &#28040;&#24687;&#21457;&#19981;&#20986;&#21435;&#65292;&#20294;&#26085;&#24535;&#26174;&#31034;&#22312;&#32447;<\/h3>\n<p>&#36825;&#20010;&#22522;&#26412;&#23601;&#26159;&#34987;&#39118;&#25511;&#20102;&#12290;<\/p>\n<p>&#34920;&#29616;&#65306;<\/p>\n<ul>\n<li>&#30331;&#24405;&#25104;&#21151;&#65292;&#33021;&#25910;&#21040;&#28040;&#24687;<\/li>\n<li>&#21457;&#28040;&#24687;&#22833;&#36133;&#65292;&#25110;&#32773;&#21457;&#20986;&#21435;&#23545;&#26041;&#25910;&#19981;&#21040;<\/li>\n<li>&#36807;&#19968;&#27573;&#26102;&#38388;&#34987;&#36386;&#19979;&#32447;<\/li>\n<\/ul>\n<p><strong>&#27809;&#26377;&#25216;&#26415;&#35299;&#27861;<\/strong>&#65292;&#21482;&#33021;&#25442;&#21495;&#65292;&#25110;&#32773;&#20943;&#23569;&#20351;&#29992;&#39057;&#29575;&#12290;<\/p>\n<h3>5.5 &#25442;&#21327;&#35758;&#31471;&#35201;&#37325;&#37197;&#21527;<\/h3>\n<p><strong>&#19981;&#29992;&#12290;<\/strong> &#20004;&#20010;&#37117;&#36208; OneBot v11&#65292;AstrBot &#37027;&#22836;&#19981;&#29992;&#25913;&#12290;<\/p>\n<p>&#21482;&#35201;&#65306;<\/p>\n<ol>\n<li>&#20572;&#25481;&#26087;&#30340;&#65288;<code>docker stop napcat<\/code>&#65289;<\/li>\n<li>&#36215;&#26032;&#30340;&#65292;&#36830;&#21516;&#19968;&#20010; <code>ws:\/\/127.0.0.1:6199\/ws<\/code><\/li>\n<li>&#37325;&#26032;&#25195;&#30721;<\/li>\n<\/ol>\n\n<h3>5.6 &#25913;&#20102;&#37197;&#32622;&#65292;&#37325;&#21551;&#20043;&#21518;&#21448;&#21464;&#22238;&#21435;&#20102;<\/h3>\n\n<p>&#36825;&#20010;&#22353;&#19981;&#25253;&#38169;&#65292;&#21482;&#20250;&#35753;&#20320;&#20197;&#20026;&#26159;&#33258;&#24049;&#35760;&#38169;&#20102;&#12290;<\/p>\n\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\"># &#20320;&#20197;&#20026;&#25913;&#20102;&#37197;&#32622;\nvim \/www\/wwwroot\/astrbot\/data\/cmd_config.json\n# &#37325;&#21551;&#35753;&#23427;&#29983;&#25928;\ndocker restart astrbot\n# &#32467;&#26524;&#65306;&#34987;&#25913;&#22238;&#21435;&#20102;<\/code><\/pre>\n<\/div>\n\n<p>AstrBot &#21551;&#21160;&#26102;&#20250;&#25226;&#20869;&#23384;&#37324;&#37027;&#20221;&#37197;&#32622;&#20889;&#22238; <code>cmd_config.json<\/code>&#12290;<code>restart<\/code> &#26159;&#12300;&#20572;&#25481; &rarr; &#21551;&#21160;&#12301;&#65292;&#21551;&#21160;&#37027;&#19968;&#21051;&#23427;&#25343;&#20869;&#23384;&#37324;&#30340;&#26087;&#20540;&#35206;&#30422;&#20320;&#21018;&#25913;&#30340;&#25991;&#20214;&#65292;&#32780;&#19988;&#19981;&#25253;&#38169;&#12290;<\/p>\n\n<p>&#27491;&#30830;&#39034;&#24207;&#26159;&#20808;&#20572;&#12289;&#20877;&#25913;&#12289;&#20877;&#36215;&#65306;<\/p>\n\n<div class=\"codeblock\">\n<pre><code class=\"language-bash\">docker stop astrbot\nvim \/www\/wwwroot\/astrbot\/data\/cmd_config.json\ndocker start astrbot<\/code><\/pre>\n<\/div>\n\n<p><strong><code>stop<\/code> &#21644; <code>restart<\/code> &#30340;&#24046;&#21035;&#23601;&#22312;&#36825;&#12290;<\/strong>&#36393;&#30340;&#26102;&#20505;&#26159;&#25913; <code>possibility_reply<\/code>&#65292;&#20889;&#25104; <code>0.05<\/code>&#65292;&#35835;&#20986;&#26469;&#26159; <code>0.02<\/code>&mdash;&mdash;&#26597;&#20102;&#21322;&#22825;&#20197;&#20026;&#26159;&#37197;&#32622;&#39033;&#21517;&#23383;&#20889;&#38169;&#20102;&#12290;<\/p>\n<hr class=\"sep\">\n<h2 id=\"s114\">6. &#20960;&#20010;&#23454;&#36341;&#24314;&#35758;<\/h2>\n<p><strong>&#9312; &#23481;&#22120;&#37117;&#29992; <code>--network host<\/code><\/strong><\/p>\n<p>&#30465;&#25481;&#31471;&#21475;&#26144;&#23556;&#30340;&#40635;&#28902;&#12290;&#20195;&#20215;&#26159;&#35201;&#33258;&#24049;&#27880;&#24847;&#31471;&#21475;&#20914;&#31361;&#65306;<\/p>\n<div class=\"codeblock\">\n<pre><code>6185   AstrBot WebUI\n6199   AstrBot &#30340; OneBot WS&#65288;&#21327;&#35758;&#31471;&#36830;&#36825;&#20010;&#65289;\n6099   NapCat WebUI\n5099   SnowLuma WebUI\n6081   SnowLuma &#30340; noVNC&#65288;&#25195;&#30721;&#22312;&#36825;&#37324;&#65289;\n3000   SnowLuma &#30340; OneBot HTTP API\n3001   SnowLuma &#30340; OneBot WS<\/code><\/pre>\n<\/div>\n<p><strong>&#9313; &#30331;&#24405;&#24577;&#19968;&#23450;&#35201;&#25346;&#36733;<\/strong><\/p>\n<p>&#19981;&#25346;&#30340;&#35805;&#27599;&#27425;&#37325;&#21551;&#37117;&#35201;&#25195;&#30721;&#65292;<strong>&#32780;&#39057;&#32321;&#25195;&#30721;&#26412;&#36523;&#23601;&#20250;&#35753;&#39118;&#25511;&#26356;&#23481;&#26131;&#27880;&#24847;&#21040;&#20320;<\/strong>&#12290;<\/p>\n<p><strong>&#9314; &#21035;&#39057;&#32321;&#37325;&#21551;&#21327;&#35758;&#31471;<\/strong><\/p>\n<p>&#37325;&#21551; = &#37325;&#26032;&#30331;&#24405; = &#19968;&#27425;&#26032;&#30340;&#35774;&#22791;&#25569;&#25163;&#12290;<\/p>\n<p><strong>&#31283;&#23450;&#36305;&#30528;&#27604;&#21453;&#22797;&#25240;&#33150;&#23433;&#20840;&#12290;<\/strong><\/p>\n<p><strong>&#9315; &#20986;&#38382;&#39064;&#20808;&#30475;&#21327;&#35758;&#31471;&#26085;&#24535;<\/strong><\/p>\n<p>&#22823;&#37096;&#20998;&#12300;&#36830;&#19981;&#19978;&#12301;&#30340;&#31572;&#26696;&#37117;&#22312;&#21327;&#35758;&#31471;&#37027;&#22836;&#65292;&#19981;&#22312; AstrBot&#12290;<\/p>\n<hr class=\"sep\">\n<h2 id=\"s126\">7. &#21442;&#32771;<\/h2>\n<ul>\n<li>AstrBot &#25991;&#26723;&#65306;<a href=\"https:\/\/astrbot.app\/\">https:\/\/astrbot.app\/<\/a><\/li>\n<li>NapCat &#25991;&#26723;&#65306;<a href=\"https:\/\/napneko.github.io\/\">https:\/\/napneko.github.io\/<\/a><\/li>\n<li>OneBot v11 &#26631;&#20934;&#65306;<a href=\"https:\/\/github.com\/botuniverse\/onebot-11\">https:\/\/github.com\/botuniverse\/onebot-11<\/a><\/li>\n<\/ul>\n<hr class=\"sep\">\n<p class=\"sign\">&#20889;&#20110; 2026 &#24180; 10 &#26376;<\/p>\n<p class=\"wp-block-paragraph\"><\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u7528 AstrBot \u63a5\u6d88\u606f\u3001\u8c03\u6a21\u578b\uff0cNapCat \u8d1f\u8d23\u628a QQ \u7684\u534f\u8bae\u7ffb\u6210 OneBot\u2014\u2014\u4e00\u5957\u6210\u672c\u5f88\u4f4e\u7684\u673a\u5668\u4eba\u65b9\u6848\uff0c\u9644\u5b8c\u6574\u914d\u7f6e\u548c\u51e0\u4e2a\u5fc5\u8e29\u7684\u5751\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-278","post","type-post","status-publish","format-standard","hentry","category-baowu"],"_links":{"self":[{"href":"https:\/\/dfwce.cn\/index.php?rest_route=\/wp\/v2\/posts\/278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dfwce.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dfwce.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dfwce.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dfwce.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=278"}],"version-history":[{"count":11,"href":"https:\/\/dfwce.cn\/index.php?rest_route=\/wp\/v2\/posts\/278\/revisions"}],"predecessor-version":[{"id":312,"href":"https:\/\/dfwce.cn\/index.php?rest_route=\/wp\/v2\/posts\/278\/revisions\/312"}],"wp:attachment":[{"href":"https:\/\/dfwce.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dfwce.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dfwce.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}