<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI Archives - 原立方</title>
	<atom:link href="https://www.atomic-cube.cn/tag/ai/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.atomic-cube.cn/tag/ai/</link>
	<description>技术栈的流动-从零到∞</description>
	<lastBuildDate>Thu, 21 May 2026 03:53:55 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Python+deepseek+微信，秒变聊天机器人</title>
		<link>https://www.atomic-cube.cn/python%e9%85%8d%e7%bd%aedeep-seek%e5%8a%a0%e4%b8%8a%e5%be%ae%e4%bf%a1%ef%bc%8c%e7%a7%92%e5%8f%98%e8%81%8a%e5%a4%a9%e6%9c%ba%e5%99%a8%e4%ba%ba/</link>
					<comments>https://www.atomic-cube.cn/python%e9%85%8d%e7%bd%aedeep-seek%e5%8a%a0%e4%b8%8a%e5%be%ae%e4%bf%a1%ef%bc%8c%e7%a7%92%e5%8f%98%e8%81%8a%e5%a4%a9%e6%9c%ba%e5%99%a8%e4%ba%ba/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Tue, 12 May 2026 07:14:41 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[weichat]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=2073</guid>

					<description><![CDATA[<p>deep seek接入微信实现自动回复消息</p>
<p>The post <a href="https://www.atomic-cube.cn/python%e9%85%8d%e7%bd%aedeep-seek%e5%8a%a0%e4%b8%8a%e5%be%ae%e4%bf%a1%ef%bc%8c%e7%a7%92%e5%8f%98%e8%81%8a%e5%a4%a9%e6%9c%ba%e5%99%a8%e4%ba%ba/">Python+deepseek+微信，秒变聊天机器人</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">deepseek接入微信实现自动回复消息，可以任意更改人设，几乎没有封号风险，让你秒变情场高手，附完整代码教程</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="510" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1024x510.png" alt="" class="wp-image-2074" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1024x510.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-300x149.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-768x382.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1536x764.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2048x1019.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>安装第三方库</strong></p>



<p class="wp-block-paragraph">先安装调用deep seek的open AI的第三方库<strong>pip install openai</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="515" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1-1024x515.png" alt="" class="wp-image-2075" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1-1024x515.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1-300x151.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1-768x386.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1-1536x772.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-1-2048x1030.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">接着安装调用微信的wxauto第三方库<strong>pip install wxauto</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="518" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2-1024x518.png" alt="" class="wp-image-2076" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2-1024x518.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2-300x152.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2-768x388.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2-1536x777.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-2-2048x1035.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>编写代码</strong></p>



<p class="wp-block-paragraph">导入openAI库和微信库，整个代码不到50行，调用了deep seek API处理用户消息，获取AI自动回复，成为智能客服回复消息</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>import time
from openai import OpenAI
from wxauto import Wechat
class WeChatBot:
    def __init__(self):
        self.client = OpenAI(api_key="", base_url="")
        self.wx = WeChat()
        self.listen_list = &#91;""&#93;   #需要自行设置监听的好友列表
        for whoItem in self.listen_list:
            self.wx.AddListenChat(who=whoItem)
    def __ask(self, msg):
        response = self.client.chat.completions.create(
            model="deepseek-chat",
            messages=&#91;
                {"role": "system", "content": "你好，我是DeepSeek。"},
                {"role": "user", "content": msg},
            &#93;,
            stream=False
        )
        return response.choices&#91;0&#93;.message.content
    def run(self):
        wait = 2  # 设置2秒查看一次是否有新消息
        while True:
            msg = self.wx.GetListenMessage()
            for chat in msgs:
                msg=msgs.get(chat)
                for item in msg:
                    if item.type == 'friend':
                        reply = self.__ask(item.content)
                        print(f"接收【{item.sender}】的消息:{item.content}")
                        print(f"回复【{item.sender}】的消息:{reply}")
                        chat.wx.SendMsg(reply, item.sender)  
if __name__ == "__main__":
    bot = WeChatBot()
    bot.run()</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #81A1C1">import</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">time</span></span>
<span class="line"><span style="color: #81A1C1">from</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">openai</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">import</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">OpenAI</span></span>
<span class="line"><span style="color: #81A1C1">from</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">wxauto</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">import</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">Wechat</span></span>
<span class="line"><span style="color: #8FBCBB">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">WeChatBot</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #8FBCBB">def</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">__init__</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">):</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">client</span><span style="color: #D8DEE9FF"> = </span><span style="color: #8FBCBB">OpenAI</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">api_key</span><span style="color: #D8DEE9FF">=</span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">base_url</span><span style="color: #D8DEE9FF">=</span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">wx</span><span style="color: #D8DEE9FF"> = </span><span style="color: #8FBCBB">WeChat</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">listen_list</span><span style="color: #D8DEE9FF"> = &#91;</span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">&#93;   #</span><span style="color: #8FBCBB">需要自行设置监听的好友列表</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">for</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">whoItem</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">in</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">listen_list</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">wx</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">AddListenChat</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">who</span><span style="color: #D8DEE9FF">=</span><span style="color: #8FBCBB">whoItem</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #8FBCBB">def</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">__ask</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">self</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">msg</span><span style="color: #D8DEE9FF">):</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">response</span><span style="color: #D8DEE9FF"> = </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">client</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">chat</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">completions</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">create</span><span style="color: #D8DEE9FF">(</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #8FBCBB">model</span><span style="color: #D8DEE9FF">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">deepseek-chat</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #8FBCBB">messages</span><span style="color: #D8DEE9FF">=&#91;</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">&quot;</span><span style="color: #8FBCBB">role</span><span style="color: #D8DEE9FF">&quot;: &quot;</span><span style="color: #8FBCBB">system</span><span style="color: #D8DEE9FF">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &quot;</span><span style="color: #8FBCBB">content</span><span style="color: #D8DEE9FF">&quot;: &quot;</span><span style="color: #8FBCBB">你好</span><span style="color: #D8DEE9FF">，</span><span style="color: #8FBCBB">我是DeepSeek</span><span style="color: #D8DEE9FF">。&quot;</span><span style="color: #ECEFF4">},</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">&quot;</span><span style="color: #8FBCBB">role</span><span style="color: #D8DEE9FF">&quot;: &quot;</span><span style="color: #8FBCBB">user</span><span style="color: #D8DEE9FF">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &quot;</span><span style="color: #8FBCBB">content</span><span style="color: #D8DEE9FF">&quot;: </span><span style="color: #8FBCBB">msg</span><span style="color: #ECEFF4">},</span></span>
<span class="line"><span style="color: #D8DEE9FF">            &#93;</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #8FBCBB">stream</span><span style="color: #D8DEE9FF">=</span><span style="color: #8FBCBB">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">        )</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">return</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">response</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">choices</span><span style="color: #D8DEE9FF">&#91;0&#93;.</span><span style="color: #8FBCBB">message</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">content</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #8FBCBB">def</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">run</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">):</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">wait</span><span style="color: #D8DEE9FF"> = 2  # </span><span style="color: #8FBCBB">设置2秒查看一次是否有新消息</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #8FBCBB">while</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">True</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #8FBCBB">msg</span><span style="color: #D8DEE9FF"> = </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">wx</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">GetListenMessage</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #8FBCBB">for</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">chat</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">in</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">msgs</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #8FBCBB">msg</span><span style="color: #D8DEE9FF">=</span><span style="color: #8FBCBB">msgs</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">get</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">chat</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #8FBCBB">for</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">item</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">in</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">msg</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #8FBCBB">if</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">item</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">type</span><span style="color: #D8DEE9FF"> == </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">friend</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #8FBCBB">reply</span><span style="color: #D8DEE9FF"> = </span><span style="color: #8FBCBB">self</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">__ask</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">item</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">content</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #8FBCBB">print</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">f</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">接收【{item.sender}】的消息:{item.content}</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #8FBCBB">print</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">f</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">回复【{item.sender}】的消息:{reply}</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #8FBCBB">chat</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">wx</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">SendMsg</span><span style="color: #D8DEE9FF">(</span><span style="color: #8FBCBB">reply</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">item</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">sender</span><span style="color: #D8DEE9FF">)  </span></span>
<span class="line"><span style="color: #8FBCBB">if</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">__name__</span><span style="color: #D8DEE9FF"> == </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">__main__</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #8FBCBB">bot</span><span style="color: #D8DEE9FF"> = </span><span style="color: #8FBCBB">WeChatBot</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #8FBCBB">bot</span><span style="color: #D8DEE9FF">.</span><span style="color: #8FBCBB">run</span><span style="color: #D8DEE9FF">()</span></span></code></pre></div>



<p class="wp-block-paragraph">关键的位置在这里，deep seek的key和API地址</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="506" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-3-1024x506.png" alt="" class="wp-image-2077" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-3-1024x506.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-3-300x148.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-3-768x380.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-3-1536x759.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-3-2048x1013.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="517" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-4-1024x517.png" alt="" class="wp-image-2078" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-4-1024x517.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-4-300x151.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-4-768x388.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-4-1536x775.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-4-2048x1033.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>获取key和API地址</strong><br><br>到deep seek官网获取API开放平台</p>



<p class="wp-block-paragraph">左边获取API keys</p>



<p class="wp-block-paragraph">在下面的接口文档获取API地址</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="515" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-5-1024x515.png" alt="" class="wp-image-2079" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-5-1024x515.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-5-300x151.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-5-768x387.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-5-1536x773.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-5-2048x1031.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="502" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-6-1024x502.png" alt="" class="wp-image-2080" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-6-1024x502.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-6-300x147.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-6-768x376.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-6-1536x752.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-6-2048x1003.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="485" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-7-1024x485.png" alt="" class="wp-image-2081" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-7-1024x485.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-7-300x142.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-7-768x363.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-7-1536x727.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-7-2048x969.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="501" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-8-1024x501.png" alt="" class="wp-image-2082" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-8-1024x501.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-8-300x147.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-8-768x375.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-8-1536x751.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-8-2048x1001.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>添加人设</strong><br><br>给deep seek角色信息和人设信息，每段话不超20字。</p>



<p class="wp-block-paragraph">还要设定要检测的好友名称或者微信群名称，这里只监听一个好友。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="508" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-9-1024x508.png" alt="" class="wp-image-2083" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-9-1024x508.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-9-300x149.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-9-768x381.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-9-1536x762.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-9-2048x1015.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="509" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-10-1024x509.png" alt="" class="wp-image-2084" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-10-1024x509.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-10-300x149.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-10-768x382.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-10-1536x764.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-10-2048x1018.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>最终展示</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="520" src="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-11-1024x520.png" alt="" class="wp-image-2085" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-11-1024x520.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-11-300x152.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-11-768x390.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-11-1536x779.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/05/image-11-2048x1039.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">当然也可以，如本地 部署了模型的话，可以尝试连接本地的模型，如连接本地OLLMA或者是OMLX，这两个本地部署模型都是可以提供openapi地址和key 的，本地值得一试哦</p>
<p>The post <a href="https://www.atomic-cube.cn/python%e9%85%8d%e7%bd%aedeep-seek%e5%8a%a0%e4%b8%8a%e5%be%ae%e4%bf%a1%ef%bc%8c%e7%a7%92%e5%8f%98%e8%81%8a%e5%a4%a9%e6%9c%ba%e5%99%a8%e4%ba%ba/">Python+deepseek+微信，秒变聊天机器人</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/python%e9%85%8d%e7%bd%aedeep-seek%e5%8a%a0%e4%b8%8a%e5%be%ae%e4%bf%a1%ef%bc%8c%e7%a7%92%e5%8f%98%e8%81%8a%e5%a4%a9%e6%9c%ba%e5%99%a8%e4%ba%ba/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laravel 13 AI 辅助开发</title>
		<link>https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/</link>
					<comments>https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[vibe coding]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=2058</guid>

					<description><![CDATA[<p>Laravel 官方推出两款 AI 工具：Laravel Boost 为 AI 助手提供应用上下文，实现精准代码生成与调试；Laravel MCP 则作为安全桥梁，允许 AI 代理通过受控端点安全执行应用内操作。两者结合旨在将 AI 深度集成至 Laravel 开发工作流，提升效率与自动化能力，同时确保安全性。</p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/">Laravel 13 AI 辅助开发</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="introduction">简介</h2>



<p class="wp-block-paragraph">Laravel 具有独特的定位，是进行 AI 辅助开发和智能体开发的首选框架。<a href="https://docs.anthropic.com/en/docs/claude-code" target="_blank" rel="noreferrer noopener nofollow">Claude Code</a>、<a href="https://opencode.ac.cn/" target="_blank" rel="noreferrer noopener nofollow">OpenCode</a>、<a href="https://cursor.ac.cn/" target="_blank" rel="noreferrer noopener nofollow">Cursor</a> 和 <a href="https://github.com/features/copilot" target="_blank" rel="noreferrer noopener nofollow">GitHub Copilot</a> 等 AI 编码智能体的兴起，改变了开发人员编写代码的方式。这些工具能够以空前的速度生成完整功能、调试复杂问题并重构代码——但它们的有效性在很大程度上取决于它们对你代码库的理解程度。</p>



<h3 class="wp-block-heading" id="why-laravel-for-ai-development">为何选择 Laravel 进行 AI 开发？</h3>



<p class="wp-block-paragraph">Laravel 固有的约定和定义明确的结构使其成为 AI 辅助开发的理想框架。当你要求 AI 智能体添加一个控制器时，它确切地知道该将其放在哪里。当你需要新的迁移文件时，命名约定和文件位置都是可预测的。这种一致性消除了在更灵活的框架中经常困扰 AI 工具的猜测过程。</p>



<p class="wp-block-paragraph">除了文件组织，Laravel 富有表达力的语法和全面的文档，为 AI 智能体提供了生成准确、地道代码所需的上下文。Eloquent 关系、表单请求和中间件等功能遵循智能体可以可靠理解和复刻的模式。结果就是 AI 生成的代码看起来就像出自资深 Laravel 开发者之手，而不是从通用的 PHP 代码片段中拼凑出来的。</p>



<h2 class="wp-block-heading" id="laravel-boost">Laravel Boost</h2>



<p class="wp-block-paragraph"><a href="https://github.com/laravel/boost" target="_blank" rel="noreferrer noopener nofollow">Laravel Boost</a> 架起了 AI 编码智能体与 Laravel 应用程序之间的桥梁。Boost 是一个 MCP (模型上下文协议) 服务器，配备了 15 种以上的专用工具，为 AI 智能体提供关于应用程序结构、数据库、路由等的深度见解。当你安装 Boost 后，你的 AI 智能体将从通用的代码助手转变为能够理解你特定应用的 Laravel 专家。</p>



<p class="wp-block-paragraph">Boost 提供了三大核心能力：一套用于检查和交互应用程序的 MCP 工具、专为 Laravel 生态系统精心设计的可组合 AI 指南，以及一个包含超过 17,000 条 Laravel 特定知识的强大文档 API。</p>



<h3 class="wp-block-heading" id="installation">安装</h3>



<p class="wp-block-paragraph">Boost 可安装在运行 PHP 8.1 或更高版本的 Laravel 10、11、12 和 13 应用程序中。若要开始，请将 Boost 安装为开发依赖：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>composer require laravel/boost --dev</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">composer</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">require</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">laravel</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">boost</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">dev</span></span></code></pre></div>



<p class="wp-block-paragraph">安装完成后，运行交互式安装程序：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>php artisan boost:install</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">php</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">artisan</span><span style="color: #D8DEE9FF"> boost</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9">install</span></span></code></pre></div>



<p class="wp-block-paragraph">安装程序将自动检测你的 IDE 和 AI 智能体，允许你选择适合项目的集成。Boost 将生成必要的配置文件，例如用于 MCP 兼容编辑器的 <code>.mcp.json</code> 文件以及用于 AI 上下文的指南文件。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><br>生成的配置文件（如&nbsp;<code>.mcp.json</code>、<code>CLAUDE.md</code>&nbsp;和&nbsp;<code>boost.json</code>）可以安全地添加到你的&nbsp;<code>.gitignore</code>&nbsp;中，如果你希望每位开发者配置自己的环境的话。</p>
</blockquote>



<h3 class="wp-block-heading" id="available-tools">可用工具</h3>



<p class="wp-block-paragraph">Boost 通过模型上下文协议（Model Context Protocol）向 AI 智能体公开了一套全面的工具。这些工具允许智能体深入理解并与你的 Laravel 应用程序进行交互。</p>



<ul class="wp-block-list">
<li><strong>应用程序自省</strong> &#8211; 查询你的 PHP 和 Laravel 版本，列出已安装的包，并检查应用程序的配置和环境变量。</li>



<li><strong>数据库工具</strong> &#8211; 在无需退出对话的情况下，检查数据库模式、执行只读查询并了解数据结构。</li>



<li><strong>路由检查</strong> &#8211; 列出所有已注册的路由及其对应的中间件、控制器和参数。</li>



<li><strong>Artisan 命令</strong> &#8211; 发现可用的 Artisan 命令及其参数，使智能体能够针对你的任务建议并执行正确的命令。</li>



<li><strong>日志分析</strong> &#8211; 读取并分析应用程序的日志文件，以协助调试问题。</li>



<li><strong>浏览器日志</strong> &#8211; 在使用 Laravel 前端工具进行开发时，访问浏览器控制台日志和错误信息。</li>



<li><strong>Tinker 集成</strong> &#8211; 通过 Laravel Tinker 在应用程序上下文中执行 PHP 代码，允许智能体验证假设并确认行为。</li>



<li><strong>文档搜索</strong> &#8211; 搜索 Laravel 生态系统文档，并获得根据你所安装的包版本量身定制的结果。</li>
</ul>



<h3 class="wp-block-heading" id="ai-guidelines">AI 指南（AI Guidelines）</h3>



<p class="wp-block-paragraph">Boost 包含一套专门为 Laravel 生态系统精心制作的全面 AI 指南。这些指南教导 AI 智能体如何编写符合习惯的 Laravel 代码、遵循框架约定并避免常见陷阱。指南是可组合且具备版本感知能力的，这意味着智能体接收到的指令将完全适配你所使用的确切包版本。</p>



<p class="wp-block-paragraph">指南涵盖了 Laravel 本身以及 Laravel 生态系统中的 16 个以上的包，包括：</p>



<ul class="wp-block-list">
<li>Livewire (2.x, 3.x, 和 4.x)</li>



<li>Inertia.js (React, Svelte, 和 Vue 变体)</li>



<li>Tailwind CSS (3.x 和 4.x)</li>



<li>Filament (3.x 和 4.x)</li>



<li>PHPUnit</li>



<li>Pest PHP</li>



<li>Laravel Pint</li>



<li>以及更多</li>
</ul>



<p class="wp-block-paragraph">当你运行&nbsp;<code>boost:install</code>&nbsp;时，Boost 会自动检测你的应用程序使用了哪些包，并将相关的指南整合到项目的 AI 上下文文件中。</p>



<h3 class="wp-block-heading" id="agent-skills">智能体技能（Agent Skills）</h3>



<p class="wp-block-paragraph"><a href="https://agentskills.io/home" target="_blank" rel="noreferrer noopener nofollow">智能体技能 (Agent Skills)</a> 是轻量级、针对性的知识模块，智能体可以在处理特定领域时按需激活。与预先加载的指南不同，技能允许仅在相关时加载详细的模式和最佳实践，从而减少上下文冗余并提高 AI 生成代码的相关性。</p>



<p class="wp-block-paragraph">这些技能适用于 Livewire、Inertia、Tailwind CSS、Pest 等主流 Laravel 包。当你运行&nbsp;<code>boost:install</code>&nbsp;并选择技能作为功能时，系统会根据在&nbsp;<code>composer.json</code>&nbsp;中检测到的包自动安装相应的技能。</p>



<h3 class="wp-block-heading" id="documentation-search">文档搜索</h3>



<p class="wp-block-paragraph">Boost 包含一个强大的文档 API，使 AI 智能体能够访问超过 17,000 条 Laravel 生态系统文档。与通用的网络搜索不同，这些文档经过索引、向量化并根据你使用的特定包版本进行了筛选。</p>



<p class="wp-block-paragraph">当智能体需要理解某个功能的工作原理时，它可以搜索 Boost 的文档 API 并获得准确的、特定于版本的相关信息。这消除了 AI 智能体建议已弃用的方法或旧版本框架语法的常见问题。</p>



<h3 class="wp-block-heading" id="agent-integration">智能体集成</h3>



<p class="wp-block-paragraph">Boost 与支持模型上下文协议的流行 IDE 和 AI 工具集成。有关 Cursor、Claude Code、Codex、Gemini CLI、GitHub Copilot 和 Junie 的详细设置说明，请参阅 Boost 文档的 设置你的智能体 (Set Up Your Agents) 部分。</p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/">Laravel 13 AI 辅助开发</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laravel 2026：AI 时代下的 Web 开发新范式</title>
		<link>https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/</link>
					<comments>https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Wed, 06 May 2026 04:48:29 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[llm]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=2054</guid>

					<description><![CDATA[<p>从2025年 Laravel 12 的“克制”发布，到2026年 Laravel 13 全面拥抱 AI，Laravel 正在经历怎样的转型？本文带你一文看懂 Laravel 生态的最新动态。</p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/">Laravel 2026：AI 时代下的 Web 开发新范式</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、引言：一篇文章引发的思考</h2>



<p class="wp-block-paragraph">2026年初，一篇名为《PHP 现代框架对决 —— Laravel 与 Symfony》的技术对比文章引发热议。笔者在仔细阅读后发现，Laravel 早已不再是那个“简单的 PHP 框架”。过去一年间，它悄然完成了一场蜕变——从 Web 开发的“瑞士军刀”，进化为 AI 时代的“工匠工坊”。</p>



<p class="wp-block-paragraph">与此同时，中国开发者社区也传出好消息：<strong>Laravel China 社区已于 2026 年回归</strong>，论坛重新开放，北京、深圳等地正在召集团队组织。这意味着国内开发者获取中文文档、技术交流、参与社区贡献的渠道正在全面恢复。</p>



<p class="wp-block-paragraph">这一切，要从2025年的 Laracon US 大会说起。</p>



<h2 class="wp-block-heading">二、里程碑事件：Laracon US 2025 的六大重磅发布</h2>



<p class="wp-block-paragraph">2025年7月底，Laracon US 在芝加哥举行。创始人&nbsp;<strong>Taylor Otwell 在主题演讲中宣布了六项重磅更新</strong><a href="https://laravel.com/index.php/blog/everything-we-announced-at-laracon-us-2025" target="_blank" rel="noreferrer noopener"></a>：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">序号</th><th class="has-text-align-left" data-align="left">发布内容</th><th class="has-text-align-left" data-align="left">核心价值</th></tr></thead><tbody><tr><td>①</td><td><strong>Laravel Cloud 全面升级</strong></td><td>MySQL GA、简化定价、Queue 自动伸缩</td></tr><tr><td>②</td><td><strong>下一代 Forge</strong></td><td>支持 JavaScript、Rust 等多语言部署</td></tr><tr><td>③</td><td><strong>AI 增强功能</strong></td><td>向量化文档、AI 驱动的开发辅助</td></tr><tr><td>④</td><td><strong>Laravel 12 改进</strong></td><td>全新 Starter Kits（React/Vue/Livewire）</td></tr><tr><td>⑤</td><td><strong>Nightwatch 优化</strong></td><td>开发者优先的定价与可观测性</td></tr><tr><td>⑥</td><td><strong>Laravel Boost 公测</strong></td><td>让 AI 编码助手深度理解你的 Laravel 项目</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">这六项发布，每一项都指向同一个方向——让 Laravel 开发者以更高效的方式构建、部署和维护现代应用。</p>



<h2 class="wp-block-heading">三、产品矩阵全景：八大核心产品一览</h2>



<h3 class="wp-block-heading">🚀 Laravel Cloud：零配置部署平台</h3>



<p class="wp-block-paragraph">Laravel Cloud 于2025年初正式推出，是 Laravel 团队倾力打造的一站式部署平台。</p>



<p class="wp-block-paragraph"><strong>2025-2026 关键进展：</strong></p>



<ul class="wp-block-list">
<li>2025年7月：MySQL GA（正式可用），支持1 CPU/512MB至16 CPU/64GB规格<a href="https://laravel.com/index.php/blog/everything-we-announced-at-laracon-us-2025" target="_blank" rel="noreferrer noopener"></a></li>



<li>2025年8月：简化定价方案，推出 Starter（免费）/ Growth（$20/月起）/ Business 三级<a href="https://laravel.com/index.php/blog/everything-we-announced-at-laracon-us-2025" target="_blank" rel="noreferrer noopener"></a></li>



<li>2026年初：上线<strong>私有云（Private Cloud）</strong>，提供完全隔离的企业级基础设施<a href="https://laravel.net.cn/blog/laravel-january-product-releases" target="_blank" rel="noreferrer noopener"></a></li>



<li>2026年4月：发布 <strong>Cloud CLI</strong>，基于 Laravel Zero 构建，实现终端全面管理<a href="https://laravel-news.com/index.php/manage-laravel-cloud-from-the-terminal-with-the-new-cloud-cli" target="_blank" rel="noreferrer noopener"></a></li>
</ul>



<p class="wp-block-paragraph">Cloud CLI 的设计极为简洁：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># 快速部署
cloud ship

# 标准部署
cloud deploy

# 远程执行 Artisan 命令
cloud command:run env_123 "php artisan migrate"</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">快速部署</span></span>
<span class="line"><span style="color: #D8DEE9">cloud</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ship</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">标准部署</span></span>
<span class="line"><span style="color: #D8DEE9">cloud</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">deploy</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">远程执行</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Artisan</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">命令</span></span>
<span class="line"><span style="color: #D8DEE9">cloud</span><span style="color: #D8DEE9FF"> command</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9">run</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">env_123</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">php artisan migrate</span><span style="color: #ECEFF4">&quot;</span></span></code></pre></div>



<h3 class="wp-block-heading">🔧 Laravel Forge：服务器管理利器</h3>



<p class="wp-block-paragraph">Forge 在2025年迎来重大更新。最受关注的是&nbsp;<strong>Forge 宣布将支持除 PHP 以外的多种语言</strong>，包括 JavaScript 和 Rust，这是该产品14年历史上首次扩展语言支持。</p>



<p class="wp-block-paragraph">2026年4月，Forge 进一步新增：</p>



<ul class="wp-block-list">
<li>支持 <strong>PHP 8.5</strong><a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a></li>



<li>支持<strong>单个站点安装多个 SSL 证书</strong>，实现证书无风险轮换<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>证书到期预警</strong>，在过期问题导致停机前主动通知开发者<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a></li>
</ul>



<h3 class="wp-block-heading">👀 Nightwatch：Laravel 专属可观测平台</h3>



<p class="wp-block-paragraph">Nightwatch 提供了为 Laravel 深度优化的一体化监控方案，包括异常监控、慢请求追踪、查询日志、日志查看器等功能<a href="https://laravel-news.com/index.php/laravel-news-2025-recap" target="_blank" rel="noreferrer noopener"></a>。2026年初，Nightwatch 新增了&nbsp;<strong>AI 驱动的问题描述</strong>功能，能自动分析堆栈跟踪并生成根因分析与可行的解决方案<a href="https://laravel.net.cn/blog/laravel-january-product-releases" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">🤖 Laravel Boost：AI 编码助手的“外挂”</h3>



<p class="wp-block-paragraph">Boost 是本次 Laracon 发布中最具前瞻性的产品。它为 AI 编码代理（如 GitHub Copilot、OpenCode）提供了一个&nbsp;<strong>Laravel 专属的 MCP（模型上下文协议）服务器</strong>，暴露15+工具供 AI 调用<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph">其中包括：应用信息查询、文档搜索、Tinker 交互、数据库查询、Schema 检查、路由列表、Artisan 命令、错误日志等<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph">更重要的是，Boost 内置了超过&nbsp;<strong>17,000条向量化的 Laravel 生态文档片段</strong>，AI 代理可以检索与你的项目版本精确匹配的文档信息<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。实测中，AI 代理能够精准定位正确的 API，检查数据库结构，甚至运行 Tinker 来生成测试数据<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">🎵 Laravel Reverb：第一方 WebSocket 服务</h3>



<p class="wp-block-paragraph">Reverb 是 Laravel 官方推出的 WebSocket 服务器，原生支持实时通信场景。2025年底，Reverb 在 Laravel Cloud 上作为托管服务推出，用户无需自行运维 WebSocket 基础设施。</p>



<h3 class="wp-block-heading">🧭 Laravel Wayfinder：前后端路由桥梁</h3>



<p class="wp-block-paragraph">Wayfinder 于2025年4月进入公测，能将你的 Laravel 后端路由自动生成为完全类型化的 TypeScript 函数，在前端直接导入调用<a href="https://laravel-news.com/index.php/laravel-news-2025-recap" target="_blank" rel="noreferrer noopener"></a>。前后端接口变更时，TypeScript 编译器会立即报错，彻底告别手写 URL 和手动同步的时代。</p>



<h3 class="wp-block-heading">🔐 Laravel Passkeys：全面拥抱无密码认证</h3>



<p class="wp-block-paragraph">2026年4月，Laravel 将 Passkeys（通行密钥）支持全面融入框架生态<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a>：</p>



<ul class="wp-block-list">
<li><code>laravel/passkeys</code>：服务端 WebAuthn 处理</li>



<li><code>@laravel/passkeys</code>：React、Vue、Svelte 前端组件</li>



<li>Fortify 通过 <code>Features::passkeys()</code> 一键集成</li>
</ul>



<p class="wp-block-paragraph">这意味着开发者可以在 Laravel 应用中轻松实现无密码登录，用户通过指纹、面部识别或设备 PIN 即可安全认证。</p>



<h3 class="wp-block-heading">📦 Laravel AI SDK：统一 AI 接口</h3>



<p class="wp-block-paragraph">Laravel 13 引入了官方 AI SDK，提供对文本生成、工具调用 Agent、Embeddings、音频、图像及向量存储的统一编程接口<a href="https://laravel.com/docs/changelog" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>// 文本生成
$response = SalesCoach::make()->prompt('Analyze this sales transcript...');

// 图像生成
$image = Image::of('A donut sitting on the kitchen counter')->generate();

// 语音合成
$audio = Audio::of('I love coding with Laravel.')->generate();</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">// 文本生成</span></span>
<span class="line"><span style="color: #D8DEE9">$response</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> SalesCoach</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">make</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">prompt</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">Analyze this sales transcript...</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 图像生成</span></span>
<span class="line"><span style="color: #D8DEE9">$image</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> Image</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">of</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">A donut sitting on the kitchen counter</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">generate</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 语音合成</span></span>
<span class="line"><span style="color: #D8DEE9">$audio</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> Audio</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">of</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">I love coding with Laravel.</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">generate</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<p class="wp-block-paragraph">SDK 支持 OpenAI、Anthropic、Gemini、Groq、xAI 等主流服务商，随 Laravel 13 从 Beta 转为稳定版。</p>



<h2 class="wp-block-heading">四、从 v12 到 v13：版本演进路线图</h2>



<h3 class="wp-block-heading">Laravel 12：回归本质</h3>



<p class="wp-block-paragraph">2025年2月24日，Laravel 12 发布。与以往不同，这个版本<strong>几乎没有新增特性</strong><a href="https://laraveldaily.com/post/laravel-12-no-new-features?mtm_campaign=20250227-newsletter" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph">这并非偷懒，而是刻意的战略选择。Laravel 团队将重心放在了<strong>升级上游依赖和提升稳定性</strong>上，同时将所有新功能以小幅迭代方式在 Laravel 12.x 的周更版本中陆续发布<a href="https://laraveldaily.com/post/laravel-12-no-new-features?mtm_campaign=20250227-newsletter" target="_blank" rel="noreferrer noopener"></a>。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">💡&nbsp;<strong>核心启示</strong>：Laravel 已经足够成熟，不需要依赖大版本号来“证明”自己的价值。稳定的生态 + 持续的微创新，才是开发者真正需要的。</p>
</blockquote>



<h3 class="wp-block-heading">Laravel 13：原生 AI 时代的开篇</h3>



<p class="wp-block-paragraph">2026年3月17日，Laravel 13 正式发布，PHP 8.3 成为最低版本要求<a href="https://developer.aliyun.com/article/1718183" target="_blank" rel="noreferrer noopener"></a>。这个版本的升级几乎没有破坏性变更，但新增了一系列令人振奋的可选特性：</p>



<h4 class="wp-block-heading">🔹 大规模 PHP Attributes 支持</h4>



<p class="wp-block-paragraph">Laravel 13 在模型、控制器、队列任务、Console 命令等&nbsp;<strong>15处以上位置</strong>引入了原生 PHP Attributes 语法，让配置声明更直观<a href="https://laraveldaily.com/post/laravel-13-laracon-eu-taylor-otwell" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>// 模型配置
#&#91;Table('users', key: 'user_id', keyType: 'string', incrementing: false)&#93;
#[Fillable(&#91;'name', 'email'&#93;)]
#[Hidden(&#91;'password'&#93;)]
class User extends Model { }

// 控制器中间件与授权
class FlightController extends Controller
{
    #&#91;Middleware(LogRequests::class)&#93;
    #&#91;Authorize('view', 'flight')&#93;
    public function show(Flight $flight) { }
}

// 队列任务配置
#&#91;Tries(5)&#93;
#&#91;MaxExceptions(3)&#93;
class ReserveFlight implements ShouldQueue
{
    use Queueable;
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">// 模型配置</span></span>
<span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">Table</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">users</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">user_id</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyType</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">string</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">incrementing</span><span style="color: #D8DEE9FF">: </span><span style="color: #81A1C1">false</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">#[</span><span style="color: #88C0D0">Fillable</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">name</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">email</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">&#93;)]</span></span>
<span class="line"><span style="color: #D8DEE9FF">#[</span><span style="color: #88C0D0">Hidden</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">password</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">&#93;)]</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">User</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">extends</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">Model</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 控制器中间件与授权</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">FlightController</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">extends</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">Controller</span></span>
<span class="line"><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    #&#91;</span><span style="color: #88C0D0">Middleware</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">LogRequests</span><span style="color: #D8DEE9FF">::</span><span style="color: #D8DEE9">class</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    #&#91;</span><span style="color: #88C0D0">Authorize</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">view</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">flight</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">public</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">show</span><span style="color: #ECEFF4">(</span><span style="color: #D8DEE9">Flight</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$flight</span><span style="color: #ECEFF4">)</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 队列任务配置</span></span>
<span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">Tries</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">MaxExceptions</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">ReserveFlight</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">implements</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">ShouldQueue</span></span>
<span class="line"><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">use</span><span style="color: #D8DEE9FF"> Queueable</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 内置 JSON:API Resources</h4>



<p class="wp-block-paragraph">Laravel 13 首次内置了符合 JSON:API 规范的响应生成器，自动处理关系包含、稀疏字段集、链接及响应头，告别了第三方包依赖<a href="https://laravel.com/docs/changelog" target="_blank" rel="noreferrer noopener"></a>。</p>



<h4 class="wp-block-heading">🔹 队列路由（Queue Routing）</h4>



<p class="wp-block-paragraph">在统一位置为特定 Job 定义队列和连接规则：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">Queue</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">route</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ProcessPodcast</span><span style="color: #D8DEE9FF">::</span><span style="color: #D8DEE9">class</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">connection</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">redis</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">queue</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">podcasts</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 语义向量搜索</h4>



<p class="wp-block-paragraph">Laravel 13 内置原生向量查询支持，配合 PostgreSQL + pgvector 实现 AI 驱动的语义搜索<a href="https://developer.aliyun.com/article/1718183" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
    ->limit(10)
    ->get();</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">$documents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> DB</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">table</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">documents</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">whereVectorSimilarTo</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">embedding</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">Best wineries in Napa Valley</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">limit</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">get</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 Cache::touch() 方法</h4>



<p class="wp-block-paragraph">无需读取或重新写入即可延长缓存 TTL<a href="https://developer.aliyun.com/article/1718183" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Cache::touch('user_session:123', 3600);
Cache::touch('analytics_data', now()->addHours(6));</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">Cache</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">touch</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">user_session:123</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3600</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">Cache</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">touch</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">analytics_data</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">now</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">addHours</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">6</span><span style="color: #D8DEE9FF">))</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 防抖动队列任务</h4>



<p class="wp-block-paragraph">2026年4月引入，解决高频触发队列任务时的“雪崩”问题，合并突发调度，仅保留最后一次执行<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>#&#91;DebounceFor(10)&#93;  // 10秒内的重复调度只执行一次
class RegenerateReport implements ShouldQueue { }</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">DebounceFor</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)&#93;  </span><span style="color: #616E88">// 10秒内的重复调度只执行一次</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">RegenerateReport</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">implements</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">ShouldQueue</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p class="wp-block-paragraph">此外，MCP 工具现已支持<strong>渲染完整的沙盒化 HTML 应用</strong>（HTML/JS/CSS 内联在单个 Blade 视图中），AI 代理不再局限于纯文本交互——这是从命令行工具到交互式应用体验的一次质的飞跃<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a>。</p>



<h2 class="wp-block-heading">五、开发体验的革命</h2>



<h3 class="wp-block-heading">全新 Starter Kits</h3>



<p class="wp-block-paragraph">Laravel 12 引入了全新设计的 Starter Kits，提供 React、Vue 和 Livewire 三种技术栈选择，内置 Shadcn 组件库（Livewire 栈可选 Flux 免费版）。</p>



<p class="wp-block-paragraph">Laravel 13 在此基础上新增了<strong>团队（Teams）功能</strong>和&nbsp;<strong>Passkey 集成</strong>——你可以在不同浏览器标签页中通过不同 URL 切换团队，这在旧版 Jetstream 中一直是个痛点<a href="https://laraveldaily.com/post/laravel-13-laracon-eu-taylor-otwell" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">Laravel Precognition：前端实时验证</h3>



<p class="wp-block-paragraph">Precognition 让前端 JavaScript 应用能够“预判”后端验证结果，无需复制验证规则即可实现实时表单验证。</p>



<h3 class="wp-block-heading">Laravel Skills 市场</h3>



<p class="wp-block-paragraph">2026年初，Laravel 推出了开源的&nbsp;<strong>Laravel Skills 目录</strong>——一个可复用的 AI 代理技能市场，开发者可以浏览并一条命令安装所需技能，让 AI 代理具备安全审计、最佳实践检查等专业能力。</p>



<h2 class="wp-block-heading">六、社区：从代码到文化</h2>



<h3 class="wp-block-heading">Laravel 社区 App 正式上线</h3>



<p class="wp-block-paragraph">2026年3月，Laravel 团队正式发布了&nbsp;<strong>Laravel 社区 App</strong>（iOS &amp; Android双端）<a href="https://laravel.net.cn/blog/introducing-the-laravel-community-app" target="_blank" rel="noreferrer noopener"></a>。主要功能包括：</p>



<ul class="wp-block-list">
<li>发现 Laracon、Laravel Live 及全球各地的线下聚会</li>



<li>新活动推送通知，不错过任何交流机会</li>



<li>现场扫码连接社区伙伴，活动结束后的联系不中断</li>
</ul>



<h3 class="wp-block-heading">多元化与包容性</h3>



<p class="wp-block-paragraph"><strong>Larabelles</strong>&nbsp;社区通过奖学金、导师指导和社区活动，为 Laravel 中代表性不足的开发者创造空间。这种由下而上的社区行动，让 Laravel 不仅是一套技术工具，更是一个有人情味的开发者社群。</p>



<h3 class="wp-block-heading">2026年重要活动</h3>



<ul class="wp-block-list">
<li><strong>Laracon AU 2026</strong>：11月4-6日，布里斯班，议题征集已开放，聚焦深度技术内容与生产实践经验<a href="https://laravel-news.com/laracon-au-returns-for-2026?utm_medium=feed&amp;utm_source=feedpress.me&amp;utm_campaign=Feed%3A+laravelnews" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>Laracon US 2026</strong>：日期地点已公布，具体日程即将发布</li>
</ul>



<h2 class="wp-block-heading">七、结语：AI 时代的“工匠”精神</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Taylor Otwell 在 Laracon EU 2026 现场做了一个 Demo：他故意在网站上制造了一个 Bug，Nightwatch 捕获到异常，AI 代理通过 Nightwatch MCP 自动定位问题、在 Cloud 上创建测试环境，最后生成 Pull Request 并打电话问他：“要 merge 吗？”全场沸腾。</em><a href="https://laraveldaily.com/post/laravel-13-laracon-eu-taylor-otwell" target="_blank" rel="noreferrer noopener"></a></p>
</blockquote>



<p class="wp-block-paragraph">这或许就是 Laravel 在 AI 时代给出的答案——</p>



<p class="wp-block-paragraph">不是让 AI 取代开发者，而是让 AI 成为开发者的最佳搭档。开发者负责定义“要做什么”，AI 负责加速“怎么做到”。从 Laravel Boost 提供上下文，到 AI SDK 提供能力，再到 Nightwatch 发现问题和 Cloud 部署上线——一整套闭环正在形成。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">🔮&nbsp;<strong>展望 2026 下半年</strong>：Laravel 还将带来什么？API Starter Kits 即将发布，PHPverse 2026 将于6月回归，更多 AI-native 特性正在路上。正如 Taylor Otwell 所说：<strong>“Laravel 生态比以往任何时候都更加强大。”</strong></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>📅 本文完稿于 2026 年 5 月 6 日。文中所有产品信息与技术细节均来自 Laravel 官方文档、博客及权威技术媒体报道。</em></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/">Laravel 2026：AI 时代下的 Web 开发新范式</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VSCode ,codex,claude code使用 ‌oMLX‌ 本地模型</title>
		<link>https://www.atomic-cube.cn/vs-code-%e4%b8%ad%e4%bd%bf%e7%94%a8-omlx-%e6%9c%ac%e5%9c%b0%e6%a8%a1%e5%9e%8b/</link>
					<comments>https://www.atomic-cube.cn/vs-code-%e4%b8%ad%e4%bd%bf%e7%94%a8-omlx-%e6%9c%ac%e5%9c%b0%e6%a8%a1%e5%9e%8b/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 22:00:00 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[Codex]]></category>
		<category><![CDATA[Gin]]></category>
		<category><![CDATA[go-zero]]></category>
		<category><![CDATA[Golang]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Vibe Coding]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[token]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=1858</guid>

					<description><![CDATA[<p>在 VS Code 中使用 ‌oMLX‌ 本地模型，主要依赖于 oMLX 提供的 ‌OpenAI / Anth [&#8230;]</p>
<p>The post <a href="https://www.atomic-cube.cn/vs-code-%e4%b8%ad%e4%bd%bf%e7%94%a8-omlx-%e6%9c%ac%e5%9c%b0%e6%a8%a1%e5%9e%8b/">VSCode ,codex,claude code使用 ‌oMLX‌ 本地模型</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">在 VS Code 中使用 ‌<strong>oMLX</strong>‌ 本地模型，主要依赖于 oMLX 提供的 ‌<strong>OpenAI / Anthropic 兼容 API 接口</strong>‌，通过配置 VS Code 的 AI 插件（如 Continue、Copilot Chat 等）连接到 oMLX 本地服务。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">✅ 核心步骤</h3>



<ul class="wp-block-list">
<li>‌<strong>oMLX 仅支持 macOS + Apple Silicon（M1/M2/M3/M4/M5）</strong>‌，不支持 Windows 或 NVIDIA 显卡 ‌。</li>



<li>oMLX 启动后默认提供以下 API 接口：
<ul class="wp-block-list">
<li>OpenAI 兼容：<code>http://localhost:8000/v1</code></li>



<li>Anthropic 兼容：<code>http://localhost:8000</code></li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">🛠️ 在 VS Code 中配置 oMLX 的方法</h3>



<h4 class="wp-block-heading">一：使用 ‌<strong>Continue 插件</strong>‌（推荐）</h4>



<ol class="wp-block-list">
<li>‌<strong>安装 Continue 插件</strong>‌
<ul class="wp-block-list">
<li>打开 VS Code → 扩展市场 → 搜索&nbsp;<code>Continue</code>&nbsp;→ 安装 ‌。</li>
</ul>
</li>



<li>‌<strong>配置本地模型</strong>‌
<ul class="wp-block-list">
<li>打开 VS Code 设置（<code>Cmd+,</code>）→ 搜索&nbsp;<code>Continue</code>。</li>



<li>在&nbsp;<code>Continue: Models</code>&nbsp;中添加如下配置：</li>



<li>重启 VS Code 或重新加载 Continue。</li>
</ul>
</li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>models:
  - name: MLX-Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-v2-4bit
    provider: openai #一定要设置成openai
    model: MLX-Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-v2-4bit #这里改成本地使用的模型
    apiKey: omlx #这里改成本地omlx设置的apikey
    apiBase: http://localhost:8000/v1 #这里改成OMLX中API 端点OpenAI API的地址即可
    roles:
      - chat
      - edit
      - apply</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">models</span><span style="color: #ECEFF4">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> name</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MLX</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Qwen3</span><span style="color: #ECEFF4">.</span><span style="color: #B48EAD">5</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF">9</span><span style="color: #D8DEE9">B</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Claude</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">4.6</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Opus</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Reasoning</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Distilled</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">v2</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF">4</span><span style="color: #D8DEE9">bit</span></span>
<span class="line"><span style="color: #D8DEE9FF">    provider</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">openai</span><span style="color: #D8DEE9FF"> #</span><span style="color: #D8DEE9">一定要设置成openai</span></span>
<span class="line"><span style="color: #D8DEE9FF">    model</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MLX</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Qwen3</span><span style="color: #ECEFF4">.</span><span style="color: #B48EAD">5</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF">9</span><span style="color: #D8DEE9">B</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Claude</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">4.6</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Opus</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Reasoning</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">Distilled</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">v2</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF">4</span><span style="color: #D8DEE9">bit</span><span style="color: #D8DEE9FF"> #</span><span style="color: #D8DEE9">这里改成本地使用的模型</span></span>
<span class="line"><span style="color: #D8DEE9FF">    apiKey</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">omlx</span><span style="color: #D8DEE9FF"> #</span><span style="color: #D8DEE9">这里改成本地omlx设置的apikey</span></span>
<span class="line"><span style="color: #D8DEE9FF">    apiBase</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> http</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//localhost:8000/v1 #这里改成OMLX中API 端点OpenAI API的地址即可</span></span>
<span class="line"><span style="color: #D8DEE9FF">    roles</span><span style="color: #ECEFF4">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">      </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">chat</span></span>
<span class="line"><span style="color: #D8DEE9FF">      </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">edit</span></span>
<span class="line"><span style="color: #D8DEE9FF">      </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">apply</span></span></code></pre></div>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25.png"><img decoding="async" width="1024" height="645" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25-1024x645.png" alt="" class="wp-image-1878" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25-1024x645.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25-300x189.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25-768x484.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25-1536x968.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-25-2048x1291.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-scaled.png"><img decoding="async" width="1024" height="559" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-1024x559.png" alt="" class="wp-image-1915" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-1024x559.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-300x164.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-768x419.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-1536x839.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-35-2048x1118.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"></p>



<ol class="wp-block-list">
<li><strong>启动 oMLX 服务</strong>‌
<ul class="wp-block-list">
<li>确保 oMLX 已在终端或菜单栏中运行，并已加载目标模型 ‌。</li>
</ul>
</li>



<li>‌<strong>使用</strong>‌
<ul class="wp-block-list">
<li>在 VS Code 编辑器中右键 → 选择&nbsp;<code>Continue: Chat</code>、Agent&nbsp;或按快捷键（默认&nbsp;<code>Cmd+I</code>）即可调用本地模型。</li>
</ul>
</li>
</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">✅ 优势：完全离线、代码不上传云端、支持工具调用与结构化输出 ‌。</p>
</blockquote>



<p class="wp-block-paragraph">本地使用截图，能用，够用(M2 16G+512G的macbook pro，请忽略token生成的速度)：</p>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-scaled.png"><img decoding="async" width="1024" height="502" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-1024x502.png" alt="" class="wp-image-1882" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-1024x502.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-300x147.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-768x377.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-1536x753.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-26-2048x1004.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33.png"><img decoding="async" width="1024" height="458" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33-1024x458.png" alt="" class="wp-image-1896" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33-1024x458.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33-300x134.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33-768x343.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33-1536x687.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-33-2048x916.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17.png"><img decoding="async" width="1024" height="765" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17-1024x765.png" alt="" class="wp-image-1859" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17-1024x765.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17-300x224.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17-768x574.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17-1536x1148.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-17.png 1956w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h3 class="wp-block-heading">集成 Claude Code / Codex/<strong>OpenCode</strong>/<strong>OpenClaw</strong></h3>



<p class="wp-block-paragraph">oMLX 提供一键配置生成器，简化了与主流开发工具的集成：</p>



<ol class="wp-block-list">
<li>打开 Web 管理面板 (http://localhost:8000/admin)</li>



<li>选择要使用的模型</li>



<li>点击 “Integrations” 选项卡</li>



<li>一键复制配置命令</li>



<li>打开命令行，cd进入需要处理的项目文件夹，对应的命令 回车就可以啦，如codex和claude code的启动命令</li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>'/Applications/oMLX.app/Contents/MacOS/omlx-cli' launch codex --model 'MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit' --api-key 'omlx'</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">/Applications/oMLX.app/Contents/MacOS/omlx-cli</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">launch</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">codex</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">model</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">api</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">omlx</span><span style="color: #ECEFF4">&#39;</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ANTHROPIC_BASE_URL='http://127.0.0.1:8000' ANTHROPIC_AUTH_TOKEN='omlx' ANTHROPIC_DEFAULT_OPUS_MODEL='MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit' ANTHROPIC_DEFAULT_SONNET_MODEL='MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit' ANTHROPIC_DEFAULT_HAIKU_MODEL='MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit' API_TIMEOUT_MS=3000000 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 claude</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">ANTHROPIC_BASE_URL</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">http://127.0.0.1:8000</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ANTHROPIC_AUTH_TOKEN</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">omlx</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ANTHROPIC_DEFAULT_OPUS_MODEL</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ANTHROPIC_DEFAULT_SONNET_MODEL</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ANTHROPIC_DEFAULT_HAIKU_MODEL</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">MLX-Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-v2-8bit</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">API_TIMEOUT_MS</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">3000000</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">claude</span></span></code></pre></div>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30.png"><img decoding="async" width="1024" height="367" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-1024x367.png" alt="" class="wp-image-1889" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-1024x367.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-300x107.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-768x275.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-1536x550.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-2048x733.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31.png"><img decoding="async" width="1024" height="460" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-1024x460.png" alt="" class="wp-image-1891" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-1024x460.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-300x135.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-768x345.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-1536x689.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-2048x919.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34.png"><img decoding="async" width="1024" height="253" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-1024x253.png" alt="" class="wp-image-1909" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-1024x253.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-300x74.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-768x190.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-1536x380.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-2048x506.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29.png"><img decoding="async" width="1024" height="579" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29-1024x579.png" alt="" class="wp-image-1888" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29-1024x579.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29-300x170.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29-768x435.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29-1536x869.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-29-2048x1159.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36.png"><img decoding="async" width="1024" height="605" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-1024x605.png" alt="" class="wp-image-1918" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-1024x605.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-300x177.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-768x454.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-1536x908.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-2048x1211.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37.png"><img decoding="async" width="1024" height="609" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-1024x609.png" alt="" class="wp-image-1920" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-1024x609.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-300x178.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-768x457.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-1536x914.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-2048x1218.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
<p>The post <a href="https://www.atomic-cube.cn/vs-code-%e4%b8%ad%e4%bd%bf%e7%94%a8-omlx-%e6%9c%ac%e5%9c%b0%e6%a8%a1%e5%9e%8b/">VSCode ,codex,claude code使用 ‌oMLX‌ 本地模型</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/vs-code-%e4%b8%ad%e4%bd%bf%e7%94%a8-omlx-%e6%9c%ac%e5%9c%b0%e6%a8%a1%e5%9e%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2026AI 编码工具全面对比：Codex CLI、Claude Code、Cursor、Gemini CLI、Copilot CLI</title>
		<link>https://www.atomic-cube.cn/2026-ai-%e7%bc%96%e7%a0%81-cli-%e5%b7%a5%e5%85%b7%e5%85%a8%e9%9d%a2%e5%af%b9%e6%af%94%ef%bc%9acodex-cli%e3%80%81claude-code%e3%80%81cursor%e3%80%81gemini-cli%e3%80%81copilot-cli/</link>
					<comments>https://www.atomic-cube.cn/2026-ai-%e7%bc%96%e7%a0%81-cli-%e5%b7%a5%e5%85%b7%e5%85%a8%e9%9d%a2%e5%af%b9%e6%af%94%ef%bc%9acodex-cli%e3%80%81claude-code%e3%80%81cursor%e3%80%81gemini-cli%e3%80%81copilot-cli/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Sun, 26 Apr 2026 21:30:23 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[Codex]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Vibe Coding]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[codex]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[opencode]]></category>
		<category><![CDATA[token]]></category>
		<category><![CDATA[vibe coding]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=1927</guid>

					<description><![CDATA[<p>一、概述与产品定位 2025 至 2026 年间，AI 编程工具从 IDE 插件（以 Cursor 为代表）大 [&#8230;]</p>
<p>The post <a href="https://www.atomic-cube.cn/2026-ai-%e7%bc%96%e7%a0%81-cli-%e5%b7%a5%e5%85%b7%e5%85%a8%e9%9d%a2%e5%af%b9%e6%af%94%ef%bc%9acodex-cli%e3%80%81claude-code%e3%80%81cursor%e3%80%81gemini-cli%e3%80%81copilot-cli/">2026AI 编码工具全面对比：Codex CLI、Claude Code、Cursor、Gemini CLI、Copilot CLI</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、概述与产品定位</h2>



<p class="wp-block-paragraph">2025 至 2026 年间，AI 编程工具从 IDE 插件（以 Cursor 为代表）大举走向终端（即 “Vibe Coding”）。Anthropic 的 Claude Code、OpenAI 的 Codex CLI、Google 的 Gemini CLI 三款主流命令行工具相继成熟，它们以交互式终端为基本界面，支持读取本地文件、编辑代码、执行 Shell 命令，让开发者在终端内完成从原型到部署的完整编码流程<a href="https://zhuanlan.zhihu.com/p/2024146096939614452" target="_blank" rel="noreferrer noopener"></a>。与此同时，Cursor 于 2026 年 1 月推出 CLI 功能，GitHub Copilot CLI 于 2026 年 2 月正式 GA，终端 AI 编码的战场已经全面铺开<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a>。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="458" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-45-1024x458.png" alt="" class="wp-image-1945" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-45-1024x458.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-45-300x134.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-45-768x343.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-45-1536x687.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-45-2048x916.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">工具</th><th class="has-text-align-left" data-align="left">出品方</th><th class="has-text-align-left" data-align="left">核心定位</th><th class="has-text-align-left" data-align="left">起步价格</th></tr></thead><tbody><tr><td><strong>Claude Code</strong></td><td>Anthropic</td><td>高自主度终端 Agent</td><td>$20/月（Pro）</td></tr><tr><td><strong>Cursor CLI</strong></td><td>Anysphere</td><td>AI 原生 IDE + CLI 混合体</td><td>$20/月（Pro）</td></tr><tr><td><strong>Gemini CLI</strong></td><td>Google</td><td>开源终端 Agent</td><td>免费（1,000 次请求/天）</td></tr><tr><td><strong>Codex CLI</strong></td><td>OpenAI</td><td>轻量开源终端 Agent</td><td>$20/月（ChatGPT Plus）</td></tr><tr><td><strong>Copilot CLI</strong></td><td>GitHub / Microsoft</td><td>GitHub 原生 CLI</td><td>免费 / $10/月起（Pro）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">以上信息综合整理自各工具官方文档与公开资料<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a>。</p>



<h2 class="wp-block-heading">二、综合对比总表</h2>



<p class="wp-block-paragraph">下表从核心维度对五款工具进行全景对比：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">对比维度</th><th class="has-text-align-left" data-align="left">Claude Code</th><th class="has-text-align-left" data-align="left">Cursor CLI</th><th class="has-text-align-left" data-align="left">Gemini CLI</th><th class="has-text-align-left" data-align="left">Codex CLI</th><th class="has-text-align-left" data-align="left">Copilot CLI</th></tr></thead><tbody><tr><td><strong>主界面</strong></td><td>终端 + VS Code + Web + 桌面</td><td>VS Code 分支 + CLI</td><td>终端</td><td>终端 + macOS 桌面 App</td><td>终端 + IDE + Web</td></tr><tr><td><strong>SWE-bench Verified</strong></td><td><strong>80.9%</strong>（Opus 4.5）</td><td>~73%（取决于所选模型）</td><td>~65%</td><td>77.3%（Terminal-Bench 2.0）</td><td>未公布官方成绩</td></tr><tr><td><strong>最大上下文窗口</strong></td><td>200K（1M Beta）</td><td>200K</td><td><strong>1M（免费）</strong></td><td>1M（Pro）</td><td>~128K</td></tr><tr><td><strong>多模型支持</strong></td><td>仅 Claude 系列</td><td>✅ 多模型</td><td>仅 Google 系列</td><td>仅 OpenAI 系列</td><td>✅ Claude、GPT、Gemini、xAI</td></tr><tr><td><strong>Tab 实时补全</strong></td><td>❌</td><td>✅（&lt;100ms）</td><td>❌</td><td>❌</td><td>✅</td></tr><tr><td><strong>IDE 集成</strong></td><td>VS Code / JetBrains</td><td>VS Code 原生</td><td>❌</td><td>VS Code / Cursor</td><td>VS Code / JetBrains</td></tr><tr><td><strong>MCP 支持</strong></td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td><strong>后台 Agent</strong></td><td>✅（子 Agent + 云会话）</td><td>✅（云 VM 后台）</td><td>❌</td><td>✅（云沙箱）</td><td>✅（后台委托）</td></tr><tr><td><strong>开源</strong></td><td>❌ 闭源</td><td>❌ 闭源</td><td>✅ 开源</td><td>✅ 开源（Apache 2.0）</td><td>❌ 闭源</td></tr><tr><td><strong>CI/CD 支持</strong></td><td>✅（GitHub Actions）</td><td>❌</td><td>✅</td><td>✅（headless 模式）</td><td>✅（GitHub Actions）</td></tr><tr><td><strong>操作系统支持</strong></td><td>macOS / Linux / Win(WSL)</td><td>macOS / Windows / Linux</td><td>macOS / Linux / Windows</td><td>macOS / Linux（Win 预览）</td><td>macOS / Linux / Windows</td></tr><tr><td><strong>Skill.md 标准</strong></td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td><strong>安装方式</strong></td><td>npm / Homebrew / 原生二进制</td><td>IDE 内安装</td><td>npm（<code>@google/gemini-cli</code>）</td><td>npm / 原生二进制</td><td>GitHub CLI 插件</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">主要数据来源：Morphllm 2026 年综合评测、各工具官方文档、JEECG 低代码 2026 年 4 月横评<a href="https://www.morphllm.com/best-ai-coding-agents-2026" target="_blank" rel="noreferrer noopener"></a><a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a><a href="https://blog.csdn.net/zhangdaiscott/article/details/160244202" target="_blank" rel="noreferrer noopener"></a><a href="https://www.morphllm.com/comparisons/claude-code-alternatives" target="_blank" rel="noreferrer noopener"></a></p>



<h2 class="wp-block-heading">三、核心能力：谁的编程能力最强？</h2>



<h3 class="wp-block-heading">3.1 SWE-bench Verified 基准跑分</h3>



<p class="wp-block-paragraph">SWE-bench Verified 是目前最权威的编码 Agent 评测标准，任务是自动修复真实的 GitHub Issue。各工具排名如下：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">排名</th><th class="has-text-align-left" data-align="left">工具</th><th class="has-text-align-left" data-align="left">得分</th><th class="has-text-align-left" data-align="left">备注</th></tr></thead><tbody><tr><td>🥇</td><td><strong>Claude Code</strong></td><td><strong>80.9%</strong></td><td>首次通过率约 95%，绝大多数任务一次通过<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a></td></tr><tr><td>🥈</td><td><strong>Codex CLI</strong></td><td>77.3%</td><td>Terminal-Bench 2.0 数据，用 Rust 重写后速度和 Token 效率大幅提升<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a></td></tr><tr><td>🥉</td><td><strong>Cursor</strong></td><td>~73%</td><td>取决于底层模型选择，选用 Claude 时表现最佳<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a></td></tr><tr><td>4</td><td><strong>Gemini CLI</strong></td><td>~65%</td><td>Google 模型在创意和搜索上有优势，但纯编码任务还有提升空间<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a></td></tr><tr><td>5</td><td><strong>Copilot CLI</strong></td><td>未公布</td><td>社区反馈显示复杂任务表现偏弱<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">3.2 真实项目实测</h3>



<p class="wp-block-paragraph">Particula Tech 团队用一个完整的 Express.js 项目重构作为测试任务，结果如下<a href="https://blog.csdn.net/zhangdaiscott/article/details/160244202" target="_blank" rel="noreferrer noopener"></a>：</p>



<ul class="wp-block-list">
<li><strong>Claude Code</strong>：完成时间 1 小时 17 分钟，一次通过 ✓</li>



<li><strong>Codex CLI</strong>：完成时间 1 小时 41 分钟，一次通过 ✓</li>



<li><strong>Gemini CLI</strong>：完成时间 2 小时 04 分钟，一次通过 ✓</li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="505" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-39-1024x505.png" alt="" class="wp-image-1930" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-39-1024x505.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-39-300x148.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-39-768x379.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-39.png 1336w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">3.3 各维度能力细项对比</h3>



<p class="wp-block-paragraph">以下表格展示了五款工具在不同开发维度上的能力分布<a href="https://blog.csdn.net/zhangdaiscott/article/details/160244202" target="_blank" rel="noreferrer noopener"></a>：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">能力维度</th><th class="has-text-align-left" data-align="left">Claude Code</th><th class="has-text-align-left" data-align="left">Cursor CLI</th><th class="has-text-align-left" data-align="left">Gemini CLI</th><th class="has-text-align-left" data-align="left">Codex CLI</th><th class="has-text-align-left" data-align="left">Copilot CLI</th></tr></thead><tbody><tr><td>多文件复杂重构</td><td>✅ 最强</td><td>✅ 强</td><td>⚠️ 中等</td><td>⚠️ 中等</td><td>❌ 弱</td></tr><tr><td>超大代码库理解（1M 上下文）</td><td>✅（Beta）</td><td>⚠️ 200K</td><td>✅ 免费 1M</td><td>✅ 1M（Pro）</td><td>❌ ~128K</td></tr><tr><td>实时 Tab 补全</td><td>❌</td><td>✅ &lt;100ms</td><td>❌</td><td>❌</td><td>✅</td></tr><tr><td>截图转代码</td><td>❌</td><td>✅</td><td>❌</td><td>✅</td><td>❌</td></tr><tr><td>实时网络搜索</td><td>❌</td><td>❌</td><td>✅ Google 搜索</td><td>❌</td><td>❌</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>从中可以解读出</strong>：Claude Code 在自主规划、复杂多文件操作上遥遥领先，Cursor 在交互式实时编码体验上无人能敌，Gemini CLI 免费提供最大的上下文窗口和搜索能力，Codex CLI 在性能和安全性之间取得了出色平衡，Copilot CLI 则在 GitHub 生态深度和低价方面独树一帜<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a>。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="823" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-40-1024x823.png" alt="" class="wp-image-1931" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-40-1024x823.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-40-300x241.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-40-768x617.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-40.png 1161w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">四、生态与扩展功能对比</h2>



<h3 class="wp-block-heading">4.1 MCP 服务器支持</h3>



<p class="wp-block-paragraph">五款工具全部支持 MCP（Model Context Protocol），这是 2026 年 AI 编码工具的重要基础设施。MCP 允许 Agent 连接到数据库、API、浏览器等外部工具和服务<a href="https://www.morphllm.com/claude-coding-agent" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph"><strong>各工具 MCP 扩展亮点</strong>：</p>



<ul class="wp-block-list">
<li><strong>Claude Code</strong>：支持 STDIO 和流式 HTTP 服务器，通过&nbsp;<code>claude mcp add</code>&nbsp;命令管理<a href="https://www.morphllm.com/claude-coding-agent" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>Gemini CLI</strong>：支持通过 hooks 机制在 Agent 生命周期的特定节点调用 MCP 服务<a href="https://devops.com/google-adds-hooks-to-gemini-cli-for-customized-ai-workflows/" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>Copilot CLI</strong>：可自定义 Agent 使用 MCP 服务器，实现 Work IQ 等高级功能</li>
</ul>



<h3 class="wp-block-heading">4.2 Skill.md 标准</h3>



<p class="wp-block-paragraph">SKILL.md 标准是 2026 年出现的重要标准化成果，实现了跨工具技能互通，让开发者能灵活组合使用不同工具以优化工作流。五款工具均已支持此标准，这意味着你可以在 Claude Code 中编写的技能文件，同样可以在 Codex CLI 或 Gemini CLI 中使用，大大降低了工具切换成本<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">4.3 价格体系与总拥有成本</h3>



<p class="wp-block-paragraph">五款工具的价格体系反映了各自面向的目标用户群体不同。</p>



<h4 class="wp-block-heading">（1）按价定价之外，还要关注上限</h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">工具</th><th class="has-text-align-left" data-align="left">基础套餐</th><th class="has-text-align-left" data-align="left">进阶套餐</th><th class="has-text-align-left" data-align="left">企业级</th><th class="has-text-align-left" data-align="left">免费层</th><th class="has-text-align-left" data-align="left">模型锁定？</th></tr></thead><tbody><tr><td><strong>Claude Code</strong></td><td>$20/月（Claude Pro）</td><td>$100-200/月（Max）</td><td>Teams / Enterprise</td><td>无</td><td><strong>是</strong>（仅 Claude 模型）</td></tr><tr><td><strong>Cursor CLI</strong></td><td>$20/月（Pro）</td><td>$60-200/月（Pro+/Ultra）</td><td>企业定制</td><td>有限免费</td><td>否（多模型）</td></tr><tr><td><strong>Gemini CLI</strong></td><td><strong>免费</strong>（1,000 请求/天）</td><td>N/A</td><td>N/A</td><td><strong>是</strong></td><td>是（仅 Google 模型）</td></tr><tr><td><strong>Codex CLI</strong></td><td>$20/月（ChatGPT Plus）</td><td>Pro</td><td>Enterprise</td><td>有限免费</td><td>是（仅 OpenAI 模型）</td></tr><tr><td><strong>Copilot CLI</strong></td><td><strong>$10/月</strong>（Copilot Pro）</td><td>$39/月（Pro+）</td><td>Business $19 / Enterprise $39</td><td>2,000 次补全 + 50 次高级请求/月</td><td><strong>否</strong>（多模型）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Copilot 超额使用费为每次高级请求 $0.04，包括 Chat、CLI、Agent 模式、代码审核和 Spark 功能<a href="https://www.morphllm.com/comparisons/claude-code-vs-copilot" target="_blank" rel="noreferrer noopener"></a>。Claude Code 是唯一完全没有免费层的工具，Gemini CLI 则是性价比最高的选择<a href="https://www.morphllm.com/comparisons/claude-code-alternatives" target="_blank" rel="noreferrer noopener"></a>。</p>



<h4 class="wp-block-heading">（2）隐藏的成本考量</h4>



<ul class="wp-block-list">
<li><strong>Token 膨胀</strong>：虽然 Claude Code 定价最高，但独立测试显示它在完成相同任务时的 Token 消耗远低于 Cursor（约 33K vs 188K），这让高阶用户的实际成本可能更低</li>



<li><strong>Codex 沙箱</strong>：OpenAI 的 Codex CLI 提供免费的本地执行和云端沙箱分离，Token 优化据称可以减少 40-60% 的实际消耗<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>Gemini 免费的代价</strong>：1M 上下文免费，但搜索和复杂任务可能请求消耗较快，而且只支持 Google 自家模型</li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="505" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-41-1024x505.png" alt="" class="wp-image-1932" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-41-1024x505.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-41-300x148.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-41-768x379.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-41.png 1336w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">4.4 工具间配合：不是“替换”而是“组合”</h3>



<p class="wp-block-paragraph">2026 年的调查显示，有经验的开发者平均使用&nbsp;<strong>2.3 个工具同时工作</strong>。这些工具并非相互排斥——每个都有自己擅长的工作场景<a href="https://wavespeed.ai/blog/posts/claude-code-vs-cursor-2026/" target="_blank" rel="noreferrer noopener"></a>。具体推荐组合见下文选择建议。</p>



<h2 class="wp-block-heading">五、优势与局限总结</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">工具</th><th class="has-text-align-left" data-align="left">核心优势</th><th class="has-text-align-left" data-align="left">主要短板</th></tr></thead><tbody><tr><td><strong>Claude Code</strong></td><td>自主重构能力最强，SWE-bench 得分最高（80.9%），Agent Teams 支持并行子任务，CLAUDE.md 项目记忆驱动</td><td>仅支持 Claude 模型，无免费层，价格最高（$20-200/月），无 Tab 实时补全</td></tr><tr><td><strong>Cursor CLI</strong></td><td>实时 &lt;200ms Tab 补全行业领先，8 个并行 Agent，多模型自由切换，VS Code 原生体验</td><td>非开源，SWE-bench 依赖所选模型，自主重构能力不及 Claude Code</td></tr><tr><td><strong>Gemini CLI</strong></td><td>完全免费 + 1,000 次请求/天，1M 上下文免费，Google 搜索集成，开源可审计</td><td>纯编码任务不如 Claude Code / Codex CLI，无 Tab 补全，仅 Google 模型</td></tr><tr><td><strong>Codex CLI</strong></td><td>Rust 重写后性能出色，云端沙箱安全隔离，开源（Apache 2.0），Token 效率高（据称减少 40-60%）</td><td>$20/月起步，仅 OpenAI 模型，Windows 尚在预览阶段</td></tr><tr><td><strong>Copilot CLI</strong></td><td>价格最低（$10/月起 + 免费层），5 种模型自由选择，GitHub 生态深度集成，内置代码审查 Agent</td><td>复杂重构能力弱，上下文窗口小（~128K），开源透明度不足</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">六、选型决策指南</h2>



<h3 class="wp-block-heading">按开发者画像推荐</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">用户画像</th><th class="has-text-align-left" data-align="left">首选工具</th><th class="has-text-align-left" data-align="left">备选工具</th><th class="has-text-align-left" data-align="left">理由</th></tr></thead><tbody><tr><td><strong>专注复杂重构的架构师</strong></td><td>Claude Code</td><td>Codex CLI</td><td>80.9% SWE-bench 得分、Agent Teams、多文件自主操作</td></tr><tr><td><strong>日常编码为主的开发者</strong></td><td>Cursor CLI + Copilot CLI</td><td>—</td><td>Cursor 的 Tab 补全 + Copilot 的多模型和低价，双工具覆盖 80% 场景</td></tr><tr><td><strong>预算有限的个人 / 学生</strong></td><td>Gemini CLI</td><td>Copilot CLI 免费层</td><td>免费、1M 上下文、Google 搜索接地气</td></tr><tr><td><strong>开源贡献者</strong></td><td>Codex CLI</td><td>Gemini CLI</td><td>Apache 2.0 开源、可审计、可自定义</td></tr><tr><td><strong>GitHub 深度用户</strong></td><td>Copilot CLI</td><td>Claude Code</td><td>PR / Issue 原生集成、多模型选择、CI/CD 管道</td></tr><tr><td><strong>全栈 / Web 开发者</strong></td><td>Cursor CLI + Codex CLI</td><td>—</td><td>VS Code 生态 + 截图转代码 + 远程服务器 Dev</td></tr><tr><td><strong>数据隐私优先的企业</strong></td><td>自部署 Codex</td><td>Gemini CLI</td><td>开源、企业级部署</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">按任务场景推荐</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">任务场景</th><th class="has-text-align-left" data-align="left">推荐工具</th><th class="has-text-align-left" data-align="left">说明</th></tr></thead><tbody><tr><td><strong>大规模代码重构</strong></td><td>Claude Code</td><td>Agent Teams 并行处理，先计划后执行，支持 Git Worktree 安全操作</td></tr><tr><td><strong>日常快速编码</strong></td><td>Cursor CLI 或 Copilot CLI（Tab 补全）</td><td>Cursor 的 &lt;200ms Tab 补全覆盖日常 80% 编码需求</td></tr><tr><td><strong>复杂多步骤任务（CI/CD）</strong></td><td>Codex CLI</td><td>云端沙箱隔离执行，支持 headless 远程操作，适合 DevOps 自动化</td></tr><tr><td><strong>代码审查</strong></td><td>Copilot CLI（内置 Code Review Agent）</td><td>自动委托给专业审查 Agent，修复建议可直接采纳</td></tr><tr><td><strong>学习新技术栈</strong></td><td>Gemini CLI（Ask + 搜索）或 Cursor CLI（Ask 模式）</td><td>免费上下文窗口 + Google 搜索接地气</td></tr><tr><td><strong>API 文档编写</strong></td><td>Claude Code</td><td>强大的自主生成和结构化内容能力</td></tr><tr><td><strong>多模型对比实验</strong></td><td>Cursor CLI 或 Copilot CLI</td><td>支持在多个模型间自由切换，方便比较</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">实际工作流建议</h3>



<p class="wp-block-paragraph">2026 年 AI 编码调查显示，有经验的开发者平均使用&nbsp;<strong>2.3 个工具</strong>。这些工具并非互斥——每个都有其擅长的工作场景<a href="https://wavespeed.ai/blog/posts/claude-code-vs-cursor-2026/" target="_blank" rel="noreferrer noopener"></a>。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">组合方案</th><th class="has-text-align-left" data-align="left">核心配置</th><th class="has-text-align-left" data-align="left">月成本</th><th class="has-text-align-left" data-align="left">适合人群</th></tr></thead><tbody><tr><td><strong>日常极简主义</strong></td><td>Copilot CLI（Tab 补全 + 多模型）</td><td><strong>$10</strong></td><td>普通开发者的全能选择</td></tr><tr><td><strong>高效全能型</strong></td><td>Cursor + Codex CLI（IDE + 后台 Agent）</td><td>$40（Cursor $20 + Codex $20）</td><td>全栈 / 高级开发者的日常主力和后台自动化</td></tr><tr><td><strong>性能狂热型</strong></td><td>Claude Code + Copilot CLI（重构 + 补全）</td><td>$30（CC $20 + Copilot $10）</td><td>架构师 + 高要求项目的全覆盖方案</td></tr><tr><td><strong>零成本学习型</strong></td><td>Gemini CLI + Cursor 免费层（搜索 + 补全）</td><td><strong>$0</strong></td><td>学生 / 学习者 / 试水者</td></tr></tbody></table></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="422" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-42-1024x422.png" alt="" class="wp-image-1934" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-42-1024x422.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-42-300x124.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-42-768x316.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-42-1536x632.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-42.png 1785w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">七、2026 年关键趋势</h2>



<p class="wp-block-paragraph"><strong>1. 终端成为新的战场。</strong>&nbsp;2026 年，所有主流 AI 编码工具都已经或即将发布 CLI 版本，终端已成为 AI Agent 的第一界面<a href="https://zhuanlan.zhihu.com/p/2024146096939614452" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph"><strong>2. 多工具组合使用成为常态。</strong>&nbsp;单靠一个工具解决所有问题的时代已经过去，开发者倾向于根据不同任务选择最佳工具，再利用 Skill.md 标准实现跨工具复用<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph"><strong>3. 上下文窗口竞赛白热化。</strong>&nbsp;Gemini CLI 免费提供 1M 上下文，Claude Code 有 1M Beta，Codex CLI 的 Pro 版也达到 1M。更大的上下文窗口意味着更好的代码库理解能力。</p>



<p class="wp-block-paragraph"><strong>4. 开源与闭源的博弈。</strong>&nbsp;Gemini CLI 和 Codex CLI 选择了开源路线，Claude Code 和 Cursor 则保持闭源。开源意味着可审计、可定制，闭源则意味着更集中的资源投入。</p>



<p class="wp-block-paragraph"><strong>5. 后台 Agent 执行成为标配。</strong>&nbsp;从 Cursor 的 Cloud Agent 到 Copilot CLI 的&nbsp;<code>&amp;</code>&nbsp;前缀后台委托，再到 Codex CLI 的云端沙箱执行，AI 编码正在从“人盯 AI”走向“AI 自主执行、人异步审查”的新范式。</p>



<p class="wp-block-paragraph"><strong>6. 国内生态加速接入。</strong>&nbsp;Claude Code 支持阿里云 Coding Plan，可调用 Qwen 系列模型<a href="https://www.alibabacloud.com/help/tc/model-studio/claude-code-coding-plan" target="_blank" rel="noreferrer noopener"></a>。低代码平台 JEECG 等已深度集成 AI CLI 工具，形成面向国内开发者的完整工具链<a href="https://my.oschina.net/jeecg/blog/19579572" target="_blank" rel="noreferrer noopener"></a>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>本报告综合整理自 Morphllm 2026 年评测数据、各工具官方文档与 GitHub 仓库、以及多个独立开发者社区的实际使用反馈。AI 编码工具迭代极快，建议在决策前查阅各工具最新文档。</em></p>
<p>The post <a href="https://www.atomic-cube.cn/2026-ai-%e7%bc%96%e7%a0%81-cli-%e5%b7%a5%e5%85%b7%e5%85%a8%e9%9d%a2%e5%af%b9%e6%af%94%ef%bc%9acodex-cli%e3%80%81claude-code%e3%80%81cursor%e3%80%81gemini-cli%e3%80%81copilot-cli/">2026AI 编码工具全面对比：Codex CLI、Claude Code、Cursor、Gemini CLI、Copilot CLI</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/2026-ai-%e7%bc%96%e7%a0%81-cli-%e5%b7%a5%e5%85%b7%e5%85%a8%e9%9d%a2%e5%af%b9%e6%af%94%ef%bc%9acodex-cli%e3%80%81claude-code%e3%80%81cursor%e3%80%81gemini-cli%e3%80%81copilot-cli/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mac 本地跑 AI 大模型神器OMLX：专为 Apple Silicon深度优化的开源本地大语言模型（LLM）推理引擎</title>
		<link>https://www.atomic-cube.cn/mac-%e6%9c%ac%e5%9c%b0%e8%b7%91-ai-%e5%a4%a7%e6%a8%a1%e5%9e%8b%e7%a5%9e%e5%99%a8%ef%bc%9aomlx%ef%bc%9a%e4%b8%93%e4%b8%ba-apple-silicon-mac-%e6%b7%b1%e5%ba%a6%e4%bc%98%e5%8c%96%e7%9a%84%e5%bc%80/</link>
					<comments>https://www.atomic-cube.cn/mac-%e6%9c%ac%e5%9c%b0%e8%b7%91-ai-%e5%a4%a7%e6%a8%a1%e5%9e%8b%e7%a5%9e%e5%99%a8%ef%bc%9aomlx%ef%bc%9a%e4%b8%93%e4%b8%ba-apple-silicon-mac-%e6%b7%b1%e5%ba%a6%e4%bc%98%e5%8c%96%e7%9a%84%e5%bc%80/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Sat, 25 Apr 2026 21:20:19 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[Codex]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Vibe Coding]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[codex]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[omlx]]></category>
		<category><![CDATA[openclaw]]></category>
		<category><![CDATA[opencode]]></category>
		<category><![CDATA[token]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=1723</guid>

					<description><![CDATA[<p>oMLX.AI 是专为 macOS 设计的原生 MLX 服务器，旨在充分利用 Apple Silicon 的计算能力，提供极速的本地大型语言模型（LLM）推理体验</p>
<p>The post <a href="https://www.atomic-cube.cn/mac-%e6%9c%ac%e5%9c%b0%e8%b7%91-ai-%e5%a4%a7%e6%a8%a1%e5%9e%8b%e7%a5%9e%e5%99%a8%ef%bc%9aomlx%ef%bc%9a%e4%b8%93%e4%b8%ba-apple-silicon-mac-%e6%b7%b1%e5%ba%a6%e4%bc%98%e5%8c%96%e7%9a%84%e5%bc%80/">Mac 本地跑 AI 大模型神器OMLX：专为 Apple Silicon深度优化的开源本地大语言模型（LLM）推理引擎</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">oMLX.AI 是专为 macOS 设计的原生 MLX 服务器，旨在充分利用 Apple Silicon 的计算能力，提供极速的本地大型语言模型（LLM）推理体验。该平台通过融合智能 SSD 缓存与连续批处理技术，解决了传统内存缓存的局限性，实现了低延迟多模型推理。开发者无需依赖云端，即可在本地环境中高效测试、部署和优化 AI 模型，适用于编码辅助、内容生成及多模态任务等场景。</p>



<p class="wp-block-paragraph">对于 macOS 用户而言，一款能够充分发挥 Apple Silicon 芯片潜力的本地大模型推理引擎显得尤为重要。</p>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16.png"><img decoding="async" width="1024" height="560" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16-1024x560.png" alt="" class="wp-image-1812" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16-1024x560.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16-300x164.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16-768x420.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16-1536x840.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-16-2048x1120.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-scaled.png"><img decoding="async" width="1024" height="803" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-1024x803.png" alt="" class="wp-image-1735" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-1024x803.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-300x235.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-768x602.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-1536x1205.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/Screenshot-2026-02-10-at-00.45.34-2048x1606.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"><strong>oMLX&nbsp;</strong>正是为解决这一痛点而生的开源项目。它是一个专为 macOS 原生设计的 MLX 服务器，提供 LLM 大语言模型推理服务，具有智能缓存功能，针对编码代理的实际工作方式进行了深度优化。</p>



<p class="wp-block-paragraph"><strong>🎯 oMLX 的核心价值：</strong>让 Claude Code、OpenClaw 和 Cursor 等工具能在&nbsp;<strong>5 秒内响应</strong>，而非传统的 90 秒。这意味着开发效率的质的飞跃！</p>



<p class="wp-block-paragraph">核心功能特性</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/11.png"><img decoding="async" width="793" height="579" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/11.png" alt="" class="wp-image-1732" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/11.png 793w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/11-300x219.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/11-768x561.png 768w" sizes="(max-width: 793px) 100vw, 793px" /></a></figure>
</div>


<p class="wp-block-paragraph">技术架构详解</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/22.png"><img decoding="async" width="594" height="416" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/22.png" alt="" class="wp-image-1733" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/22.png 594w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/22-300x210.png 300w" sizes="(max-width: 594px) 100vw, 594px" /></a></figure>
</div>


<p class="wp-block-paragraph">oMLX 的技术架构采用分层设计，核心组件包括：</p>



<ul class="wp-block-list">
<li><strong>FastAPI Server</strong>：提供 OpenAI 和 Anthropic API 兼容接口</li>



<li><strong>EnginePool</strong>：多模型管理，支持 LRU 驱逐、TTL、手动加载/卸载</li>



<li><strong>ProcessMemoryEnforcer</strong>：总内存限制，防止 OOM</li>



<li><strong>Scheduler</strong>：FCFS 调度，可配置批处理大小</li>



<li><strong>Cache Stack</strong>：分层 KV 缓存（内存热缓存 + SSD 冷缓存）</li>
</ul>



<h2 class="wp-block-heading">实测性能数据</h2>



<p class="wp-block-paragraph">oMLX 官方基准测试收集了大量社区用户的测试数据。以下是不同 Apple Silicon 芯片的实测表现：</p>



<h3 class="wp-block-heading">M4 Pro (48GB) 测试结果</h3>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-4.png"><img decoding="async" width="1024" height="418" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-4-1024x418.png" alt="" class="wp-image-1726" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-4-1024x418.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-4-300x122.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-4-768x313.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-4.png 1338w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-5.png"><img decoding="async" width="1024" height="501" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-5-1024x501.png" alt="" class="wp-image-1727" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-5-1024x501.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-5-300x147.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-5-768x376.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-5.png 1336w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">安装与配置</h2>



<h3 class="wp-block-heading">系统要求</h3>



<ul class="wp-block-list">
<li><strong>芯片</strong>：Apple Silicon (M1/M2/M3/M4/M5)</li>



<li><strong>系统</strong>：macOS 15.0+ (Sequoia)</li>



<li><strong>内存</strong>：最低 16GB（推荐 64GB+）</li>



<li><strong>Python</strong>：3.10+</li>
</ul>



<h3 class="wp-block-heading">安装方式一：macOS 应用（推荐）</h3>



<h4 class="wp-block-heading">方式 A：macOS 应用（推荐）</h4>



<ol class="wp-block-list">
<li>从 <a href="https://github.com/jundot/omlx/releases" target="_blank" rel="noopener" title="">GitHub Releases</a> 下载 DMG 文件</li>



<li>拖动到 Applications 文件夹</li>



<li>首次启动时显示欢迎屏幕，引导完成以下步骤</li>
</ol>



<ul class="wp-block-list">
<li>设置模型目录</li>



<li>启动服务器</li>



<li>下载第一个模型</li>
</ul>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10.png"><img decoding="async" width="1024" height="698" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10-1024x698.png" alt="" class="wp-image-1739" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10-1024x698.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10-300x205.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10-768x524.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10-1536x1047.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-10-2048x1397.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32.png"><img decoding="async" width="1024" height="458" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32-1024x458.png" alt="" class="wp-image-1892" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32-1024x458.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32-300x134.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32-768x343.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32-1536x687.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-32-2048x916.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h3 class="wp-block-heading">安装方式二：Homebrew</h3>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># 添加 Tap 并安装
brew tap jundot/omlx https://github.com/jundot/omlx
brew install omlx

# 升级到最新版本
brew update &amp;&amp; brew upgrade omlx

# 作为后台服务运行（崩溃自动重启）
brew services start omlx

# 可选：安装 MCP 支持
/opt/homebrew/opt/omlx/libexec/bin/pip install mcp</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">添加</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Tap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">并安装</span></span>
<span class="line"><span style="color: #D8DEE9">brew</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">jundot</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">omlx</span><span style="color: #D8DEE9FF"> https</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//github.com/jundot/omlx</span></span>
<span class="line"><span style="color: #D8DEE9">brew</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">install</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">omlx</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">升级到最新版本</span></span>
<span class="line"><span style="color: #D8DEE9">brew</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">update</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">brew</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">upgrade</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">omlx</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">作为后台服务运行</span><span style="color: #D8DEE9FF">（</span><span style="color: #D8DEE9">崩溃自动重启</span><span style="color: #D8DEE9FF">）</span></span>
<span class="line"><span style="color: #D8DEE9">brew</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">services</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">start</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">omlx</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">可选</span><span style="color: #D8DEE9FF">：</span><span style="color: #D8DEE9">安装</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MCP</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">支持</span></span>
<span class="line"><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">opt</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">homebrew</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">opt</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">omlx</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">libexec</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">bin</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">pip</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">install</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">mcp</span></span></code></pre></div>



<p class="wp-block-paragraph">安装方式三：从源码安装</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># 克隆并安装
git clone https://github.com/jundot/omlx.git
cd omlx
pip install -e .              # 仅核心功能
pip install -e ".&#91;mcp&#93;"       # 带 MCP 支持

# 启动服务
omlx serve --model-dir ~/models</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">克隆并安装</span></span>
<span class="line"><span style="color: #D8DEE9">git</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">clone</span><span style="color: #D8DEE9FF"> https</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//github.com/jundot/omlx.git</span></span>
<span class="line"><span style="color: #D8DEE9">cd</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">omlx</span></span>
<span class="line"><span style="color: #D8DEE9">pip</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">install</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">e</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9FF">              # </span><span style="color: #D8DEE9">仅核心功能</span></span>
<span class="line"><span style="color: #D8DEE9">pip</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">install</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">e</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">.&#91;mcp&#93;</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">       # </span><span style="color: #D8DEE9">带</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MCP</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">支持</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">启动服务</span></span>
<span class="line"><span style="color: #D8DEE9">omlx</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">serve</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">model</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">~/</span><span style="color: #D8DEE9">models</span></span></code></pre></div>



<h2 class="wp-block-heading">使用教程</h2>



<h3 class="wp-block-heading">启动服务器</h3>



<p class="wp-block-paragraph">通过命令行启动 oMLX 服务器：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># 基本启动
omlx serve --model-dir ~/models

# 启用 SSD 缓存
omlx serve --model-dir ~/models --paged-ssd-cache-dir ~/.omlx/cache

# 设置内存限制
omlx serve --model-dir ~/models --max-process-memory 80%</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">基本启动</span></span>
<span class="line"><span style="color: #D8DEE9">omlx</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">serve</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">model</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">~/</span><span style="color: #D8DEE9">models</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">启用</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SSD</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">缓存</span></span>
<span class="line"><span style="color: #D8DEE9">omlx</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">serve</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">model</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">~</span><span style="color: #ECEFF4">/</span><span style="color: #EBCB8B">models --paged-ssd-cache-dir ~</span><span style="color: #ECEFF4">/</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">omlx</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">cache</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">设置内存限制</span></span>
<span class="line"><span style="color: #D8DEE9">omlx</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">serve</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">model</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">~/</span><span style="color: #D8DEE9">models</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">max</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">process</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">memory</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">80</span><span style="color: #81A1C1">%</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>💡 提示：</strong>可以复用现有的&nbsp;LM Studio&nbsp;模型目录，无需重新下载所有模型。</p>



<h3 class="wp-block-heading">API 调用示例</h3>



<h3 class="wp-block-heading">Chat Completions</h3>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "model-name",
    "messages": &#91;{"role": "user", "content": "你好！"}&#93;
  }'</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">curl</span><span style="color: #D8DEE9FF"> http</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//localhost:8000/v1/chat/completions \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">H</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Content-Type: application/json</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">d</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">model</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">model-name</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">messages</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: &#91;</span><span style="color: #ECEFF4">{</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">role</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">user</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">content</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">你好！</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">}</span><span style="color: #D8DEE9FF">&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">  }</span><span style="color: #ECEFF4">&#39;</span></span></code></pre></div>



<p class="wp-block-paragraph">流式输出</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "model-name",
    "messages": &#91;{"role": "user", "content": "写一首诗"}&#93;,
    "stream": true
  }'</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">curl</span><span style="color: #D8DEE9FF"> http</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//localhost:8000/v1/chat/completions \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">H</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Content-Type: application/json</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">d</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">model</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">model-name</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">messages</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: &#91;</span><span style="color: #ECEFF4">{</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">role</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">user</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">content</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">写一首诗</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">}</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">stream</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: </span><span style="color: #81A1C1">true</span></span>
<span class="line"><span style="color: #D8DEE9FF">  }</span><span style="color: #ECEFF4">&#39;</span></span></code></pre></div>



<p class="wp-block-paragraph">Anthropic API</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>curl http://localhost:8000/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: your-key" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": &#91;{"role": "user", "content": "解释量子计算"}&#93;
  }'</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">curl</span><span style="color: #D8DEE9FF"> http</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//localhost:8000/v1/messages \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">H</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Content-Type: application/json</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">H</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">x-api-key: your-key</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">H</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">anthropic-version: 2023-06-01</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> \</span></span>
<span class="line"><span style="color: #D8DEE9FF">  </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">d</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">model</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">claude-sonnet-4-20250514</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">max_tokens</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: </span><span style="color: #B48EAD">1024</span><span style="color: #ECEFF4">,</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">messages</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">: &#91;</span><span style="color: #ECEFF4">{</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">role</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">user</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">content</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">解释量子计算</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">}</span><span style="color: #D8DEE9FF">&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">  }</span><span style="color: #ECEFF4">&#39;</span></span></code></pre></div>



<h3 class="wp-block-heading">集成 Claude Code / Codex/<strong>OpenCode</strong>/<strong>OpenClaw</strong></h3>



<p class="wp-block-paragraph">oMLX 提供一键配置生成器，简化了与主流开发工具的集成：</p>



<ol class="wp-block-list">
<li>打开 Web 管理面板 (http://localhost:8000/admin)</li>



<li>选择要使用的模型</li>



<li>点击 &#8220;Integrations&#8221; 选项卡</li>



<li>一键复制配置命令</li>



<li>粘贴到对应工具的配置文件</li>
</ol>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30.png"><img decoding="async" width="1024" height="367" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-1024x367.png" alt="" class="wp-image-1889" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-1024x367.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-300x107.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-768x275.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-1536x550.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-30-2048x733.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31.png"><img decoding="async" width="1024" height="460" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-1024x460.png" alt="" class="wp-image-1891" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-1024x460.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-300x135.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-768x345.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-1536x689.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-31-2048x919.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34.png"><img decoding="async" width="1024" height="253" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-1024x253.png" alt="" class="wp-image-1909" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-1024x253.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-300x74.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-768x190.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-1536x380.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-34-2048x506.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36.png"><img decoding="async" width="1024" height="605" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-1024x605.png" alt="" class="wp-image-1918" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-1024x605.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-300x177.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-768x454.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-1536x908.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-36-2048x1211.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37.png"><img decoding="async" width="1024" height="609" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-1024x609.png" alt="" class="wp-image-1920" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-1024x609.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-300x178.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-768x457.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-1536x914.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-37-2048x1218.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"><strong>重要说明：</strong>推荐配置为 M 系列 Pro/Max + 64GB+ 内存，以获得最佳的使用体验。16GB 内存虽然可以运行，但可能会遇到内存不足的情况。</p>



<h2 class="wp-block-heading">与传统方案对比</h2>



<h3 class="wp-block-heading">oMLX vs&nbsp;Ollama&nbsp;/ LM Studio</h3>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a36c58bb206e&quot;}" data-wp-interactive="core/image" data-wp-key="6a36c58bb206e" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1024" height="700" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-12-1024x700.png" alt="" class="wp-image-1744" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-12-1024x700.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-12-300x205.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-12-768x525.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/image-12.png 1264w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph"><strong>oMLX 的核心竞争力在于：</strong></p>



<ul class="wp-block-list">
<li><strong>极速响应</strong>：TTFT 从 30-90 秒缩短到 5 秒以内</li>



<li><strong>智能缓存</strong>：SSD KV 缓存技术实现上下文复用</li>



<li><strong>高并发</strong>：连续批处理支持 8× 并发，吞吐量提升 4.14×</li>



<li><strong>原生体验</strong>：非 Electron 构建的系统原生应用</li>



<li><strong>完全开源</strong>：Apache 2.0 许可证，透明可控</li>
</ul>



<p class="wp-block-paragraph">最大的区别就是<strong>缓存机制</strong>：</p>



<p class="wp-block-paragraph">Ollama和LM Studio的KV缓存都是放在内存里的，而且一旦对话的上下文变化，比如你用Claude Code的时候，它会不断地修改上下文，加工具调用的结果，这时候整个缓存就直接失效了，下次还要重新计算一遍，这就是为什么你会等半天。</p>



<p class="wp-block-paragraph">而oMLX的缓存是块级的，持久化到SSD，不管上下文怎么变，只要有相同的前缀，就能直接复用缓存，不用重新算，这就是它能把首响从90秒降到5秒的核心原因。</p>



<p class="wp-block-paragraph">而且oMLX专门针对Claude Code这类AI编码工具做了优化，比如SSE keep-alive防止长请求超时，上下文缩放让小模型也能配合Claude Code用，这些都是其他工具没有的。</p>



<p class="wp-block-paragraph">oMLX 不仅是一个性能强大的 LLM 推理引擎，更通过其创新的缓存机制和友好的交互设计，解决了本地部署大模型的实际痛点。如果你拥有一台 Apple Silicon Mac，并希望在本地高效、便捷地运行大模型，oMLX 无疑是一个非常值得尝试的选择。</p>



<p class="wp-block-paragraph">如果你有一台Apple Silicon Mac，并且正在寻找一个高效、易用的本地LLM推理方案，oMLX值得你立即上手体验。它很可能就是那块让Mac变身私人AI数据中心的最后拼图。</p>



<p class="wp-block-paragraph"><strong>快速入口</strong>：</p>



<ul class="wp-block-list">
<li>GitHub仓库：<a href="https://github.com/jundot/omlx" target="_blank" rel="noreferrer noopener">https://github.com/jundot/omlx</a></li>



<li>官方网站：<a href="https://omlx.ai/" target="_blank" rel="noreferrer noopener">https://omlx.ai/</a></li>



<li>直接下载DMG：<a href="https://github.com/jundot/omlx/releases" target="_blank" rel="noreferrer noopener">https://github.com/jundot/omlx/releases</a></li>
</ul>



<p class="wp-block-paragraph">快去试试吧，然后把你的Mac菜单栏交给oMLX——相信你也会成为它的忠实用户。</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.atomic-cube.cn/mac-%e6%9c%ac%e5%9c%b0%e8%b7%91-ai-%e5%a4%a7%e6%a8%a1%e5%9e%8b%e7%a5%9e%e5%99%a8%ef%bc%9aomlx%ef%bc%9a%e4%b8%93%e4%b8%ba-apple-silicon-mac-%e6%b7%b1%e5%ba%a6%e4%bc%98%e5%8c%96%e7%9a%84%e5%bc%80/">Mac 本地跑 AI 大模型神器OMLX：专为 Apple Silicon深度优化的开源本地大语言模型（LLM）推理引擎</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/mac-%e6%9c%ac%e5%9c%b0%e8%b7%91-ai-%e5%a4%a7%e6%a8%a1%e5%9e%8b%e7%a5%9e%e5%99%a8%ef%bc%9aomlx%ef%bc%9a%e4%b8%93%e4%b8%ba-apple-silicon-mac-%e6%b7%b1%e5%ba%a6%e4%bc%98%e5%8c%96%e7%9a%84%e5%bc%80/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vibe Coding：AI 时代编程范式的变革与争议</title>
		<link>https://www.atomic-cube.cn/vibe-coding%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e7%bc%96%e7%a8%8b%e8%8c%83%e5%bc%8f%e7%9a%84%e5%8f%98%e9%9d%a9%e4%b8%8e%e4%ba%89%e8%ae%ae/</link>
					<comments>https://www.atomic-cube.cn/vibe-coding%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e7%bc%96%e7%a8%8b%e8%8c%83%e5%bc%8f%e7%9a%84%e5%8f%98%e9%9d%a9%e4%b8%8e%e4%ba%89%e8%ae%ae/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Vibe Coding]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[token]]></category>
		<category><![CDATA[vibe coding]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=1599</guid>

					<description><![CDATA[<p>🤔 一句话理解 Vibe Coding 2025 年 2 月，OpenAI 联合创始人 Andrej Karp [&#8230;]</p>
<p>The post <a href="https://www.atomic-cube.cn/vibe-coding%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e7%bc%96%e7%a8%8b%e8%8c%83%e5%bc%8f%e7%9a%84%e5%8f%98%e9%9d%a9%e4%b8%8e%e4%ba%89%e8%ae%ae/">Vibe Coding：AI 时代编程范式的变革与争议</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">🤔 一句话理解 Vibe Coding</h3>



<p class="wp-block-paragraph">2025 年 2 月，OpenAI 联合创始人 Andrej Karpathy 在社交媒体上分享了自己使用 AI 编程的体验，并用一个新词来描述这种状态——Vibe Coding（氛围编程）。他给出的定义是：“完全跟着感觉走，拥抱指数增长，忘掉代码本身的存在。”同年 11 月，柯林斯词典将这个词评为 2025 年度词汇。</p>



<p class="wp-block-paragraph">简单来说，Vibe Coding 是一种全新的 AI 驱动编程方式：你只需要用自然语言描述需求，AI 就会生成可运行的代码；你只管看效果，不对就继续对 AI 说，直到感觉“对味”为止。开发者从“代码搬运工”转变为“解决问题工程师”，聚焦于需求表达、结果验证和迭代反馈，而非逐行编写和审查代码。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="447" height="1024" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1-447x1024.png" alt="" class="wp-image-1600" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1-447x1024.png 447w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1-131x300.png 131w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1-768x1760.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1-670x1536.png 670w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1-893x2048.png 893w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb1.png 910w" sizes="(max-width: 447px) 100vw, 447px" /></figure>



<h3 class="wp-block-heading">🔧 核心工具生态</h3>



<p class="wp-block-paragraph">Vibe Coding 的工具生态在 2026 年已相当成熟。全球 92% 的美国开发者每天使用 AI 编程工具，AI 生成的代码占全球总代码量的 41%。Vibe Coding 工具市场估值已达 47 亿美元，其中 63% 的用户为非专业开发者。<a href="https://www.taskade.com/blog/best-vibe-coding-tools" target="_blank" rel="noreferrer noopener"></a></p>



<p class="wp-block-paragraph">主流工具可按使用场景分为以下几类：</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="287" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb2-1024x287.png" alt="" class="wp-image-1601" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb2-1024x287.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb2-300x84.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb2-768x215.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb2-1536x431.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/vb2-2048x575.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>主流工具速览：</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">工具</th><th class="has-text-align-left" data-align="left">类型</th><th class="has-text-align-left" data-align="left">特点</th><th class="has-text-align-left" data-align="left">定价</th></tr></thead><tbody><tr><td>Cursor</td><td>IDE</td><td>上下文理解最强，估值 293 亿美元</td><td>$20/月</td></tr><tr><td>Windsurf</td><td>IDE</td><td>Agent 驱动，适合复杂项目</td><td>$15/月</td></tr><tr><td>Claude Code</td><td>终端</td><td>自然语言管理整个代码库</td><td>$20/月</td></tr><tr><td>GitHub Copilot</td><td>插件</td><td>无缝融入现有工作流</td><td>$19/月</td></tr><tr><td>Bolt.new</td><td>浏览器</td><td>快速生成前端原型</td><td>$25/月</td></tr><tr><td>Lovable</td><td>全栈平台</td><td>从描述到可运行应用</td><td>$25/月</td></tr><tr><td>Replit</td><td>云 IDE</td><td>全栈开发 + 一键部署</td><td>$20/月</td></tr><tr><td>v0</td><td>浏览器</td><td>专注 UI 组件生成</td><td>$20/月</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://www.taskade.com/blog/best-vibe-coding-tools" target="_blank" rel="noreferrer noopener"></a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<h3 class="wp-block-heading">⚡ Vibe Coding 的争议与困境</h3>



<p class="wp-block-paragraph">随着 Vibe Coding 的爆发式增长，一系列问题和争议也随之而来。</p>



<p class="wp-block-paragraph"><strong>App Store 的封杀潮</strong></p>



<p class="wp-block-paragraph">2026 年初，苹果开始大规模封杀 Vibe Coding 类应用。Replit、Vibecode、Rork、<a href="https://a0.dev/" target="_blank" rel="noreferrer noopener">a0.dev</a>&nbsp;等产品先后受到波及，其中 Rork 停止了 iOS 运营，<a href="https://a0.dev/" target="_blank" rel="noreferrer noopener">a0.dev</a>&nbsp;直接放弃了苹果平台。苹果的理由是：Vibe Coding 应用可以在审核后动态生成和执行新代码，违反了 App Store 审核指南第 2.5.2 条。<a href="https://36kr.com/p/3747601311220228" target="_blank" rel="noreferrer noopener"></a></p>



<p class="wp-block-paragraph">封杀的背后是应用数量的爆发式增长——美国 iOS 应用发布量同比增长 56%，审核时间从 24 小时暴增至 30 天，苹果的审核基础设施不堪重负。<a href="https://www.entrepreneur.com/business-news/app-store-submissions-are-the-highest-in-10-years" target="_blank" rel="noreferrer noopener"></a></p>



<p class="wp-block-paragraph"><strong>安全漏洞触目惊心</strong></p>



<p class="wp-block-paragraph">安全研究公司 Escape 扫描了 5600 多个 Vibe Coding 应用，发现了超过 2000 个安全漏洞、400 多个暴露的密钥以及 175 例个人隐私数据泄露，包括医疗记录和银行账号。<a href="https://36kr.com/p/3747601311220228" target="_blank" rel="noreferrer noopener"></a>Veracode 的 2025 年 AI 代码安全报告显示，45% 的 AI 生成代码存在安全漏洞。<a href="https://kissflow.com/no-code/vibe-coding-vs-no-code-vs-low-code/#target1" target="_blank" rel="noreferrer noopener"></a></p>



<p class="wp-block-paragraph"><strong>“只适合做 Demo，不适合做产品”</strong></p>



<p class="wp-block-paragraph">靠 Vibe Coding 在 72 小时内杀入 GitHub 全球贡献榜的金融背景创业者杨天润坦言：“Vibe Coding 只适合做 Demo，不适合做产品。当你只是想做一个简单的网页，它很完美；但当你要做一个复杂的商业软件时，它就可能会乱成一锅粥。”<a href="https://36kr.com/p/3747601311220228" target="_blank" rel="noreferrer noopener"></a></p>



<p class="wp-block-paragraph">写代码一直是开发中最不重要的一步，决定代码质量上限的是 AI 尚不具备的深层业务理解和复杂架构设计能力。</p>
</blockquote>



<h3 class="wp-block-heading">📦 必知的 GitHub 开源项目</h3>



<p class="wp-block-paragraph">以下是与 Vibe Coding 紧密相关的优质 GitHub 开源项目，适合不同阶段的开发者：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">项目名称</th><th class="has-text-align-left" data-align="left">Star 数</th><th class="has-text-align-left" data-align="left">适用人群</th><th class="has-text-align-left" data-align="left">一句话介绍</th><th class="has-text-align-left" data-align="left">链接</th></tr></thead><tbody><tr><td><strong>vibe-coding-cn</strong></td><td>19.2k+<a href="https://www.sourcepulse.org/projects/20963596" target="_blank" rel="noreferrer noopener"></a></td><td>中文开发者</td><td>专为中文开发者打造的 Vibe Coding 指南，提供“道、法、术、器”四层哲学框架和可复用的 AI 结对编程工作流<a href="https://followin.io/zh-Hans/feed/24155134" target="_blank" rel="noreferrer noopener"></a>。</td><td><a href="https://github.com/2025Emma/vibe-coding-cn" target="_blank" rel="noreferrer noopener">https://github.com/2025Emma/vibe-coding-cn</a></td></tr><tr><td><strong>Awesome Vibe Coding</strong></td><td>3.1k+</td><td>所有开发者</td><td>AI 编程工具的“认知地图”，收录浏览器端、IDE、插件、CLI 等全栈工具。</td><td><a href="https://github.com/filipecalegario/awesome-vibe-coding" target="_blank" rel="noreferrer noopener">https://github.com/filipecalegario/awesome-vibe-coding</a></td></tr><tr><td><strong>AI Code Guide</strong></td><td>&#8211;</td><td>零基础入门</td><td>AI 编程路线图，系统整理 Cursor、<a href="https://bolt.new/" target="_blank" rel="noreferrer noopener">Bolt.new</a>&nbsp;等工具栈和工作流。</td><td><a href="https://github.com/automata/aicodeguide" target="_blank" rel="noreferrer noopener">https://github.com/automata/aicodeguide</a></td></tr><tr><td><strong>Context Engineering Template</strong></td><td>&#8211;</td><td>中高级开发者</td><td>上下文工程模板，通过 CLAUDE.md、PRP 蓝图等让 AI 产出更稳定。</td><td><a href="https://github.com/coleam00/context-engineering-intro" target="_blank" rel="noreferrer noopener">https://github.com/coleam00/context-engineering-intro</a></td></tr><tr><td><strong>Vibe Coding Prompt Template</strong></td><td>&#8211;</td><td>产品经理/创业者</td><td>5 步工作流（研究→定义→设计→生成指令→构建）快速构建 MVP。</td><td><a href="https://github.com/KhazP/vibe-coding-prompt-template" target="_blank" rel="noreferrer noopener">https://github.com/KhazP/vibe-coding-prompt-template</a></td></tr><tr><td><strong>Claude Code Settings</strong></td><td>&#8211;</td><td>Claude Code 用户</td><td>一套配置和指令集，将“Research → Plan → Code”理念固化到工具中。</td><td><a href="https://github.com/feiskyer/claude-code-settings" target="_blank" rel="noreferrer noopener">https://github.com/feiskyer/claude-code-settings</a></td></tr><tr><td><strong>BettaFish（微舆）</strong></td><td>36k+</td><td>进阶学习</td><td>多 Agent 舆情分析助手，20 岁大学生用 Vibe Coding 完成，登顶 GitHub 热榜。</td><td><a href="https://github.com/666ghj/BettaFish" target="_blank" rel="noreferrer noopener">https://github.com/666ghj/BettaFish</a></td></tr><tr><td><strong>Health Reminder</strong></td><td>&#8211;</td><td>实战参考</td><td>VS Code 健康提醒插件，完整展示如何用 AI 从零构建实用工具。</td><td><a href="https://github.com/yaolifeng0629/Health-Reminder" target="_blank" rel="noreferrer noopener">https://github.com/yaolifeng0629/Health-Reminder</a></td></tr><tr><td><strong>AudioNoise</strong></td><td>&#8211;</td><td>开源爱好者</td><td>Linus Torvalds 用 Vibe Coding 开发的开源音频降噪项目。</td><td><a href="https://github.com/torvalds/AudioNoise" target="_blank" rel="noreferrer noopener">https://github.com/torvalds/AudioNoise</a></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">💎 总结</h3>



<p class="wp-block-paragraph">Vibe Coding 正在重塑软件开发的范式——它大幅降低了应用开发的门槛，让更多人能将创意变成现实。但它并不是银弹：目前最适合快速原型验证和个人小工具，面对复杂的商业产品仍需专业开发者的架构能力和安全知识把关。</p>



<p class="wp-block-paragraph">正如 Andrej Karpathy 本人所说，Vibe Coding 最适合的是“周末的临时项目”。<a href="https://kissflow.com/no-code/vibe-coding-vs-no-code-vs-low-code/#target1" target="_blank" rel="noreferrer noopener"></a>在 AI 真正具备深层业务理解和架构设计能力之前，人依然是编程链条中最重要的一环。善用 Vibe Coding 的关键在于：让 AI 帮你加速实现，而你负责把控方向和质量。</p>
<p>The post <a href="https://www.atomic-cube.cn/vibe-coding%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e7%bc%96%e7%a8%8b%e8%8c%83%e5%bc%8f%e7%9a%84%e5%8f%98%e9%9d%a9%e4%b8%8e%e4%ba%89%e8%ae%ae/">Vibe Coding：AI 时代编程范式的变革与争议</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/vibe-coding%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e7%bc%96%e7%a8%8b%e8%8c%83%e5%bc%8f%e7%9a%84%e5%8f%98%e9%9d%a9%e4%b8%8e%e4%ba%89%e8%ae%ae/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Agent Skills：像搭积木一样赋予 AI 专业能力</title>
		<link>https://www.atomic-cube.cn/agent-skills%ef%bc%9a%e5%83%8f%e6%90%ad%e7%a7%af%e6%9c%a8%e4%b8%80%e6%a0%b7%e8%b5%8b%e4%ba%88-ai-%e4%b8%93%e4%b8%9a%e8%83%bd%e5%8a%9b/</link>
					<comments>https://www.atomic-cube.cn/agent-skills%ef%bc%9a%e5%83%8f%e6%90%ad%e7%a7%af%e6%9c%a8%e4%b8%80%e6%a0%b7%e8%b5%8b%e4%ba%88-ai-%e4%b8%93%e4%b8%9a%e8%83%bd%e5%8a%9b/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Vibe Coding]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[agent]]></category>
		<category><![CDATA[llm]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=1595</guid>

					<description><![CDATA[<p>试想一个场景：你新招了一位实习生，他聪明、反应快，但对你公司的业务流程、内部规范、工具操作一无所知。怎么办？你 [&#8230;]</p>
<p>The post <a href="https://www.atomic-cube.cn/agent-skills%ef%bc%9a%e5%83%8f%e6%90%ad%e7%a7%af%e6%9c%a8%e4%b8%80%e6%a0%b7%e8%b5%8b%e4%ba%88-ai-%e4%b8%93%e4%b8%9a%e8%83%bd%e5%8a%9b/">Agent Skills：像搭积木一样赋予 AI 专业能力</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">试想一个场景：你新招了一位实习生，他聪明、反应快，但对你公司的业务流程、内部规范、工具操作一无所知。怎么办？你给他写了一份详细的&nbsp;<strong>SOP 手册</strong>，告诉他遇到什么情况该怎么做、用到什么工具、注意什么细节。从此，这位实习生就像一位经验丰富的老员工一样稳定输出。</p>



<p class="wp-block-paragraph"><strong>Agent Skills，就是 AI 智能体的那份 SOP 手册。</strong></p>



<h3 class="wp-block-heading">🤔 一句话理解 Agent Skills</h3>



<p class="wp-block-paragraph">Agent Skills 是一种<strong>轻量级的开放标准</strong>，由 Anthropic 于 2025 年底发布，迅速被 OpenAI、Microsoft、GitHub、Cursor 等主流平台采纳<a href="https://midokura.com/the-rise-of-skills-why-2026-is-the-year-of-specialized-ai-agents/" target="_blank" rel="noreferrer noopener"></a>。它的核心思想非常简单：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>把一个任务的全部“know-how”——操作步骤、判断依据、可执行脚本、参考资料——打包成一个文件夹，AI 智能体在需要时自动读取并严格执行。</strong></p>
</blockquote>



<p class="wp-block-paragraph">Skill 就像 AI 的“即插即用”扩展包。一个 PDF 处理 Skill，让 AI 瞬间掌握提取文本、合并文档的能力；一个发票处理 Skill，让 AI 自动识别发票信息、重命名文件、生成汇总报告<a href="http://wap.yesky.com/ai/114/347114.shtml" target="_blank" rel="noreferrer noopener"></a>。你不必每次都从头教 AI 怎么做，它自己就知道该调用哪个“技能包”。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="795" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill1-1024x795.png" alt="" class="wp-image-1596" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill1-1024x795.png 1024w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill1-300x233.png 300w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill1-768x596.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill1-1536x1193.png 1536w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill1.png 2031w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">一个 Skill 长什么样？</h3>



<p class="wp-block-paragraph">Agent Skills 本质是一个<strong>按约定组织的文件夹</strong>。以 PDF 处理 Skill 为例<a href="https://midokura.com/the-rise-of-skills-why-2026-is-the-year-of-specialized-ai-agents/" target="_blank" rel="noreferrer noopener"></a><a href="https://developer.aliyun.com/article/1688626" target="_blank" rel="noreferrer noopener"></a>：</p>



<pre class="wp-block-code"><code>pdf-processing/           # 技能文件夹
├── SKILL.md              # 必需：技能定义与工作流
├── references/           # 可选：详细参考资料
│   ├── field-mappings.md
│   └── validation-rules.md
└── scripts/              # 可选：可执行脚本
    └── extract_data.py</code></pre>



<p class="wp-block-paragraph">核心是 <code>SKILL.md</code> 文件，顶部用 YAML 声明元数据，正文是 Markdown 格式的详细操作说明<a href="https://developer.aliyun.com/article/1714293" target="_blank" rel="noreferrer noopener"></a>：</p>



<pre class="wp-block-code"><code>---
name: pdf-processing
description: 从 PDF 提取文本和表格，填写表单，合并文档。
---
# PDF 处理工作流

1. 用 `scripts/extract_data.py` 读取 PDF 文件
2. 提取字段：供应商名称、发票号、日期、明细、合计
3. 按 `references/validation-rules.md` 验证数据
4. 按 `references/field-mappings.md` 的 schema 输出 JSON</code></pre>



<p class="wp-block-paragraph">就是这么简单。AI 读到这个文件，就知道何时该激活这个技能、按什么流程操作、需要时去读取哪些附加文件。</p>



<h3 class="wp-block-heading">🔄 为什么需要 Skills？——告别“每次重头教一遍”</h3>



<p class="wp-block-paragraph">在 Skills 出现之前，开发者想赋予 AI 专业能力，通常有两种做法：</p>



<ol start="1" class="wp-block-list">
<li><strong>写超长 Prompt</strong>：把所有操作规范、步骤全部塞进提示词，每次对话都重复一遍，导致上下文臃肿、成本高昂。</li>



<li><strong>硬编码工具调用</strong>：用代码写死调用逻辑，但缺乏灵活性，且不同任务需要写不同的定制 Agent。</li>
</ol>



<p class="wp-block-paragraph">Skills 通过&nbsp;<strong>“渐进式披露”</strong>&nbsp;机制，巧妙地解决了这个问题<a href="https://developer.aliyun.com/article/1688626" target="_blank" rel="noreferrer noopener"></a><a href="https://developer.aliyun.com/article/1693119" target="_blank" rel="noreferrer noopener"></a>：</p>



<figure class="wp-block-image size-large"><img decoding="async" width="451" height="1024" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2-451x1024.png" alt="" class="wp-image-1597" srcset="https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2-451x1024.png 451w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2-132x300.png 132w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2-768x1744.png 768w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2-676x1536.png 676w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2-902x2048.png 902w, https://www.atomic-cube.cn/wp-content/uploads/2026/04/skill2.png 1084w" sizes="(max-width: 451px) 100vw, 451px" /></figure>



<p class="wp-block-paragraph"><strong>三步走，按需加载</strong>：</p>



<ul class="wp-block-list">
<li><strong>第一层（元数据）</strong> ：启动时只加载所有技能的名称和简介，占用极少上下文。</li>



<li><strong>第二层（主体指令）</strong> ：AI 判断某个技能与当前任务相关时，才加载完整的 <code>SKILL.md</code>。</li>



<li><strong>第三层（附加资源）</strong> ：只有在执行具体步骤时，才读取引用的参考资料或执行脚本。</li>
</ul>



<p class="wp-block-paragraph">这种设计让 AI 可以拥有大量专业技能，而不会撑爆上下文窗口。</p>



<h3 class="wp-block-heading">⚡ Skills vs. MCP Tools：菜谱 vs. 食材</h3>



<p class="wp-block-paragraph">很多人初次接触 Skills 时会问：这和 MCP（Model Context Protocol）工具调用有什么区别？一个生动的比喻可以帮你瞬间厘清<a href="https://platform.uno/blog/contextual-ai-mcptools-vs-skills/" target="_blank" rel="noreferrer noopener"></a><a href="https://developer.aliyun.com/article/1714690" target="_blank" rel="noreferrer noopener"></a>：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">概念</th><th class="has-text-align-left" data-align="left">比喻</th><th class="has-text-align-left" data-align="left">解决的问题</th></tr></thead><tbody><tr><td><strong>MCP Tools</strong></td><td>🥚&nbsp;<strong>食材</strong>（鸡蛋、面粉、盐）</td><td>“AI 能做什么操作？”（查数据库、调 API、读文件）</td></tr><tr><td><strong>Agent Skills</strong></td><td>📖&nbsp;<strong>菜谱</strong>（步骤说明、火候控制）</td><td>“AI 该怎么做好这件事？”（流程、规范、判断依据）</td></tr><tr><td><strong>AI Agent</strong></td><td>👨‍🍳&nbsp;<strong>厨师</strong></td><td>根据菜谱选择食材，完成一道菜</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">MCP 工具是原子化的外部能力——数据库查询、API 调用、文件读写——每个工具只做一件小事。而 Skills 是更高层级的“行为模式”，它告诉 AI：什么时候该用工具、用什么工具、按什么顺序组合、如何验证结果。<strong>一个强大的 AI 智能体 = 大模型 + MCP 工具 + Skills 操作流程</strong>——三者缺一不可。</p>



<h3 class="wp-block-heading">🚀 如何创建一个自己的 Skill？</h3>



<p class="wp-block-paragraph">创建一个 Skill 只需要三个步骤<a href="https://developer.aliyun.com/article/1714293" target="_blank" rel="noreferrer noopener"></a>：</p>



<ol start="1" class="wp-block-list">
<li><strong>创建文件夹</strong>：命名为技能名称（如 <code>my-first-skill</code>），放在 AI 智能体的 skills 目录下。</li>



<li><strong>编写 SKILL.md</strong>：顶部 YAML 声明 <code>name</code> 和 <code>description</code>，正文用 Markdown 写清楚工作流程和注意事项。</li>



<li><strong>添加附加文件（可选）</strong> ：在 <code>scripts/</code> 放 Python/Shell 脚本，在 <code>references/</code> 放补充文档。</li>
</ol>



<p class="wp-block-paragraph">写好之后，支持 Skills 的 AI 工具（如 Claude Code、Cursor、OpenClaw）会自动识别并加载。当你的任务描述与技能的&nbsp;<code>description</code>&nbsp;匹配时，AI 就会激活它，按你写的流程执行。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">💡&nbsp;<strong>实践建议</strong>：初学者可以从一个简单的“文档格式化”Skill 开始练手——写清楚输入格式、输出要求、处理步骤，然后逐步扩展。</p>
</blockquote>



<h3 class="wp-block-heading">🌍 生态现状：正在爆发的“技能经济”</h3>



<p class="wp-block-paragraph">Agent Skills 的生态发展速度惊人。自 Anthropic 于 2025 年底发布开放标准以来：</p>



<ul class="wp-block-list">
<li><strong>主流平台全面跟进</strong>：OpenAI Codex、GitHub Copilot、VS Code、Cursor、Claude Code 均已支持<a href="https://midokura.com/the-rise-of-skills-why-2026-is-the-year-of-specialized-ai-agents/" target="_blank" rel="noreferrer noopener"></a>。</li>



<li><strong>企业级应用落地</strong>：Microsoft、Atlassian、Figma、Canva 等已为自家平台开发了 Skills，用于自动化办公、设计辅助等场景<a href="https://midokura.com/the-rise-of-skills-why-2026-is-the-year-of-specialized-ai-agents/" target="_blank" rel="noreferrer noopener"></a>。</li>



<li><strong>开源社区活跃</strong>：OpenClaw（35 万+ GitHub Star）、ModelScope 的 MS-Agent、LangChain 的 deepagents-CLI 等开源项目都已实现 Skills 支持<a href="https://developer.aliyun.com/article/1688626" target="_blank" rel="noreferrer noopener"></a><a href="https://blog.langchain.com/using-skills-with-deep-agents/" target="_blank" rel="noreferrer noopener"></a>。</li>



<li><strong>技能市场兴起</strong>：Skills Marketplace 已有超 7 万个社区贡献的技能，涵盖 PDF 处理、数据分析、代码审查、客户支持等各领域<a href="https://midokura.com/the-rise-of-skills-why-2026-is-the-year-of-specialized-ai-agents/" target="_blank" rel="noreferrer noopener"></a>。浙大与合作伙伴推出的 SkillNet 更是拥有超 20 万个可复用技能，实测可提升奖励 40%、减少执行步骤 30%。</li>
</ul>



<p class="wp-block-paragraph">这场变革的核心意义在于：<strong>行业知识首次从“依附于人”变成了“可蒸馏、可复用的技能包”</strong>&nbsp;。专家经验不再锁在个人脑中，而是被标准化、版本化，可以一键分发给整个团队的所有 AI 助手。</p>



<p class="wp-block-paragraph">Agent Skills 让 AI 从“能回答问题”进化到“能稳定做事”。它用极简的文件夹约定，实现了专业知识的模块化封装与渐进式加载，既避免了上下文爆炸，又让能力的复用和分发变得前所未有的简单。</p>



<p class="wp-block-paragraph">如果你正在探索如何让 AI 真正融入工作流，Agent Skills 是一个值得立刻上手的方向。毕竟，让 AI 学会按 SOP 办事，才是通往可靠生产力的最短路径。</p>
<p>The post <a href="https://www.atomic-cube.cn/agent-skills%ef%bc%9a%e5%83%8f%e6%90%ad%e7%a7%af%e6%9c%a8%e4%b8%80%e6%a0%b7%e8%b5%8b%e4%ba%88-ai-%e4%b8%93%e4%b8%9a%e8%83%bd%e5%8a%9b/">Agent Skills：像搭积木一样赋予 AI 专业能力</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/agent-skills%ef%bc%9a%e5%83%8f%e6%90%ad%e7%a7%af%e6%9c%a8%e4%b8%80%e6%a0%b7%e8%b5%8b%e4%ba%88-ai-%e4%b8%93%e4%b8%9a%e8%83%bd%e5%8a%9b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>用Exo搭建本地800亿参数AI集群</title>
		<link>https://www.atomic-cube.cn/%e7%94%a8exo%e6%90%ad%e5%bb%ba%e6%9c%ac%e5%9c%b0800%e4%ba%bf%e5%8f%82%e6%95%b0ai%e9%9b%86%e7%be%a4/</link>
					<comments>https://www.atomic-cube.cn/%e7%94%a8exo%e6%90%ad%e5%bb%ba%e6%9c%ac%e5%9c%b0800%e4%ba%bf%e5%8f%82%e6%95%b0ai%e9%9b%86%e7%be%a4/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Thu, 16 Apr 2026 11:43:27 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Vibe Coding]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[token]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/%e7%94%a8exo%e6%90%ad%e5%bb%ba%e6%9c%ac%e5%9c%b0800%e4%ba%bf%e5%8f%82%e6%95%b0ai%e9%9b%86%e7%be%a4/</guid>

					<description><![CDATA[<p>在上一篇文章 《我用16GB Mac Mini打造AI powerhouse——LM Studio Link如 [&#8230;]</p>
<p>The post <a href="https://www.atomic-cube.cn/%e7%94%a8exo%e6%90%ad%e5%bb%ba%e6%9c%ac%e5%9c%b0800%e4%ba%bf%e5%8f%82%e6%95%b0ai%e9%9b%86%e7%be%a4/">用Exo搭建本地800亿参数AI集群</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>在上一篇文章 <em>《我用16GB Mac Mini打造AI powerhouse——LM Studio Link如何改变一切》</em>中，我探索了通过在强大的机器上使用LM Studio Link来在较小设备上运行AI模型的方法。</p>
<p>如果我想反其道而行之——将多台机器的CPU、GPU和RAM资源整合起来，运行单台机器无法处理的模型呢？</p>
<p>如果你手头有一堆较小的设备，想要将它们的能力整合起来以发挥更大作用呢？</p>
<p>来认识<strong>Exo</strong>。这正是这个问题的答案。</p>
<h2 id="1%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AFexo%EF%BC%9F">1、什么是Exo？</h2>
<p>Exo是由Exo Labs维护的一个开源项目。用一句话概括：它将你的所有设备连接成一个个人AI集群，让你可以运行那些永远无法装入任何单台机器的前沿模型。</p>
<h4 id="%E6%A0%B8%E5%BF%83%E8%83%BD%E5%8A%9B%E4%B8%80%E8%A7%88%EF%BC%9A"><strong>核心能力一览：</strong></h4>
<ul>
<li><strong>自动设备发现</strong>——运行Exo的设备会自动在网络上找到彼此，无需手动配置。</li>
<li><strong>拓扑感知自动并行</strong>——Exo会根据每台设备可用的RAM、CPU/GPU资源以及节点间的网络延迟，自动找出最优的模型分割方式。</li>
<li><strong>张量并行</strong>——模型分片可在2台设备上实现高达1.8倍加速，在4台设备上实现3.2倍加速。</li>
<li><strong>Thunderbolt 5上的RDMA</strong>——在支持的硬件（M4 Pro/Max）上，这可将设备间延迟降低高达99%。</li>
<li><strong>MLX后端</strong>——使用苹果的MLX框架在Apple Silicon上进行GPU加速推理。</li>
<li><strong>OpenAI兼容API</strong>——暴露<a href="http://localhost:52415/v1">http://localhost:52415/v1</a>接口，任何支持OpenAI的工具都可以直接与你的集群通信。</li>
<li><strong>支持54个以上模型</strong>——从小的Llama模型到671B参数的DeepSeek变体。</li>
<li><strong>适用于Mac、Linux，甚至树莓派。</strong></li>
</ul>
<h3 id="%E6%88%91%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9Amac-mini-m4-macbook-pro-m4-max">我的配置：Mac Mini M4 + MacBook Pro M4 Max</h3>
<p>在这个实验中，我组合了两台机器：</p>
<ul>
<li><strong>Mac Mini M4</strong>——16GB统一内存，峰值使用55.1GB/64GB（86%）</li>
<li><strong>MacBook Pro M4 Max</strong>——64GB统一内存，次要分区使用9.8GB/16GB（61%）</li>
</ul>
<p>合起来，这个集群有足够的余量来加载<strong>Qwen3-Next-80B-A3B-Thinking-4bit</strong>——一个44GB的量化模型，单台机器都无法轻松处理。该模型以稳定的每秒70到80个token（TPS）运行，首次token时间（TTFT）根据查询复杂度约为4到11秒。温度方面：Mac Mini在负载下峰值达到41到86摄氏度，MacBook Pro保持在48到53摄氏度之间。</p>
<h2 id="2%E3%80%81%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE">2、安装设置</h2>
<p>对于macOS，Exo以原生应用形式提供（DMG版本需要macOS Tahoe 26.2或更高版本）：</p>
<ul>
<li>从发布页面下载EXO-latest.dmg。</li>
<li>复制到应用程序文件夹并启动。</li>
<li>在同一网络的每台其他机器上重复此操作。</li>
<li>完成——节点会自动发现彼此并显示在拓扑视图中。</li>
</ul>
<p><strong>就这么简单。它真的能用。</strong></p>
<h3 id="linux%E5%92%8Cwindows%E8%AE%BE%E7%BD%AE">Linux和Windows设置</h3>
<p>Linux用户需要从源代码运行。首先安装依赖：</p>
<ul>
<li><strong>uv</strong>（Python依赖管理器）：</li>
</ul>
<pre><code>curl -LsSf https://astral.sh/uv/install.sh | sh
</code></pre>
<ul>
<li>Node.js 18+ 和 npm</li>
<li><strong>Rust</strong>（nightly）：</li>
</ul>
<pre><code>curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh &amp;&amp; rustup toolchain install nightly
</code></pre>
<p>然后克隆并运行：</p>
<pre><code>git clone https://github.com/exo-explore/exo
cd exo/dashboard &amp;&amp; npm install &amp;&amp; npm run build &amp;&amp; cd ..
uv run exo
</code></pre>
<p><strong>一个重要注意事项：</strong>在Linux上，Exo目前仅支持CPU。GPU支持正在积极开发中——如果你打算用NVIDIA或AMD GPU来实现这个功能，值得关注。</p>
<h2 id="3%E3%80%81%E4%BB%AA%E8%A1%A8%E6%9D%BF%EF%BC%9A%E5%BC%80%E7%AE%B1%E5%8D%B3%E7%94%A8%E7%9A%84%E9%9B%86%E7%BE%A4%E5%8F%AF%E8%A7%81%E6%80%A7">3、仪表板：开箱即用的集群可见性</h2>
<p>运行后，内置的Web仪表板在<a href="http://localhost:52415">http://localhost:52415</a>提供集群的实时拓扑视图。每个节点显示当前的CPU使用率、温度、功耗和内存利用率。你可以看到哪台设备正在处理模型的哪一部分——这就是拓扑感知自动并行引擎的实际运行。</p>
<p>在下载之前，它会显示组合后的RAM以及可以在你的AI集群中运行的模型。</p>
<figure class="kg-card kg-image-card kg-card-hascaption"><img decoding="async" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/frc-3e98b4d8ff44e7c546c6d003cb98c896.png" /><figcaption>使用80GB（64GB + 16GB）RAM可以运行的模型快照。</figcaption></figure>
<p>下载并运行第一个提示后，模型会根据每台机器的RAM被分层到两台机器上。</p>
<figure class="kg-card kg-image-card kg-card-hascaption"><img decoding="async" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/frc-006f41169fd397f59ad0a9a435c281fb.png" /><figcaption>Exo就绪聊天的快照。</figcaption></figure>
<p>在推理过程中，你可以看到Mac Mini的CPU飙升到97%，温度达到86摄氏度，功耗82瓦，而MacBook Pro则以8-13%的负载平稳运行——Exo足够智能，会根据可用资源分配工作负载。仪表板中的THINK模式支持思维链推理，你可以在生成后展开或折叠它。</p>
<figure class="kg-card kg-image-card kg-card-hascaption"><img decoding="async" src="https://www.atomic-cube.cn/wp-content/uploads/2026/04/frc-08a99ebcaa32dc75c814216f1c5be246.png" /><figcaption>Exo运行时的快照！</figcaption></figure>
<h2 id="4%E3%80%81api%EF%BC%9A%E5%BC%80%E7%AE%B1%E5%8D%B3%E7%94%A8%E7%9A%84openai%E6%9B%BF%E4%BB%A3%E5%93%81">4、API：开箱即用的OpenAI替代品</h2>
<p>Exo在<a href="http://localhost:52415/v1">http://localhost:52415/v1</a>暴露一个完全兼容OpenAI的REST API。这意味着任何支持OpenAI SDK的工具、代理框架或应用都可以直接指向你的本地集群——无需修改代码。</p>
<p>使用curl的快速示例：</p>
<pre><code>curl -N -X POST http://localhost:52415/v1/chat/completions 
-H 'Content-Type: application/json' 
-d '{
"model": "mlx-community/Qwen3-Next-80B-A3B-Thinking-4bit",
"messages": [
{"role": "user", "content": "What is sky blue ?"}
],
"stream": false
}'
</code></pre>
<p>我们将收到如下所示的JSON输出。</p>
<pre><code>{"id":"887aab7d-c2e4-455d-bb7e-44d82b998bb1","object":"chat.completion","created":1773493013,"model":"mlx-community/Qwen3-Next-80B-A3B-Thinking-4bit","choices":[{"index":0,"message":{"role":"assistant","content":"nn这是一个好问题！根据上下文，"sky blue"可以有两层含义：nn### 1. **"Sky Blue"作为颜色名称** n - 这指的是一种特定的**淡青色或浅蓝色**——就像晴朗白天的天空颜色。 n - 在数字设计中，它通常定义为： n - **十六进制代码：#87CEEB** n - **RGB值：(135, 206, 235)** n - 它是艺术、时尚和设计中常用的颜色名称，用来描述让人联想到万里无云天空的柔和、平静的蓝色。nn---nn### 2. **为什么真实的天空是蓝色的（科学解释！）** n这部分更有趣——也是这种颜色被*命名为*"天蓝色"的原因！天空之所以呈现蓝色，是由于一种称为**瑞利散射**的现象： nn- **阳光=白光**：太阳发出所有颜色的光（红、橙、黄、绿、蓝、紫），它们组合成"白光"。 n- **地球大气层**：当阳光进入我们的大气层时，它会与气体分子（氮气、氧气）和微小颗粒碰撞。 n- **按尺寸散射**：较短的波长（如**蓝色和紫色**）比长波长（红色、黄色）更容易从这些分子散射。 n - 蓝光的波长约为450-495纳米——足够小，可以向各个方向散射。 n - 紫光散射得更多，但我们的眼睛对紫光不太敏感，而且太阳本身发出的紫光也较少。因此**蓝色主导**了我们看到的效果。 n- **结果**：当你抬头看天空（远离太阳）时，你看到来自四面八方的散射蓝光→天空呈现蓝色！nn#### 🌅 为什么日落是红色/橙色： n在日出/日落时，阳光穿过*更多*大气层才能到达你的眼睛。大部分蓝光..."
</code></pre>
<p>这就是让Exo对开发者强大的原因。你可以将它接入代理AI应用、LangChain、LlamaIndex、你自己的代理流水线，或任何OpenAI兼容的客户端。你的本地集群成为一个私有的推理端点。</p>
<h2 id="5%E3%80%81thunderbolt-5%E4%B8%8A%E7%9A%84rdma%EF%BC%9A%E4%B8%8B%E4%B8%80%E4%B8%AA%E5%B1%82%E6%AC%A1">5、Thunderbolt 5上的RDMA：下一个层次</h2>
<p>如果你有配备Thunderbolt 5的M4 Pro或M4 Max硬件，Exo支持RDMA（远程直接内存访问）——这是macOS 26.2的新功能。据报道，这可将节点间延迟降低高达99%，实现通常与数据中心互连相关的性能。</p>
<p>我无法在当前设置中测试这一点（RDMA未启用的警告在我的截图中可见——我的机器使用WiFi而非Thunderbolt 5），但Jeff Geerling的4×M3 Ultra Mac Studio集群的基准测试显示Qwen3-235B以生产级速度运行。这就是这个工具可以达到的上限。</p>
<h2 id="6%E3%80%81%E7%9C%9F%E5%AE%9E%E6%80%A7%E8%83%BD%E6%95%B0%E6%8D%AE">6、真实性能数据</h2>
<p>以下是我在测试查询中观察到的结果：</p>
<ul>
<li>&#8220;天空为什么是蓝色的？&#8221;——TTFT：10,739毫秒，TPS：75.2个token/秒（每token13.3毫秒）</li>
<li>&#8220;用Python写一个贪吃蛇游戏&#8221;——TTFT：4,049毫秒，TPS：69.1个token/秒</li>
<li>一般推理：整个会话保持68-75 TPS</li>
</ul>
<p>对于一个完全在本地硬件上运行、零云成本的800亿参数思维模型来说，这些数据确实令人印象深刻。THINK模式（思维链推理）如预期增加了TTFT，但启用后模型质量明显更强。</p>
<h2 id="7%E3%80%81exo-vs-lm-studio-link%EF%BC%9A%E4%BD%95%E6%97%B6%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA">7、Exo vs. LM Studio Link：何时使用哪个</h2>
<p>这两个工具解决相邻但不同的问题：</p>
<ul>
<li><strong>LM Studio Link</strong>——当你有一台强大的机器，想从网络上的较弱设备访问它时使用。一个主机，多个客户端。</li>
<li><strong>Exo</strong>——当你想将多台机器组合成单个虚拟GPU集群时使用。多个主机，一个模型。</li>
</ul>
<p>如果你的目标是运行比任何单机支持的更大的模型——Exo是正确的工具。如果你的目标是方便和远程访问——LM Studio Link仍然很优秀。</p>
<h2 id="8%E3%80%81%E7%BB%93%E6%9D%9F%E8%AF%AD">8、结束语</h2>
<p>Exo是我遇到的最实用的开源AI工具之一。入门门槛极低——尤其是在Mac上——而上限却极高。两年前，在连接到同一WiFi网络的两台笔记本电脑上分布式运行一个具备思维能力的800亿参数模型，听起来就像科幻小说。</p>
<p>如果你正在构建代理AI系统、运行本地实验，或者只是好奇你的硬件在协同工作时能做什么，试试Exo吧。在Mac上设置只需要两分钟。其影响将让你忙碌更长时间。</p>
<hr />
<p>原文链接: <a href="https://medium.com/@manjunath.shiva/i-turned-two-macs-into-an-80b-ai-cluster-for-free-exo-is-the-open-source-tool-youve-been-waiting-ffa14b8e8dc0">I Turned Two Macs Into an 80B AI Cluster for Free — Exo Is the Open-Source Tool You&#8217;ve Been Waiting…</a></p>
<p>汇智网翻译整理，转载请标明出处</p>
<p>文章来源于互联网:<a href="https://www.hubwiz.com/blog/setup-local-80b-ai-cluster-with-exo/" target="_blank" rel="noopener">用Exo搭建本地800亿参数AI集群</a></p>
<p>The post <a href="https://www.atomic-cube.cn/%e7%94%a8exo%e6%90%ad%e5%bb%ba%e6%9c%ac%e5%9c%b0800%e4%ba%bf%e5%8f%82%e6%95%b0ai%e9%9b%86%e7%be%a4/">用Exo搭建本地800亿参数AI集群</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/%e7%94%a8exo%e6%90%ad%e5%bb%ba%e6%9c%ac%e5%9c%b0800%e4%ba%bf%e5%8f%82%e6%95%b0ai%e9%9b%86%e7%be%a4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
