<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data4Fun</title><link>https://data4fun.cc/</link><description>Recent content on Data4Fun</description><generator>Hugo 0.122.0</generator><language>zh</language><lastBuildDate>Thu, 28 May 2026 11:33:02 +0800</lastBuildDate><atom:link href="https://data4fun.cc/index.xml" rel="self" type="application/rss+xml"/><item><title>模型 API 地址配置管理</title><link>https://data4fun.cc/blog/2026/05/post-20260528/</link><pubDate>Thu, 28 May 2026 11:33:02 +0800</pubDate><guid>https://data4fun.cc/blog/2026/05/post-20260528/</guid><description>&lt;p>注册使用过的第三方中转站太多了，如何管理成了一个问题。&lt;/p>
&lt;p>今天调研使用了一下 cc switch，感觉还可以。&lt;/p>
&lt;p>下载地址：https://github.com/farion1231/cc-switch/tree/main
5万多个 star，应该还算靠谱&lt;/p>
&lt;h2 id="使用">使用&lt;/h2>
&lt;p>1/ 添加基本配置，主要是 &lt;strong>API Key&lt;/strong> 和&lt;strong>请求地址&lt;/strong>&lt;/p>
&lt;p>&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/image-20260528111137805.png" alt="模型厂商配置页面">&lt;/p>
&lt;p>2/ 配置一下模型映射
&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/image-20260528112059135.png" alt="高级选项">&lt;/p>
&lt;p>3/ 点击一下&amp;quot;启用&amp;quot;按钮就可以正常使用了
&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/image-20260528112149891.png" alt="image-20260528112149891">&lt;/p>
&lt;p>&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/image-20260528112206699.png" alt="image-20260528112206699">&lt;/p>
&lt;h2 id="效果">效果&lt;/h2>
&lt;p>cc-switch 是实时热加载配置，即改即用。目前主要使用 anyrouter 的中转站，效果还不错，可以把以前在 &lt;code> ~/.zshrc&lt;/code>中手动添加的配置注释掉了。&lt;/p>
&lt;p>&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/CleanShot%202026-05-28%20at%2011.25.07@2x.png" alt="使用效果">&lt;/p></description></item><item><title>Claude Code 完美接入 Ollama 指南</title><link>https://data4fun.cc/blog/2026/01/post-20260122/</link><pubDate>Thu, 22 Jan 2026 17:56:41 +0800</pubDate><guid>https://data4fun.cc/blog/2026/01/post-20260122/</guid><description>&lt;p>作为 Anthropic 官方推出的命令行编码助手（coding assistant），Claude Code 本质上是一个通过大模型（LLM）执行复杂任务的工具。通常情况下，它需要连接云端 API。但随着 Ollama 宣布兼容 Anthropic Messages API，我们现在可以轻松地将 Claude Code 与本地模型集成。&lt;/p>
&lt;p>从工程角度看，使用本地的模型既可以作为断网情况下的一种保障方案，也可以在不改变工作流程的情况下，把本地模型作为一个测试开发环境，极大节省 Token 开销。&lt;/p>
&lt;h2 id="操作步骤">操作步骤&lt;/h2>
&lt;p>1.安装 Claude Code 和 Ollama&lt;/p>
&lt;pre tabindex="0">&lt;code>npm install -g @anthropic-ai/claude-code@latest
&lt;/code>&lt;/pre>&lt;p>Ollama 可以通过官网https://ollama.com/下载安装包安装。&lt;/p>
&lt;blockquote>
&lt;p>注意：Ollama 版本v0.14.0+，Claude Code版本v2.1.12+，可以通过下面命令验证&lt;/p>
&lt;/blockquote>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>claude --version
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ollama --version
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Ollama 安装后会自动作为后台服务运行。应该可以在 http://localhost:11434 上看到它运行。&lt;/p>
&lt;p>2.下载大模型&lt;/p>
&lt;p>可以通过 Ollama 的 WebUI 页面直接下载，如下图。&lt;/p>
&lt;p>&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/CleanShot%202026-01-22%20at%2016.42.35@2x.png" alt="下载模型到本地">&lt;/p>
&lt;p>也可以通过命令行快速拉取适合编码的模型。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#09f;font-style:italic">#查看本地模型&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ollama list
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#09f;font-style:italic">#下载新模型&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ollama pull qwen2.5-coder:7b
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#09f;font-style:italic">#删除模型&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ollama rm qwen2.5-coder:7b
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#09f;font-style:italic">#查看模型基本参数&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ollama show qwen2.5-coder:7b
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>3.配置 Claude Code 连接本地 Ollama&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#366">export&lt;/span> &lt;span style="color:#033">ANTHROPIC_AUTH_TOKEN&lt;/span>&lt;span style="color:#555">=&lt;/span>ollama
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#366">export&lt;/span> &lt;span style="color:#033">ANTHROPIC_BASE_URL&lt;/span>&lt;span style="color:#555">=&lt;/span>http://localhost:11434
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#09f;font-style:italic"># 启动 Claude Code 并指定本地模型&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>claude --model qwen2.5-coder:7b
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#09f;font-style:italic"># 如果想使用云端模型，命令类似&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>claude --model glm-4.6:cloud
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/CleanShot%202026-01-22%20at%2016.59.52.png" alt="使用本地模型">&lt;/p>
&lt;blockquote>
&lt;p>注意：如果你开启了系统代理，可能会遇到 &lt;code>API Error: Connection error&lt;/code>。这是因为流量被转发到了代理服务器而找不到 localhost。请先在终端执行：&lt;/p>
&lt;/blockquote>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#366">unset&lt;/span> https_proxy
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#366">unset&lt;/span> http_proxy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>4.使用Anthropic SDK&lt;/p>
&lt;p>如果我们想更精准的把控程序的执行流程，可以使用官方的 SDK。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#069;font-weight:bold">import&lt;/span> &lt;span style="color:#0cf;font-weight:bold">anthropic&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#069;font-weight:bold">import&lt;/span> &lt;span style="color:#0cf;font-weight:bold">httpx&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http_client &lt;span style="color:#555">=&lt;/span> httpx&lt;span style="color:#555">.&lt;/span>Client(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> proxy&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#069;font-weight:bold">None&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> trust_env&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#069;font-weight:bold">False&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>client &lt;span style="color:#555">=&lt;/span> anthropic&lt;span style="color:#555">.&lt;/span>Anthropic(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> base_url&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;http://localhost:11434&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> api_key&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;ollama&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> http_client&lt;span style="color:#555">=&lt;/span>http_client,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#069;font-weight:bold">with&lt;/span> client&lt;span style="color:#555">.&lt;/span>messages&lt;span style="color:#555">.&lt;/span>stream(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> model&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;qwen2.5-coder:7b&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> max_tokens&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#f60">1024&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> messages&lt;span style="color:#555">=&lt;/span>[{&lt;span style="color:#c30">&amp;#39;role&amp;#39;&lt;/span>: &lt;span style="color:#c30">&amp;#39;user&amp;#39;&lt;/span>, &lt;span style="color:#c30">&amp;#39;content&amp;#39;&lt;/span>: &lt;span style="color:#c30">&amp;#39;Count from 1 to 10&amp;#39;&lt;/span>}]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>) &lt;span style="color:#069;font-weight:bold">as&lt;/span> stream:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#069;font-weight:bold">for&lt;/span> text &lt;span style="color:#000;font-weight:bold">in&lt;/span> stream&lt;span style="color:#555">.&lt;/span>text_stream:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#366">print&lt;/span>(text, end&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;&amp;#39;&lt;/span>, flush&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#069;font-weight:bold">True&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="调试秘籍如何与-ai-高效沟通报错">调试秘籍：如何与 AI 高效沟通报错？&lt;/h2>
&lt;p>这里再说一个调试的技巧：在配置过程中，不要死磕枯燥的错误堆栈信息。一个高效的调试技巧是：&lt;strong>向 AI 描述你的完整环境和所做的工作，而不仅仅是报错代码。&lt;/strong>&lt;/p>
&lt;p>此前我按照文档编写代码时，一直遇到 &lt;code>InternalServerError (503)&lt;/code> 错误。我直接把错误代码粘贴给 chatgpt ，它尝试了很多方法但始终没有解决。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>Traceback &lt;span style="color:#555">(&lt;/span>most recent call last&lt;span style="color:#555">)&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> File &lt;span style="color:#c30">&amp;#34;/Users/shaoyang/Project/stock_demo/day09/anthropic-demo.py&amp;#34;&lt;/span>, line 12, in &amp;lt;module&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#033">message&lt;/span> &lt;span style="color:#555">=&lt;/span> client.messages.create&lt;span style="color:#555">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> File &lt;span style="color:#c30">&amp;#34;/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/_utils/_utils.py&amp;#34;&lt;/span>, line 282, in wrapper
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#069;font-weight:bold">return&lt;/span> func&lt;span style="color:#555">(&lt;/span>*args, **kwargs&lt;span style="color:#555">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> File &lt;span style="color:#c30">&amp;#34;/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/resources/messages/messages.py&amp;#34;&lt;/span>, line 932, in create
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#069;font-weight:bold">return&lt;/span> self._post&lt;span style="color:#555">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> File &lt;span style="color:#c30">&amp;#34;/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/_base_client.py&amp;#34;&lt;/span>, line 1361, in post
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#069;font-weight:bold">return&lt;/span> cast&lt;span style="color:#555">(&lt;/span>ResponseT, self.request&lt;span style="color:#555">(&lt;/span>cast_to, opts, &lt;span style="color:#033">stream&lt;/span>&lt;span style="color:#555">=&lt;/span>stream, &lt;span style="color:#033">stream_cls&lt;/span>&lt;span style="color:#555">=&lt;/span>stream_cls&lt;span style="color:#555">))&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> File &lt;span style="color:#c30">&amp;#34;/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/_base_client.py&amp;#34;&lt;/span>, line 1134, in request
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> raise self._make_status_error_from_response&lt;span style="color:#555">(&lt;/span>err.response&lt;span style="color:#555">)&lt;/span> from None
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>anthropic.InternalServerError: Error code: &lt;span style="color:#f60">503&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>于是，我换了一种思路，不是直接粘贴错误代码，而是前置一步，客观地描述了一下当前的环境。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>import anthropic
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#033">client&lt;/span> &lt;span style="color:#555">=&lt;/span> anthropic.Anthropic&lt;span style="color:#555">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#033">base_url&lt;/span>&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;http://localhost:11434&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#033">api_key&lt;/span>&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;ollama&amp;#39;&lt;/span>, &lt;span style="color:#09f;font-style:italic"># required but ignored&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#555">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#033">message&lt;/span> &lt;span style="color:#555">=&lt;/span> client.messages.create&lt;span style="color:#555">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#033">model&lt;/span>&lt;span style="color:#555">=&lt;/span>&lt;span style="color:#c30">&amp;#39;qwen3-coder&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#033">max_tokens&lt;/span>&lt;span style="color:#555">=&lt;/span>1024,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#033">messages&lt;/span>&lt;span style="color:#555">=[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#555">{&lt;/span>&lt;span style="color:#c30">&amp;#39;role&amp;#39;&lt;/span>: &lt;span style="color:#c30">&amp;#39;user&amp;#39;&lt;/span>, &lt;span style="color:#c30">&amp;#39;content&amp;#39;&lt;/span>: &lt;span style="color:#c30">&amp;#39;Hello, how are you?&amp;#39;&lt;/span>&lt;span style="color:#555">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#555">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#555">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>print&lt;span style="color:#555">(&lt;/span>message.content&lt;span style="color:#555">[&lt;/span>0&lt;span style="color:#555">]&lt;/span>.text&lt;span style="color:#555">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>我是用的是mac电脑，本地配置了代理，我应该如何修改上面的代码保证可以运行。
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>js版本是可以执行的
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>import Anthropic from &lt;span style="color:#c30">&amp;#34;@anthropic-ai/sdk&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>const &lt;span style="color:#033">anthropic&lt;/span> &lt;span style="color:#555">=&lt;/span> new Anthropic&lt;span style="color:#555">({&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> baseURL: &lt;span style="color:#c30">&amp;#34;http://localhost:11434&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> apiKey: &lt;span style="color:#c30">&amp;#34;ollama&amp;#34;&lt;/span>, // required but ignored
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#555">})&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>const &lt;span style="color:#033">message&lt;/span> &lt;span style="color:#555">=&lt;/span> await anthropic.messages.create&lt;span style="color:#555">({&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> model: &lt;span style="color:#c30">&amp;#34;minimax-m2:cloud&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> max_tokens: 1024,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> messages: &lt;span style="color:#555">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#555">{&lt;/span> role: &lt;span style="color:#c30">&amp;#34;user&amp;#34;&lt;/span>, content: &lt;span style="color:#c30">&amp;#34;写一个求和的 python 函数&amp;#34;&lt;/span> &lt;span style="color:#555">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#555">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#555">})&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>console.log&lt;span style="color:#555">(&lt;/span>message.content&lt;span style="color:#555">[&lt;/span>1&lt;span style="color:#555">]&lt;/span>.text&lt;span style="color:#555">)&lt;/span>;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>chatgpt立刻就发现了问题，并给到我正确的执行代码。&lt;/p>
&lt;p>&lt;img src="https://article-1257095016.cos.ap-beijing.myqcloud.com/CleanShot%202026-01-22%20at%2017.15.39@2x.png" alt="ChatGPT 的回复">&lt;/p>
&lt;p>根据这次调试过程，大模型也帮我总结一个更有效的提问模板：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>1.贴出当前代码。
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>2.描述环境（如：Mac 系统、本地有代理）。
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>3.提供一个对比参照（如：JS 版本可以运行，Python 不行）。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>开篇词</title><link>https://data4fun.cc/blog/2026/01/post-20260113/</link><pubDate>Tue, 13 Jan 2026 11:21:38 +0800</pubDate><guid>https://data4fun.cc/blog/2026/01/post-20260113/</guid><description>&lt;p>从 2008 年开始接触股票投资，到现在已经接近二十年了。&lt;/p>
&lt;p>这段时间里，我经历过完整的市场周期：牛市的狂热、熊市的绝望，也经历过从&amp;quot;以为自己懂了&amp;quot;，到&amp;quot;承认自己其实什么都不懂&amp;quot;的反复过程。账户数字起起落落，但真正变化更大的，是我对投资这件事的理解方式。&lt;/p>
&lt;p>很多年里，我一直有一个模糊的念头：应该把这些经历写下来。不是为了证明自己赚过多少钱，而是想留下些什么——一些关于决策、关于错误、关于长期面对不确定性的记录。&lt;/p>
&lt;p>直到最近，这个念头才逐渐变得清晰起来。&lt;/p>
&lt;p>我决定开设这个专栏。它会以投资为核心，但并不只谈&amp;quot;买什么、卖什么&amp;quot;。我更关心的是：&lt;/p>
&lt;ul>
&lt;li>
&lt;p>投资背后的概念与逻辑&lt;/p>
&lt;/li>
&lt;li>
&lt;p>普通人在真实世界中会遇到的情绪、误判与限制&lt;/p>
&lt;/li>
&lt;li>
&lt;p>如何借助技术，让这些问题变得更可验证一些&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>在这个专栏里，我会一边讲自己的投资经历，一边引入相关的基础概念；同时，也会尝试使用 Python、数据分析、以及 AI 大模型，对一些直觉判断进行复盘、辅助和检验。&lt;/p>
&lt;p>这并不是一套&amp;quot;成功方法论&amp;quot;。更多时候，它可能是一份带着不确定性的思考记录：哪些想法在长期中站得住脚，哪些只是事后看起来合理。&lt;/p>
&lt;p>如果你也经历过市场的起伏，或者正在尝试把理性工具引入投资决策，希望这些文字能对你有所帮助；如果没有，那它至少是我给自己留的一份阶段性注脚。&lt;/p>
&lt;p>专栏会慢慢写，不追热点，也不保证结论。
唯一确定的，是我会用心。&lt;/p></description></item></channel></rss>