<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>tianfei.chat</title>
        <link>https://tianfei.chat/</link>
        <description>tianfei的数字化记录</description>
        <lastBuildDate>Tue, 04 Aug 2026 14:11:04 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en-US</language>
        <copyright>All rights reserved 2026, Fei</copyright>
        <item>
            <title><![CDATA[当Ai围观一群学生毕设时……]]></title>
            <link>https://tianfei.chat/article/when-ai-watches-students-graduation-projects</link>
            <guid>https://tianfei.chat/article/when-ai-watches-students-graduation-projects</guid>
            <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[毕业季，学生压力很大，老师压力也不小。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-394906d2944080baba17d696ab050617"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-3a3906d29440817d876cec0ab33f6dd6">毕业季，学生压力很大，老师压力也不小。</div><div class="notion-text notion-block-3a3906d294408112927ae7a02d5cb866">学生要做毕设、改简历、找工作、做论文。老师这边，也常常会变成一个疲惫的提醒机器：收信息、催进度、解释规则、确认链接，开题、中期、各种交表格…</div><div class="notion-text notion-block-3a3906d29440814ab709ffe9f8f70cb8">很多事情并不难。</div><div class="notion-text notion-block-3a3906d29440814396cbfa3ba9c8074a">但它们很碎，很重复，而且不能不做。</div><div class="notion-text notion-block-3a3906d29440813186fef293643f29af">比如姓名、电话、毕设题目、项目链接。看起来就是几行表格，但每年都有人漏。你催轻了，对方不动；催重了，又像在给本来就焦虑的学生继续加压。</div><div class="notion-text notion-block-3a3906d294408167a679d329d849f788">去年我就想把AI拉到群聊里，让它帮我们，但微信群不开放相关权限。</div><div class="notion-text notion-block-3a3906d294408195adbcfae6f3b213bd">今年的毕业设计又启动了，我在元宝中建了一个Ai群，让Ai围观，理解，然后帮我（和学生）干活，一个月看起来，效果非常不错。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d294408145b538cf05bcf7a372" data-id="3a3906d294408145b538cf05bcf7a372"><span><div id="3a3906d294408145b538cf05bcf7a372" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d294408145b538cf05bcf7a372" title="1）登记信息"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1）登记信息</span></span></h3><div class="notion-text notion-block-3a3906d2944081bd9693d7b11fe668b9">建组的时候，Ai助手针对进群的学生，主动要求其提供姓名、电话、毕设题目，它会自动整理归档。</div><a style="width:100%" href="image-24.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d294408164ba18d2e528e8cc8f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Ac4c5d313-ec4a-4860-8ffb-22f65926c6bf%3Aimage-24.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-8164-ba18-d2e528e8cc8f&amp;t=3a3906d2-9440-8164-ba18-d2e528e8cc8f" alt="image-24.png" loading="lazy" decoding="async"/></div></figure></a><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d29440816181dee28589b1c3f9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A560487b0-ecc8-408e-87c7-50dc61069603%3AGroup_1000007573.jpg%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-8161-81de-e28589b1c3f9&amp;t=3a3906d2-9440-8161-81de-e28589b1c3f9" alt="Group 1000007573.jpg" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">Group 1000007573.jpg</figcaption></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d29440817eb41afa0d1935729f" data-id="3a3906d29440817eb41afa0d1935729f"><span><div id="3a3906d29440817eb41afa0d1935729f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d29440817eb41afa0d1935729f" title="2）催进度"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2）催进度</span></span></h3><div class="notion-text notion-block-3a3906d294408131ba4cd79e670268df">有人补了项目链接，它会记录。进度慢的，也能催，而且元宝在中间催，味道就变了一点。</div><div class="notion-text notion-block-3a3906d2944081c2bcc5cd93d98eae9b">它提醒的时候没有情绪，记录的时候也不嫌烦。</div><div class="notion-text notion-block-3a3906d294408161924fd44486f96d1b">学生一边觉得有压迫感，一边又能接受。学生调侃说：</div><div class="notion-text notion-block-3a3906d29440814d9d06fcb35cf46b28">“感觉这个比钉钉还狠。”</div><a style="width:100%" href="image-17.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d29440812a9a19e4795e8d7f37"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Add3f9592-287b-4564-9ba3-33bac092cae9%3Aimage-17.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-812a-9a19-e4795e8d7f37&amp;t=3a3906d2-9440-812a-9a19-e4795e8d7f37" alt="image-17.png" loading="lazy" decoding="async"/></div></figure></a><a style="width:100%" href="image-25.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d29440810cba63e4df166f6f01"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A216a9239-585c-40d8-aba1-194291213758%3Aimage-25.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-810c-ba63-e4df166f6f01&amp;t=3a3906d2-9440-810c-ba63-e4df166f6f01" alt="image-25.png" loading="lazy" decoding="async"/></div></figure></a><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d29440815bb9bbe117a455b766" data-id="3a3906d29440815bb9bbe117a455b766"><span><div id="3a3906d29440815bb9bbe117a455b766" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d29440815bb9bbe117a455b766" title="3）能夸人"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3）能夸人</span></span></h3><div class="notion-text notion-block-3a3906d2944081499ea2fd8770646409">更有意思的是，它不只是催。在我的“暗示”下，它也会“夸人”，把学生做得好的地方顺手说出来。</div><a style="width:100%" href="image-9.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081c1be00ec400b3ac0ad"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Ace43ef92-4dab-490b-a9bc-0c2a172f3aba%3Aimage-9.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-81c1-be00-ec400b3ac0ad&amp;t=3a3906d2-9440-81c1-be00-ec400b3ac0ad" alt="image-9.png" loading="lazy" decoding="async"/></div></figure></a><div class="notion-text notion-block-3a3906d29440819f82d9d288d73476cb">比如某个同学的 Demo 发到小红书，有了几千观看、上百赞和几十条留言，它会记录市场反馈，也会提醒下一步要对接谁、还差哪些信息。它还会把每个人的亮点补出来：执行力强、切入点准、配合度高、名字有意境。</div><div class="notion-text notion-block-3a3906d294408100b3f7c4d7878bd764">这件事看起来很小，但毕业季挺重要。</div><div class="notion-text notion-block-3a3906d2944081628398f1dd8c1e71ad">学生压力已经很大了。老师当然要推进工作，但如果群里只剩下催促，大家都会累。</div><div class="notion-text notion-block-3a3906d294408169a14adedfee38af86">AI 放在群里，至少能接住一部分重复提醒，也接住一部分情绪压力。</div><div class="notion-text notion-block-3a3906d2944081108016d744694eb9ed">它让“收信息、查进度、补提醒、顺手夸一句”这些小事，变得稳定一点。</div><a style="width:100%" href="image-11.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081b19803ed975d159a6d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Ad308ae79-8c67-41f4-8b5c-231d0d86d530%3Aimage-11.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-81b1-9803-ed975d159a6d&amp;t=3a3906d2-9440-81b1-9803-ed975d159a6d" alt="image-11.png" loading="lazy" decoding="async"/></div></figure></a><a style="width:100%" href="image-23.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d294408192bd5ae1067a676283"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A8ed2be4c-0a15-4529-8646-ba0fb890be0f%3Aimage-23.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-8192-bd5a-e1067a676283&amp;t=3a3906d2-9440-8192-bd5a-e1067a676283" alt="image-23.png" loading="lazy" decoding="async"/></div></figure></a><a style="width:100%" href="image-22.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081398147f33b4e64a6f9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A914a3efd-d2da-4642-9538-5204e18bb685%3Aimage-22.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-8139-8147-f33b4e64a6f9&amp;t=3a3906d2-9440-8139-8147-f33b4e64a6f9" alt="image-22.png" loading="lazy" decoding="async"/></div></figure></a><a style="width:100%" href="image-21.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081c58b21de1ae8f9fdd0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A55edb102-963a-4e41-95f2-ae267576db7c%3Aimage-21.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-81c5-8b21-de1ae8f9fdd0&amp;t=3a3906d2-9440-81c5-8b21-de1ae8f9fdd0" alt="image-21.png" loading="lazy" decoding="async"/></div></figure></a><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d2944081bdad65dc3407a97767" data-id="3a3906d2944081bdad65dc3407a97767"><span><div id="3a3906d2944081bdad65dc3407a97767" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d2944081bdad65dc3407a97767" title="4）能答疑"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4）能答疑</span></span></h3><div class="notion-text notion-block-3a3906d2944081128994d4ddb9d919a5">我只要提供了标准答案，AI就能够为学生答疑，即使我没来得及时看到消息，学生也能向它咨询。</div><a style="width:100%" href="image-26.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d29440812f86e5cbcb149c9dc9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A4e14a789-0a21-4628-bfe4-56093e6cdd9e%3Aimage-26.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-812f-86e5-cbcb149c9dc9&amp;t=3a3906d2-9440-812f-86e5-cbcb149c9dc9" alt="image-26.png" loading="lazy" decoding="async"/></div></figure></a><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d294408191a2ebffddb39e7914" data-id="3a3906d294408191a2ebffddb39e7914"><span><div id="3a3906d294408191a2ebffddb39e7914" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d294408191a2ebffddb39e7914" title="5）能总结"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">5）能总结</span></span></h3><div class="notion-text notion-block-3a3906d2944081f38987c60f461ff6b5">通过介入AI的Agents方法，元宝在群不是让老师少打几个字。它更像是在群里维护一个公共工作台。</div><div class="notion-text notion-block-3a3906d2944081719d1cc81aa06c6500">可以帮同学总结经验，可以按老师的要求整理群记录，学院催促的时候，还能统一整理选题成表格，也可以把辅导记录整理成表格给大家参考。</div><a style="width:100%" href="image-18.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081d89b70fdb51099e327"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Af1d390da-9364-4492-b617-4926dd7155ab%3Aimage-18.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-81d8-9b70-fdb51099e327&amp;t=3a3906d2-9440-81d8-9b70-fdb51099e327" alt="image-18.png" loading="lazy" decoding="async"/></div></figure></a><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d29440815f9d2fe20c3a5b1f15"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Ab8d50f34-2655-4474-9773-b280077aeafe%3AXnip2026-07-05_11-41-09.jpg%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-815f-9d2f-e20c3a5b1f15&amp;t=3a3906d2-9440-815f-9d2f-e20c3a5b1f15" alt="Xnip2026-07-05_11-41-09.jpg" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">Xnip2026-07-05_11-41-09.jpg</figcaption></div></figure><a style="width:100%" href="image-19.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081e2bed3ca5e83aaaf31"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Ab7f26221-ef52-410e-8a25-4c0752086bb2%3Aimage-19.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-81e2-bed3-ca5e83aaaf31&amp;t=3a3906d2-9440-81e2-bed3-ca5e83aaaf31" alt="image-19.png" loading="lazy" decoding="async"/></div></figure></a><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d294408118a530f972e08f2f1d" data-id="3a3906d294408118a530f972e08f2f1d"><span><div id="3a3906d294408118a530f972e08f2f1d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d294408118a530f972e08f2f1d" title="感想：工具应该从利人做起"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">感想：工具应该从利人做起</span></span></h3><div class="notion-text notion-block-3a3906d294408133ac84e796c0321763">这三年，我试过很多 AI 工具。</div><div class="notion-text notion-block-3a3906d294408172ab65c447d1fae605">从 IDE 里的代码助手，到各种 Agents，再到 OpenClaw 这样的工作流工具。</div><div class="notion-text notion-block-3a3906d294408135abf9e71e6c68aea6">用得越多，我越觉得一件事很朴素：</div><div class="notion-text notion-block-3a3906d2944081edb688e900d3309c62">不管是什么工具，最后还是要从利人做起。</div><div class="notion-text notion-block-3a3906d29440811896addc3f77ff802b">这里的“人”，首先也包括老师自己。</div><div class="notion-text notion-block-3a3906d2944081eebd85f54ceacd1b07">教师已经很辛苦了。很多工作并不创造多少价值，只是在消耗注意力：反复收信息、反复催表格、反复确认进度、反复整理记录。</div><div class="notion-text notion-block-3a3906d2944081d09f7cfd4be387d487">这些 bullshit works，能干掉就应该干掉。</div><div class="notion-text notion-block-3a3906d2944081b3a482f0d8aa843fb6">AI 当然不能替代老师。</div><div class="notion-text notion-block-3a3906d2944081319067fd5a3818929f">但它可以帮老师少做一点低价值的重复劳动，少承受一点催促带来的情绪压力。</div><div class="notion-text notion-block-3a3906d2944081f182f3c5eee45ab2ba">这样老师才有机会把时间留给真正有价值的事情：</div><div class="notion-text notion-block-3a3906d2944081b08216f39d74e4cd3f">判断方向，设计机制，鼓励学生。</div><div class="notion-text notion-block-3a3906d2944081fab18dca20208ff59f">以及在学生真的需要的时候，认真地看见他们。</div><div class="notion-text notion-block-3a3906d29440810e86e5e19c31003cec">———end———</div><div class="notion-text notion-block-3a3906d294408186b313f3f270b2d0c3">*(本文中学生姓名均已受学生同意露出)</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3a3906d294408173a0c9dbbc399c2f92" data-id="3a3906d294408173a0c9dbbc399c2f92"><span><div id="3a3906d294408173a0c9dbbc399c2f92" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d294408173a0c9dbbc399c2f92" title="番外1：抄作业"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">番外1：抄作业</span></span></h3><div class="notion-text notion-block-3a3906d2944081f186d4dd77d0a274e4">如果你是一位毕业指导教师，也想获得同款Ai毕设群，很简单。</div><div class="notion-text notion-block-3a3906d2944081a28fd6f31d7ec6dd8f">我将这一个月元宝派群管理的方法和技巧，做成了一个【高校毕设群-初始化包】，且已经开源到了github，你一键就能获得同样的能力。</div><div class="notion-text notion-block-3a3906d2944081b7994aca67bab939ef">1、安装元宝（电脑打开下面网址）</div><div class="notion-text notion-block-3a3906d294408121beeceb7f5f7c3bdd">https://yuanbao.tencent.com/download?from=tianfei</div><div class="notion-text notion-block-3a3906d2944081f6a818c2740cafbeaa">2、建一个元宝派群，然后你只需要在在群里说一句话：</div><div class="notion-text notion-block-3a3906d29440811f9ff5c908a69781b7">3、接下来你只要邀请学生进群就可以了。</div><div class="notion-text notion-block-3a3906d2944081e48109fb7358c3ab04">看到元宝一个一个地要求学生提供姓名和联系方式以及初步选题，未来，它可以帮你催进度、统计数据、总结讨论…</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-3a3906d29440816fb116f6751ff2c536" data-id="3a3906d29440816fb116f6751ff2c536"><span><div id="3a3906d29440816fb116f6751ff2c536" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3a3906d29440816fb116f6751ff2c536" title="番外2：分享两个毕设作品"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">番外2：分享两个毕设作品</span></span></h2><div class="notion-text notion-block-3a3906d29440817da353f9da17b4e73d">#### 作品1：框景APP</div><div class="notion-text notion-block-3a3906d29440817d8474d3b61ea55392">这是今年的毕业生苏必熙的设计方案，框景是一款私人美术馆相机：拖动相框，框住此刻，为照片选择相框、心情与展签，把日常装裱成作品。</div><div class="notion-text notion-block-3a3906d29440814d9929eab2bacbf75b">目前，此方案通过Vibe Coding已经实现开发并且上架苹果商店。</div><div class="notion-text notion-block-3a3906d29440811aa674d8db277e80a0">https://tianfei.chat/app/frame-scape/</div><a style="width:100%" href="image-29.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d29440816ea015e8a62de1bc8a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Af4b9ae9c-4b62-4a02-968f-0900d4d0d2d8%3Aimage-29.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-816e-a015-e8a62de1bc8a&amp;t=3a3906d2-9440-816e-a015-e8a62de1bc8a" alt="image-29.png" loading="lazy" decoding="async"/></div></figure></a><div class="notion-text notion-block-3a3906d2944081b08d21d5579cf98229">#### 作品2：Anim-English APP</div><div class="notion-text notion-block-3a3906d2944081a6a7d9df9c9dabd650">这是今年的毕业生徐艺鑫的设计方案，通过图片卡片、双语朗读和自定义词书，让【不识字】的孩子听得懂单词、敢开口。通过Vibe Coding已经实现开发并且上架苹果商店。</div><div class="notion-text notion-block-3a3906d294408114989cc628d21ae3bc">并且，目前已产生了销售收入。</div><div class="notion-text notion-block-3a3906d2944081c8aa74dea0af055c89">https://tianfei.chat/app/anim-english/</div><a style="width:100%" href="image-27.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081cfbe53ebbe651874b6"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A3e87474f-f763-4596-9176-09552c2fecb4%3Aimage-27.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-81cf-be53-ebbe651874b6&amp;t=3a3906d2-9440-81cf-be53-ebbe651874b6" alt="image-27.png" loading="lazy" decoding="async"/></div></figure></a><a style="width:100%" href="image-28.png"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a3906d2944081109673d27e4ef02c79"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A6305369e-e2d7-457d-a6ee-266cd6db951d%3Aimage-28.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=3a3906d2-9440-8110-9673-d27e4ef02c79&amp;t=3a3906d2-9440-8110-9673-d27e4ef02c79" alt="image-28.png" loading="lazy" decoding="async"/></div></figure></a></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[我为女儿开发了一个数独游戏]]></title>
            <link>https://tianfei.chat/article/i-built-a-sudoku-game-for-my-daughter</link>
            <guid>https://tianfei.chat/article/i-built-a-sudoku-game-for-my-daughter</guid>
            <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[从女儿的数字兴趣出发，我做了一个从2x2到9x9的渐进式数独产品，并在真实提审中补齐儿童合规与IAP编排，最终沉淀出一套可复用的人机协同发布方法。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-32a906d294408179a60dd15515495d34"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-32a906d294408123a7d0c21421e9c2bb" data-id="32a906d294408123a7d0c21421e9c2bb"><span><div id="32a906d294408123a7d0c21421e9c2bb" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32a906d294408123a7d0c21421e9c2bb" title="春节期间，我又忍不住，vibe coding 了一个新坑作品。"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">春节期间，我又忍不住，vibe coding 了一个新坑作品。</span></span></h4><div class="notion-text notion-block-32a906d294408164aae5f60eb6c95ee2">是这样的，我4岁的女儿对数字很感兴趣，天天在墙上写数字、做加减，拿着小算数本天天写算数题，上下楼的时候还会一路小声念着：98，99，100……</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d2944081299f35f215cc7f4ba9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Ad78ef789-cc6f-4e76-90f8-a896254b6afd%3Anver01.gif%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-8129-9f35-f215cc7f4ba9&amp;t=32a906d2-9440-8129-9f35-f215cc7f4ba9" alt="介绍自己的数学题" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">介绍自己的数学题</figcaption></div></figure><div class="notion-text notion-block-32a906d2944081358b97c9d82fb7018a">（我真的很想秀一下女儿）)</div><div class="notion-text notion-block-32a906d2944081e69eeef987bea62c69">有一天下午，我突然想到，或许可以让她试试数独游戏，我印象中这个游戏对数字和专注力都有蛮好的训练。然后我就开始找“真正适合幼儿起步”的APP或者网站，但我认真搜索了一圈后发现，大多数这个游戏的起步关卡，基本都是 9×9模式，就像下面这样（横着9个数字，竖着9个数字，还要切分成9个宫格）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d2944081e08c7ee45d15e34fd2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Aebc850d8-0bcf-4791-a336-a4bf0d5aee80%3A1774066621772.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-81e0-8c7e-e45d15e34fd2&amp;t=32a906d2-9440-81e0-8c7e-e45d15e34fd2" alt="我能搜索到的简单数独入门" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">我能搜索到的简单数独入门</figcaption></div></figure><div class="notion-text notion-block-32a906d2944081898b81c350385e8889">我发现：</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-32a906d294408116857ef899ac0062a7" data-id="32a906d294408116857ef899ac0062a7"><span><div id="32a906d294408116857ef899ac0062a7" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32a906d294408116857ef899ac0062a7" title="“数独游戏”没有新手村？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">“数独游戏”没有新手村？</span></span></h2><div class="notion-text notion-block-32a906d2944081e3b3c8e305c672178f">怎么这些数独游戏网站似乎默认来这里的人都是会玩游戏的人，人们只是想找更多的题目来玩而已。</div><div class="notion-text notion-block-32a906d29440812fb7e7c38d564adb07">但对刚开始接触规则意识的小朋友来说，行、列、宫一起理解，门槛确实太高了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d29440810cb161fc079cc5ae17"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A887915ae-de6c-40ee-9c0f-4f414ba7240e%3A1774066650976.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-810c-b161-fc079cc5ae17&amp;t=32a906d2-9440-810c-b161-fc079cc5ae17" alt="我能搜索到的简单数独入门" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">我能搜索到的简单数独入门</figcaption></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d29440814486b8c2bb7d1d0bbf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A6a61dce9-197e-4cee-a096-e151fc1a1de2%3A1774066960509.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-8144-86b8-c2bb7d1d0bbf&amp;t=32a906d2-9440-8144-86b8-c2bb7d1d0bbf" alt="我能搜索到的简单数独入门" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">我能搜索到的简单数独入门</figcaption></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d29440818db4c3fb121d68f5f9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A6c70e9c8-8580-4070-857c-857e7cb5a327%3A1774067017582.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-818d-b4c3-fb121d68f5f9&amp;t=32a906d2-9440-818d-b4c3-fb121d68f5f9" alt="我能搜索到的简单数独入门" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">我能搜索到的简单数独入门</figcaption></div></figure><div class="notion-text notion-block-32a906d29440811182eac7f452033174">我让她玩了一下，但确实很难理解9x9模式的数独，毕竟刚4岁！</div><div class="notion-text notion-block-32a906d294408170a2eef2df1336d4a5">我想，数独不是不适合孩子，而是起步台阶太高。为啥不弄一点更简单的入门训练呢？</div><div class="notion-text notion-block-32a906d2944081d19ed4c6f7d658254f">教师的毛病又犯了，我开始拆解这个游戏能不能做简单点？</div><div class="notion-text notion-block-32a906d294408162956ecd099b4e99ec">为啥起步就是一行9个数字？我设计了一个一行只有2个数字的入门，让孩子学会：</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-32a906d2944081f5bf78d8aca5ead2d2" data-id="32a906d2944081f5bf78d8aca5ead2d2"><span><div id="32a906d2944081f5bf78d8aca5ead2d2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32a906d2944081f5bf78d8aca5ead2d2" title="一个2x2格子的超简单数独"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">一个2x2格子的超简单数独</span></span></h2><div class="notion-text notion-block-32a906d2944081a1ae61e6dec5ddd8ba">看行：每行数字不能重复（只能是1或2）</div><div class="notion-text notion-block-32a906d294408100b768fc3f4043adfc">看列：每列数字不能重复（只能是1或2）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d2944081de93e0fc72a03d7336"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3A111101a2-27e8-490f-a875-1373b2d9a256%3A2x2.gif%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-81de-93e0-fc72a03d7336&amp;t=32a906d2-9440-81de-93e0-fc72a03d7336" alt="1774066059784" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">1774066059784</figcaption></div></figure><div class="notion-text notion-block-32a906d2944081cfadb7d3096ce6e1d1">在电脑上跑了一个原型，效果不错！</div><div class="notion-text notion-block-32a906d2944081b79ef9d81311a07b1f">让女儿试完了一下，这个“枯燥”第一大关，我设计了60个小关——就是简单的看行看列，把两个数字补齐就行。但为了每关过关后的小“奖品”，可能是个星星，或者爱心，或者小饼，她乐此不疲，10分钟就打穿第一大关了。</div><div class="notion-text notion-block-32a906d2944081a3a786f5eb240f7a14">于是我马不停蹄的设计了</div><div class="notion-text notion-block-32a906d29440810ca005d99ee4ccc181">第二关：3x3（仍然训练只看行，或列）</div><div class="notion-text notion-block-32a906d2944081da86e7d93d1fc3dc31">第三关：（4x4）除了行、列不能重复，每个“宫”里也不能重复</div><div class="notion-text notion-block-32a906d2944081359e1ed3ce70ac4b66">到了第三关，只利用数字1、2、3、4，依然很简单，但规则和真正的9x9数独已完全一样了，这样，她就学会了数独。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d29440803097aaef184b12cd6f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A4052bc7e-3a76-4fd8-8a32-3d705bdaaa0b%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-8030-97aa-ef184b12cd6f&amp;t=32a906d2-9440-8030-97aa-ef184b12cd6f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-32a906d294408121954eff9ea16a773c">我把路径拆成了渐进结构，不是让孩子直接“硬闯”标准数独，而是从更小的盘面先建立规则直觉，再逐步过渡到完整玩法。我希望它既有训练价值，又不会让孩子一开始就挫败。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-32a906d294408167a2e9f1cb18c65ebd" data-id="32a906d294408167a2e9f1cb18c65ebd"><span><div id="32a906d294408167a2e9f1cb18c65ebd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32a906d294408167a2e9f1cb18c65ebd" title="适合3岁左右小朋友玩的数独"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">适合3岁左右小朋友玩的数独</span></span></h2><div class="notion-text notion-block-32a906d29440812fb3d3e2b83db45117">我也做了很多小反馈设计：给不识字的小朋友专门看的过关奖励的小图案、有爱心，有小花花，有小星星，小饼干……</div><div class="notion-text notion-block-32a906d29440812e96e2ef764d48db68">每关也鼓励文案和小技巧…… 这些文字小朋友根本看不懂，但她可以问父母。</div><div class="notion-text notion-block-32a906d29440813cb888e62c21ef8bde">通过有趣反馈来和更温和的难度节奏。孩子每过一关，都应该感觉自己“又会了一点”，而不是“又做错了”。</div><div class="notion-text notion-block-32a906d29440818c9948ec463449174e">我给她剪了一段视频</div><div class="notion-text notion-block-32a906d2944081dab0fdc168048b0acc">接下来她每天都说要玩 “跳格子”，每次过关都很开心，我又仿照一般游戏的作法，增加了“排行榜”，与她获得的金币有关，她发现排行榜后，更是会认真观察自己“升到了第几名”。</div><div class="notion-text notion-block-32a906d29440810cac38fb951a2f37d5">当然，这是一个不联网的游戏，所以“排行榜”当然是一个善意的谎言，从不同的维度激活兴趣，对这个年龄段的孩子来说，兴趣和自信比正确率更重要。只要她愿意继续玩，愿意继续观察数字关系，学习就会自然发生。</div><div class="notion-text notion-block-32a906d294408105a1a5c59ae8e91f5e">最后，老规矩，做出来的产品，一定要上架，这是我在AppStore经历的最复杂的上架流程：除上上架和内购流程、儿童向合规怎么做、家长门槛怎么设计、截图和文案怎么避免审核误判。过程中被驳回过，也一点点把流程补齐。最后我意识到，真正难的不是某个按钮，而是产品、技术、审核三件事要同时闭环。</div><div class="notion-text notion-block-32a906d2944081768211f0da64da4c33">来两张宣传图：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d2944081db8835c847921159ef"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.notion.so/image/attachment%3Adaff76ee-e6ee-4190-905c-d2d00f70168e%3A1774072463213.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-81db-8835-c847921159ef&amp;t=32a906d2-9440-81db-8835-c847921159ef" alt="最后定名：kid duku （幼儿数独）" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">最后定名：kid duku （幼儿数独）</figcaption></div></figure><div class="notion-text notion-block-32a906d294408099937ef6b913279c32"><b>让我开心的事</b></div><div class="notion-text notion-block-32a906d294408010add5ce0c7c561845"><b>我开发的这个小APP，真有很有用！</b></div><div class="notion-text notion-block-32a906d294408092b902d1812c02e2a0">这样玩了两天之后，她彻底掌握了数独游戏，一个刚满4岁，只会10以内加减数的小孩是如何玩数独的？看看我实拍的记录。</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-32a906d2944080c0a585f5ed6d3f0abb"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100px"><video playsinline="" controls="" preload="metadata" style="object-fit:contain" src="https://www.bilibili.com/video/BV15hAPzbEFa/?spm_id_from=333.1387.homepage.video_card.click&amp;vd_source=a4a23c9509236ca8904e3699aa355bc1&amp;spaceId=8a5626a7-84da-4b4d-8983-d6e410a2ad95" title="video"></video></div></figure><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-32a906d294408029803ed701bb635fbd" data-id="32a906d294408029803ed701bb635fbd"><span><div id="32a906d294408029803ed701bb635fbd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32a906d294408029803ed701bb635fbd" title="下载使用"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>下载使用</b></span></span></h3><div class="notion-text notion-block-32a906d2944080818983fd4aded3dc77"><b>iphone 和 ipad </b>已上架，App 下载地址：</div><div class="notion-text notion-block-32a906d2944080829cd6e8054420e428">https://apps.apple.com/cn/app/id6759147003</div><div class="notion-text notion-block-32a906d294408047a749d4bd129971e2">(考虑到我去年前年的AppStore开发者账号费99美元/年还没赚回来，所以今天我给产品都定了价，定价9.9RMB试试)</div><div class="notion-text notion-block-32a906d2944080f78919e4a849cf1849">安卓不知道怎么上架，还得等等。</div><div class="notion-text notion-block-32a906d29440805c8f87fd6ab51400b4">如果你家里也有对数字感兴趣的小朋友，希望 kid doku 对你有帮助。</div><div class="notion-text notion-block-32a906d2944080879b89e25aa859d001">如果你也是在做教育产品或儿童产品的开发者，也欢迎交流。你踩过的坑，可能正好是我下一步要避开的坑。</div><div class="notion-text notion-block-32a906d2944080a08f25cb193274ac05">它也许不是一个宏大的项目，但它是我想送给女儿的一份长期礼物。</div><div class="notion-text notion-block-32a906d2944080728724c5bc1a44f15e">(这是春节期间我给女儿做的产品，开年之后忙的不得了，终于在这个周末能把它发出来，算是为自己画了一个小句号。)</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-32a906d294408077a250de17c2eeea8b" data-id="32a906d294408077a250de17c2eeea8b"><span><div id="32a906d294408077a250de17c2eeea8b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32a906d294408077a250de17c2eeea8b" title="题外话：关于AI 设计"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>题外话：关于AI 设计</b></span></span></h2><div class="notion-text notion-block-32a906d2944080c48b13c4064d932bad">标题中的“没写代码，没做设计，但我开发了一个女儿数独APP”显然是标题党，我没有按照传统的方式写 Swift 代码，或用传统的方式使用 Figma 或者 Photoshop 做设计。但我使用了 Web vibe 和 vibe design（当然最近vibe这个词又滥大待了）</div><div class="notion-text notion-block-32a906d2944080c5824df08ed40f9abd">虽然我是个设计师，但是这一次我没有使用 Figma 做设计，而是尝试了 pencil（未能达到预期）</div><div class="notion-text notion-block-32a906d2944080c185cdc04e098e27e1">然后改用了 google Stitch——怎么说呢？效果我不说了，主要是完全使用了自然语言交互完成的设计，这是我们需要关注的变化。</div><div class="notion-text notion-block-32a906d294408055be32cb8ac8a1882b">想起来，我唯一做的设计是最后完成的标志，<b>我挺喜欢</b>这个标志。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-32a906d29440808ab492ca2da2136358"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A00591b8d-9680-40c5-8242-795ea20df66d%3A0924a04d1139623bb4ae413a275396d8.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=32a906d2-9440-808a-b492-ca2da2136358&amp;t=32a906d2-9440-808a-b492-ca2da2136358" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-32a906d294408034b4b1fe270ba73c67"><b>Kid Doku</b></div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[五个00后大学生，打算教张 小龙做微信]]></title>
            <link>https://tianfei.chat/article/gen-z-advising-zhang-xiaolong-on-wechat</link>
            <guid>https://tianfei.chat/article/gen-z-advising-zhang-xiaolong-on-wechat</guid>
            <pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[2026 年初的一个凌晨，田飞按下了公众号「IDL 创新设计实验室」的发布按钮。
四篇文章，记录了微信正在进行的四个功能灰度更新]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2f6906d2944080b0b0c8edc870ba7629"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080b5a773e7cec015ba9e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aeffb42ca-623d-4a70-8d41-44ca60f4a7d1%3A640.webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80b5-a773-e7cec015ba9e&amp;t=2f6906d2-9440-80b5-a773-e7cec015ba9e" alt="notion image" loading="lazy" decoding="async"/></div></figure><blockquote class="notion-quote notion-yellow_background notion-block-2f6906d2944080d8abe3fbbf022eb3c8"><div>微信十五岁了，该来些新东西了。</div></blockquote><div class="notion-text notion-block-2f6906d294408078980bf10a0202a6c0">2026 年初的一个凌晨，田飞按下了公众号「IDL 创新设计实验室」的发布按钮。</div><div class="notion-text notion-block-2f6906d2944080ddb6c7ea0597d0914a">四篇文章，记录了微信正在进行的四个功能灰度更新：</div><ul class="notion-list notion-list-disc notion-block-2f6906d29440801b868aee958310c0b2"><li><span class="notion-orange"><b>「清理白名单」</b></span>让用户可以一键删除白名单以外的其它聊天记录，快速释放存储空间，避免误删重要内容；</li></ul><ul class="notion-list notion-list-disc notion-block-2f6906d2944080d3b86dcded031faffd"><li><span class="notion-orange"><b>「微信口袋」</b></span>把散落在微信里的各种文章、链接、重要信息装进统一空间，状态保留，随取随用；</li></ul><ul class="notion-list notion-list-disc notion-block-2f6906d2944080c1b2c4ecd6595b3694"><li><span class="notion-orange"><b>「固顶转发」</b></span>将最常转发的联系人和群聊置顶在转发界面，还支持一键同时转发给多个对象，避免转错人的尴尬；</li></ul><ul class="notion-list notion-list-disc notion-block-2f6906d29440808fba13c3a58a588e02"><li>朋友圈加入了<span class="notion-orange"><b>「预览编辑」</b></span>功能，发布前可以预览文字的展现效果，还能修改图片次序、大小，调整好后一键发布，无缝衔接。</li></ul><div class="notion-text notion-block-2f6906d29440808c80dac2334b2c33ed">田飞把这些文章转发到朋友圈。没多久，留言开始涌进来。有朋友问「微信终于把这个做出来了」「我怎么还没收到更新？」「到底什么时候上线？」</div><div class="notion-text notion-block-2f6906d294408063bb67dcbdceaa9a4b">他有点不好意思，又有点得意。</div><div class="notion-text notion-block-2f6906d294408078b172e13f6298557f">不好意思是因为，这些所谓的新功能确实存在，但它们并非来自「官方」；得意则不仅在于这些新功能都是他的学生设计的，还因为一个在心里放了很多年的想法，终于部分实现了。</div><div class="notion-text notion-block-2f6906d2944080e38b98e9e4accada0d">这是田飞任教的湖南工业大学几个学生所做的一场交互设计课程实验。五个学生组成的小组，最初的名字挑衅感更强，后来才改成现在这个更收敛的「假如我是张小龙」。</div><div class="notion-text notion-block-2f6906d2944080c184ebe0e829840926">自信来自于一种直觉：微信就是不好用。十几亿用户，男女老幼，每个人都有想吐槽的点，对它来一次「爆改」，岂不是天经地义？</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080b49ee9e46f39999e7e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A00d21cfe-f88d-4ac7-86de-3b56c18f35b3%3A640_(1).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80b4-9ee9-e46f39999e7e&amp;t=2f6906d2-9440-80b4-9ee9-e46f39999e7e" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d2944080329ad6c17cdd6bd288">每个人用微信都会遇到这样那样的不满，每个人都觉得自己能比微信团队做得更好。</div><div class="notion-text notion-block-2f6906d294408072a7cde4982584cd2a">不到 20 岁时，田飞就是 Foxmail 用户，谈起张小龙，他「保持着长久的敬意」，但对微信动手术刀的念头，在他心里已经放了十多年。</div><div class="notion-text notion-block-2f6906d2944080cead84c00378c38856">没有人比大学生更合适做这件事。她们没有成熟产品经理的包袱，没受过行业套路和人性弱点机制的毒害——爆改微信，还能有人比她们更合适吗？</div><div class="notion-text notion-block-2f6906d2944080e3973de25ae44600fe">课程小组花了数周时间，选了几个自己日常最不爽的微信功能点，做了完整的解决方案，再用几篇「以假乱真」的文章制造传播事件，对用户量超 14 亿的超级 APP 提出质疑，向「产品之神」发起温和却又不自量力的挑衅。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440803593c7d1b963e913cf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Afce3ce0d-b4a6-4587-b5c6-43fc673b8a15%3A640_(2).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-8035-93c7-d1b963e913cf&amp;t=2f6906d2-9440-8035-93c7-d1b963e913cf" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d2944080c89006d37a7b53ed28">2026 年 1 月 21 日，微信刚刚过了十五岁生日。这个年纪足以令人不安，意味着一款产品早已度过黄金年代。</div><div class="notion-text notion-block-2f6906d294408092a0effcf7818be552">倘若最初的微信是我们的起居室，如今已经成了一座住满了几代人、庞大而臃肿的巨型城堡，管道早已老化，空间变得拥挤，门客有着千奇百怪的需求，而领主做出的任何改动，似乎总是能激怒所有人。</div><div class="notion-text notion-block-2f6906d2944080a7895cd5aeb43975b9">几个学生走进这座城堡，很快发现里面的门道远比想象更深。<span class="notion-orange"><b>从挑战，到理解，再到成为张小龙，短短数周的项目里，学生们的视角发生了转换。</b></span></div><div class="notion-text notion-block-2f6906d2944080079cb0e11e83d24903">这恰好达到了田飞期望的效果。在作业之外，这其实更是一场被刻意放大的设计实践。学生从简单的功能着手，一窥整个系统的复杂性。未曾直面用户、实践经验尚浅的她们，获得了直接「嵌入」微信这样一个国民级 APP 团队的机会，获得见微知著的真实体感。</div><div class="notion-text notion-block-2f6906d2944080d7ab1ee45e5e6d805c">「工夫在诗外。」田飞最关心的反倒不是学生们做了哪些具体功能，而是这些年轻人在旧建筑的缝隙里，种出什么样的新东西。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440808e8e14df7b33a3a2d8"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A5c7da5e8-a901-401f-a4c3-6ce1304daf34%3A640_(3).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-808e-8e14-df7b33a3a2d8&amp;t=2f6906d2-9440-808e-8e14-df7b33a3a2d8" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080debe88f7eab6f93b47"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aa3d722c1-1758-4b31-86f1-f671e765de5a%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80de-be88-f7eab6f93b47&amp;t=2f6906d2-9440-80de-be88-f7eab6f93b47" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d294408030a552c94fc53bbc73">5 个学生从大一到大三都有，专业背景也不同，有人研究视觉，有人擅长工程，有人关注系统与逻辑，但她们都是微信的「深度受害者」。</div><div class="notion-text notion-block-2f6906d2944080bf92ebc584bb2670da">对于印刷大二的王芸昕，微信除了通讯之外，还是她最常用的备忘工具。但问题在于，微信内部同时存在好几个备忘属性的功能：</div><div class="notion-text notion-block-2f6906d2944080479e6cf443b4747553">「浮窗」必须多次返回到首屏，才能在左上角点开；「收藏」同样要返回到首页，再点击「我」标签，而且内容形式没有区分，版式凌乱；最近度过的公众号文章要从「订阅号」进去，在二级、三级菜单里翻找......</div><div class="notion-text notion-block-2f6906d2944080f18c69e4f70ebcaaef">这些属性相似的功能，菜单层级够高的交互逻辑反人类，交互合理的却埋得太深，结果就是<span class="notion-orange"><b>微信看起来做了好几个备忘工具，但没有一个真正顺手好用</b></span>，交互逻辑异常割裂。各种需要保存的内容散落在微信各处，像是一通乱塞的抽屉。</div><div class="notion-text notion-block-2f6906d29440805cbae2e89e9c5f86e0">于是王芸昕设计了「微信口袋」。无论是一个链接，或者只是选中的一段文字，都可以在微信的任何界面上随时装进这个口袋，从屏幕边缘轻轻一划就能打开。没读完的文章、下载后打开过的文档、没填完的在线表格，全部暂存在这里......</div><div class="notion-text notion-block-2f6906d2944080c7a9d1dc310769639d">它是一个跨越微信内部层级的「临时内存」。如果把微信看作操作系统，「微信口袋」就是多任务管理。</div><div class="notion-text notion-block-2f6906d2944080129346d5c00841c038">这个 demo 和近几年手机的「AI 记忆」类功能有几分相似，比如 OPPO 的一键闪记、Nothing 的 Essential Space，甚至让人回想起锤子手机的闪念胶囊。「微信口袋」的核心逻辑是提供一个统一空间，所有内容通过少量步骤完成存取。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440805f9134d339ef885327"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:800px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A1e00dddb-adce-4e04-94fc-464cccd7b531%3A640.gif%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-805f-9134-d339ef885327&amp;t=2f6906d2-9440-805f-9134-d339ef885327" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d294408018a80ed0905a9416ec"><span class="notion-inline-underscore">「爆改微信」之微信口袋</span></div><div class="notion-text notion-block-2f6906d2944080c6ab74d0f25725be5a">发朋友圈这件事，赵培艺向来很认真，精心选图、修图、配文毫不马虎。但时常按下发布键后，才尴尬地发现有错字。</div><div class="notion-text notion-block-2f6906d29440808fa236c17c09148c9f">开弓没有回头箭，看着不断冒出来的新点赞和留言，她懊恼自己为什么没有好好检查。删掉重发？反而显得更刻意，一种另类的「社交尴尬」在屏幕这头蔓延开来。</div><div class="notion-text notion-block-2f6906d2944080ab8ff4de8ce7baa0cd">赵培艺和杨雨嘉的解决方案，是给朋友圈加上「预览编辑」功能：每次点击发布前可以先预览一下，直接在朋友圈时间线上确认是否折叠、图片排版好不好看。</div><div class="notion-text notion-block-2f6906d29440809398e5e5991221a440">这在很多人看来可能属于没事找事，但赵培艺认为它能拯救强迫症和错别字星人，提供了「冷静期」，给用户一个短暂的缓冲时间，可以打磨好内容再发。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d294408037bd52d0f473253730"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0112e534-43dd-40a3-9a36-822b21c2d6c9%3A640_(1).gif%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-8037-bd52-d0f473253730&amp;t=2f6906d2-9440-8037-bd52-d0f473253730" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d294408043b001c51753dd2f86"><span class="notion-inline-underscore">「爆改微信」之朋友圈预览编辑</span></div><div class="notion-text notion-block-2f6906d2944080d894f2d9d525b40dcc">白依鹭的手机存储只有 256GB，<span class="notion-orange"><b>每次要为腾空间，清理微信是必经步骤，但微信按文件/聊天大小排序的清理逻辑在她看来很荒谬</b></span>：「应该考虑的是内容本身，以及聊天对象对我的重要程度。」</div><div class="notion-text notion-block-2f6906d2944080d4ac00cf303360e01e">于是，基于「黑/白名单」清理微信存储的新逻辑诞生了。她给我看了 demo，只按了一个键，重要联系人以外的聊天可以一次性选中，再点清除。她形容这个功能「实在是超满足！」</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080b580ccdc3a3f650e8f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:600px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0748ffc8-e3dd-4910-ae65-6d6534722a45%3A640_(3).gif%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80b5-80cc-dc3a3f650e8f&amp;t=2f6906d2-9440-80b5-80cc-dc3a3f650e8f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d29440806b9e81f2b8477121ff"><span class="notion-inline-underscore">「爆改微信」之清理白名单</span></div><div class="notion-text notion-block-2f6906d2944080c5ab7bfd573d422227">王语琼觉得<span class="notion-orange"><b>微信默认的转发列表排序有着难以名状的逻辑</b></span>，既不完全服从「置顶聊天」的逻辑，也不是纯粹的时间先后。本来群聊就很多，头像非常容易混淆，转发的时候就经常把错的内容发到错的群里。</div><div class="notion-text notion-block-2f6906d294408060bce3c38ec9fae9e2">于是她设计了「固顶转发」，把经常互发消息的联系人和群聊置顶在转发界面上，还能多选转发对象。「我们将选择权还给用户，让高频社交场景拥有永恒的优先级」，她这样介绍自己设计的功能。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440806fb0d9c12efd9733ac"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:672px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aad2bfe0a-0b76-491b-a07c-3be53451fe6d%3A640_(4).gif%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-806f-b0d9-c12efd9733ac&amp;t=2f6906d2-9440-806f-b0d9-c12efd9733ac" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d29440809cbccefd08b9866024"><span class="notion-inline-underscore">「爆改微信」之固顶转发</span></div><div class="notion-text notion-block-2f6906d2944080dd9d1acc87f0ec68e8">四篇文章发出去之后，不少人跑来问如何给自己的微信也加上这些功能。这种「假传圣旨」的做法带来的压力并不小，但课程小组感到兴奋——自己的努力至少得到了讨论和认可。</div><div class="notion-text notion-block-2f6906d294408037868ced5aa2f1314f">王芸昕后来告诉我，做完这个项目，她对超级 APP 祛魅了，「从前以为特别厉害的软件设计，好像也没那么遥不可及。」</div><div class="notion-text notion-block-2f6906d29440809ead81e9ebbffa72e4">在课堂上，田飞把这种练习称为<span class="notion-orange"><b>「重设计」(ReDesign)</b></span>。</div><div class="notion-text notion-block-2f6906d2944080f79ed0c844ac060038">这是种同时倡导破坏与建设的教学方法。他要求学生不要凭空发明一个 APP，而是把矛头对准那些已经成型、甚至被认为不可撼动的产品——比如 12306、滴滴，抑或是用户量超过 14 亿的微信。「重设计」鼓励学生在看似坚不可摧的逻辑上找到裂缝，像个外科医生将其切开，把自己认为更好的逻辑替换进去。</div><div class="notion-text notion-block-2f6906d2944080229c9deaa56e9e8218">而在设计之后，再加入传播的环节，源自田飞自己作为独立开发者的经验。「设计的完成不是完成，只是起始，」他说。</div><div class="notion-text notion-block-2f6906d2944080118fffd331e35c8353">不仅是文章，在设计完成后，田飞还带着同学们直接做了一个完整的「爆改微信」项目落地页。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080c0bf94e0e2ada62aca"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A97da03bb-edaf-4ea5-af05-423ef442e436%3A640_(4).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80c0-bf94-e0e2ada62aca&amp;t=2f6906d2-9440-80c0-bf94-e0e2ada62aca" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d2944080e38fa0e7431bbf45d5">这个网站迎面给人以冲击：命题以大字呈现，背景里是课程讨论的照片，同学们记录了选题阶段的无数次徘徊，一个个构思提出又被推翻，深夜里的白板上写满了稠密的逻辑推演。最后，留下了四个「胆大包天」的爆改角度：微信口袋、朋友圈预览、固顶转发、清理白名单。</div><div class="notion-text notion-block-2f6906d294408096b7b5cd4359debe4d">公众号文章是田飞那个时代的内容形式了，大学生更喜欢用更活泼的方式来显摆。于是同学们还仿照科技媒体评测的风格拍了短视频，一本正经地介绍所谓「网上流出的微信 9.0 内测功能」。这还不够过瘾，她们又做了一首「说唱单曲」，甚至还准备做配套的 MV 。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440803ebac2d58deb76799f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A1fbe4747-b11a-4499-bea0-19607ebda942%3A640_(5).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-803e-bac2-d58deb76799f&amp;t=2f6906d2-9440-803e-bac2-d58deb76799f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d29440802193cfd716854b41b0">「设计的完成不是完成，一切才刚开始。」田飞说，后面还有传播、开发实现、收入变现等等一系列工作，这些都是设计学生平时不常能想到和经历到的体验。尽管课程的时间有限，他还是希望自己的学生尽可能走完一个独立开发者的完整流程。</div><div class="notion-text notion-block-2f6906d2944080918ea1e41b393e87bf">对这次实践的结果，田飞并没有明确的预期。只要学生做好自己的事情，有机会取得传播效果，就值得鼓励。「如果作品能穿透校园围墙，在真实世界引发传播和讨论，无论结果如何，这本身就是对能力最好的奖赏。」</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080c787e4c8bb2b8d196b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A5eaac996-aec0-4a3c-a63d-62ef0b437a59%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80c7-87e4-c8bb2b8d196b&amp;t=2f6906d2-9440-80c7-87e4-c8bb2b8d196b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d29440800ab4b2f85130fdda92">田飞今年 45 岁了，他回忆起 20 多年前还在西北街头寻找网吧，兜里揣着一张 3.5 英寸软盘，里面装着 Foxmail。</div><div class="notion-text notion-block-2f6906d294408084bfccdcaa00740eaf">那个时代属于互联网老前辈的个人英雄叙事，产品轻盈，开发者像天才，马化腾做了 QQ，李彦宏做了百度。但和那些有融资、有团队的大佬比起来，张小龙的经历更加传奇。</div><div class="notion-text notion-block-2f6906d29440808ea6a0de11861fdb4e">你很难想象全靠一个人可以做出 Foxmail 这样优秀的软件，甚至能和微软 Outlook 掰掰手腕。在腾讯还只有 10 万用户的时候，Foxmail 的用户已经超过 200 万。前网易总编、YY 创始人李学凌这么形容张小龙：<span class="notion-orange"><b>你站在黄庄路口大喊一声「我是 Foxmail 张小龙」，一定会有一大群人围上来让你签名。</b></span></div><div class="notion-text notion-block-2f6906d294408034825ac1bc5e9236f6">后来发生的事情则无需多言，张小龙加入腾讯后，先把 QQ 邮箱做成了第一个真正被本土用户普遍接受的电子邮箱，后又主动提出并领兵开发了中国移动互联网第一个现象级产品微信，一时间风光无两，在互联网行业彻底封神。</div><div class="notion-text notion-block-2f6906d2944080daa700d836c9103930">这种已经神化的形象，反倒是田飞想让学生尝试拆解的东西，「我对张小龙保持着长久的敬意，但这不代表他的产品不能被讨论、不能被优化。」</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080569450cf24fcfc6434"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A1cbf2dd4-7b52-4ca2-9418-a0bd60d94932%3A640_(6).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-8056-9450-cf24fcfc6434&amp;t=2f6906d2-9440-8056-9450-cf24fcfc6434" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d294408021bd55d75ce8af0f4e">实际上，十年前他就给学生布置过相同的选题，但那场实验以失败告终。</div><div class="notion-text notion-block-2f6906d2944080888a6ec50344388f69">阻力来自两端：一边是技术门槛高，没有像今天这么好用的原型工具，更没有 vibe coding（氛围编程）。学生只能用 After Effects 做一些粗浅的视觉演示。交付物看起来像 APP，但不是真的 APP。没有真实的交互流程，就没有行为反馈，就无法验证效果。</div><div class="notion-text notion-block-2f6906d2944080a2b47ce7ccf1ad5132">另一边是心理。十年前的微信，尚且年轻新锐，设计克制，功能简约，令人向往。田飞回忆十多年前的大学生，有的对微信「无感」，因为他们都还是 QQ 的原住民，有的学生用过、有一些感知，但更倾向把微信看作一个神圣且遥远的设计标杆。</div><div class="notion-text notion-block-2f6906d29440805ab729d11473efd4bb">今天的情况大不一样。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080d1bb10effe63cfe715"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Af44a7981-97ca-42c8-89a1-23bb59522812%3A640_(7).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80d1-bb10-effe63cfe715&amp;t=2f6906d2-9440-80d1-bb10-effe63cfe715" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d29440806aa042de7caf7e7679">现如今，学生有太多趁手的工具，用 Sketch、Figma 做界面设计，用 Principle 和 Protopie 做高保真动效，结合出可交互、足以乱真的 demo。这也是为什么公众号文章骗过了不少人，以为她们真的魔改出了一个更好用的微信。</div><div class="notion-text notion-block-2f6906d294408046a595ffefe208d76f">如今的微信，也已不再是当年那个简约克制的微信，而是演化成一颗盘根错节的巨树。她们一开始只是觉得某些功能难用，以为自己带来了微信急需的改变；越往后做，才察觉到<span class="notion-orange"><b>微信的产品设计远比她们想象的更加复杂和无奈。</b></span></div><div class="notion-text notion-block-2f6906d294408032b33bfc337ce07365">王语琼本来想把「看一看」和「搜一搜」砍掉，因为身边没人用，在调研中却遇到不少在用它们获取资讯的下沉用户。组员白依鹭曾经认为自己开发「清理白名单」完美无瑕，但验证用户场景时发现对于不擅长操作手机的高龄用户，这个功能可能会导致误删，引发意想不到的后果。</div><div class="notion-text notion-block-2f6906d29440807aac6cfbfe4002dce5">这也是此前的交互设计课堂上难以获得的新知。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080fb89c6f14abd1f88ff"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A3a1c0f2d-2db3-4727-95bc-c3e3c50fb4d3%3A640_(8).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-80fb-89c6-f14abd1f88ff&amp;t=2f6906d2-9440-80fb-89c6-f14abd1f88ff" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d29440806795d1c3f9b64a7583">田飞曾经带过各种命题项目，比如服务特定人群的视障导航，或者碎片化记事工具等。但微信不是一个简单的 APP，更像一套数字生活操作系统，或者像官方话术那样，是「一种生活方式」。微信要兼顾下至 10 岁的小孩和上至七八十岁的老人，要让互联网职业产品人看不出破绽，更要让毫无「科技素养」的下沉群体用得顺手。</div><div class="notion-text notion-block-2f6906d29440804bbb27df9f532ebd6a">一个功能的改动，要考虑上亿用户无法简单平均的接受度，也牵涉应用的代码逻辑、旧版本兼容等诸多问题——课程小组的同学们第一次对软件工程里「牵一发动全身」的概念有了实感。</div><div class="notion-text notion-block-2f6906d2944080da832df9e385e21167">田飞说，课题小组改名为现在的版本，想要的就是学生不止作为用户去吐槽，还要更往前走一步，代入微信产品经理的身份，去思考设计决策背后的权衡。他说：</div><div class="notion-text notion-block-2f6906d2944080bdb55bc2734e281862">「教张小龙做微信确实是个老梗了。外界对他的评价，无论是封神还是调侃，都只是外界的投射。他当然是非常优秀的产品经理，回顾微信历史上的很多重要的时刻，他都有正确的判断。但是产品进到国民级之后所承受的压力，是外界无论怎么代入都无法想象的。」</div><div class="notion-text notion-block-2f6906d2944080b58c18eab913468148">杨雨嘉跟我说：「当我们自己去梳理一个功能的逻辑闭环时，才发现看似简单的一个『撤回』或『转发』，背后涉及到无数的边界情况判断。我们只是在做表面的设计和交互，官方是在做系统。」</div><div class="notion-text notion-block-2f6906d2944080d7b2d5d54b8c327d54">她说，现在自己理解了微信团队的难处，也更加佩服他们能在种种限制下维持产品的稳定运行。</div><div class="notion-text notion-block-2f6906d2944080e5a299edf9b4d23fe2">田飞看着这几个学生，觉得她们越来越有专业范儿，自己的目的算是达到了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d294408061b42cc84a147927f5"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A84cd64d9-089c-48fc-94e7-081a9bb47375%3A640_(9).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-8061-b42c-c84a147927f5&amp;t=2f6906d2-9440-8061-b42c-c84a147927f5" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440802ba4e8fd6bc80af396"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A77ebd62f-6d41-4401-9a90-a6926e2aea2a%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-802b-a4e8-fd6bc80af396&amp;t=2f6906d2-9440-802b-a4e8-fd6bc80af396" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d294408051a0c5e923652973cf">湖南工业大学 IDL 创新设计实验室的交互设计课程，到今天已经是第十五年了，一直很强调实践。仅在过去的一年里，研究生和本科生已经立项并在推进中的独立产品达到了 8 个，软硬件都有覆盖。</div><div class="notion-text notion-block-2f6906d294408055aa4be63b664fee6a">除了更好用的设计、动效、原型工具之外，AI 生成工具也日益强大，让学生有机会独立创造有价值的产品。田飞将「一人公司」(OPC) 的概念融入到设计教育中，对学生的要求远比前几届更丰富和严格。</div><div class="notion-text notion-block-2f6906d29440805e94bec8c4f925c396">虽然创造的技术门槛降低了，隐藏在冰山之下的部分，对综合素质的要求反而更高了。</div><div class="notion-text notion-block-2f6906d294408035aa36dda4b742808c">比如，设计专业的学生经常容易陷入对视觉布局和美感的过度追求，反而忽略了设计的核心仍然是解决问题。这其实是独立开发或设计师的通病，<span class="notion-orange"><b>许多产品过分追求美观甚至「设计奇观」，却让人看不出对痛点和需求的深思熟虑。</b></span>大量难用却不得不用的产品抢夺注意力，反而带来巨大的认知负担，逼得一代人「数字中毒」。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d2944080229b55e6ed8d14c7a9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:794px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A69ee81c8-5f68-4ba0-9e36-67b4fa30c77e%3A640_(10).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-8022-9b55-e6ed8d14c7a9&amp;t=2f6906d2-9440-8022-9b55-e6ed8d14c7a9" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d294408051a50ce766d6956e1a"><span class="notion-inline-underscore">湖南工业大学副教授田飞</span></div><div class="notion-text notion-block-2f6906d2944080b39e79e2e860a91f60">去年早些时候，田飞指导过一个「反洗脑阅读」课题组。</div><div class="notion-text notion-block-2f6906d2944080d29677e1e8074fb8ee">学生们发现，那些收割老年人流量的垃圾内容产品，大多利用了人性中最底层的弱点之一：贪小便宜。于是田飞带着学生做了一个内容聚合产品，引入了「走路赚钱」、「看视频领金币」等等各种容易让人上瘾的机制，搭建了一个小便宜激励模型。</div><div class="notion-text notion-block-2f6906d29440807ca36acb623262dd49">但有趣之处在于，这个产品的内容池，从流量导向的垃圾文章，换成了由反诈专家筛选过的科普内容。在这个项目里，学生们必须亲手去拆解那些已被「合法化」的阴暗技巧，再把他们反过来用，引导老年人走出陷阱。</div><div class="notion-text notion-block-2f6906d2944080259578f2f11b53d539">利用人性之恶做产品设计，田飞个人对此深恶痛绝。但在课堂上，他其实并不忌惮让学生接触、掌握利用人性的巧妙方法。这看似矛盾，其实很务实：<span class="notion-orange"><b>产品设计的核心技能是对业务本质的思考，对流程的判断，更需要理解和尊重人性中亘古不变的那部分。</b></span></div><div class="notion-text notion-block-2f6906d294408072a347f5f8c68dc4e6">他清楚，靠一己之力无法与互联网行业的人性之恶斗争，他需要学生们离开课堂之后「去和许多邪恶的产品做一点对冲」，在实践中贯彻更好的理念——这需要她们有一份体面的工作和收入。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2f6906d29440805c85d9f736992744e8"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ab1805618-4fd1-4259-8280-73cbb3265342%3A640_(11).webp%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2f6906d2-9440-805c-85d9-f736992744e8&amp;t=2f6906d2-9440-805c-85d9-f736992744e8" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2f6906d2944080eba081c07f0ef4c294">「利用人性弱点，本身只是一种手段」，田飞说自己希望通过这个实验传递一种理念，即手段是中性的，好的产品设计同样可以利用这些手段，但关键在于意图是什么，是对用户的算计还是关怀。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[讯飞输入法，错过了语音输入的新时代]]></title>
            <link>https://tianfei.chat/article/fly-input-missed-voice-input-era</link>
            <guid>https://tianfei.chat/article/fly-input-missed-voice-input-era</guid>
            <pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2cd906d29440800e80d7df652c52d22d"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-2cd906d2944080ebbc41db3776ae2a7b">我其实并不想写一篇“骂产品”的文章。</div><div class="notion-text notion-block-2cd906d29440808ba163e3405b3a7082">但有些遗憾憋了一年多，不写出来，总觉得对不起自己走过的那段弯路。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d29440805cbb61f0ce7cbc7fa1" data-id="2cd906d29440805cbb61f0ce7cbc7fa1"><span><div id="2cd906d29440805cbb61f0ce7cbc7fa1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d29440805cbb61f0ce7cbc7fa1" title="1. 一个五笔用户的日常撕裂"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1. 一个五笔用户的日常撕裂</span></span></h3><div class="notion-text notion-block-2cd906d294408014a5aae12ffdceac30">在电脑上，我一直用的是 <b>清歌五笔</b>。</div><div class="notion-text notion-block-2cd906d2944080e184c2e2b8cb1b688f">这是我用过的 Mac 上体验最好的五笔输入法，没有之一，考虑到键盘输入是一种肌肉记忆，我一直未能切换到拼音输入法来。</div><div class="notion-text notion-block-2cd906d29440805b98c6c7d528a84c97">而在手机上，我几乎只用 <b>讯飞拼音(语音)输入法</b>。</div><div class="notion-text notion-block-2cd906d2944080dcb447ceb05dc1e8b0">这个组合在很长一段时间里是和谐的：</div><ul class="notion-list notion-list-disc notion-block-2cd906d29440800e9deee78a99e472e1"><li>电脑输入 → 五笔</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080749da0c3cc1df82214"><li>手机输入 → 讯飞</li></ul><div class="notion-text notion-block-2cd906d2944080809544fb8bc5aa8ee8">直到前年。</div><div class="notion-text notion-block-2cd906d2944080e2a7aac3322afc3b05">随着Ai的来临，我们这样的产品人开始长时间大范围的使用 vibe coding，<b>每天都需要长时间地与 IDE 键盘对话</b>。</div><div class="notion-text notion-block-2cd906d29440808b9aadd29b4d7d73b9">不是写几句提示，而是<b>几十万字规模的对话量</b>。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d29440800cae30f313a31cd801"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:320px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A6848112e-1d5f-493a-8854-1069bf8c6722%3Aa5bbca5d-f94f-443a-933f-7a95f85b5f51.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-800c-ae30-f313a31cd801&amp;t=2cd906d2-9440-800c-ae30-f313a31cd801" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2cd906d2944080ea95ecf73f7caac438">然后问题就来了。</div><div class="notion-text notion-block-2cd906d29440806cbd79d6dab686ecd0">键盘输入量太大了，我不得不在 Mac 上也安装讯飞输入法。</div><div class="notion-text notion-block-2cd906d29440808b9b24ed76ff888285">但肌肉记忆是不会讲道理的——</div><ul class="notion-list notion-list-disc notion-block-2cd906d2944080cb93dbfe71493fc687"><li>打字时，我会下意识切回五笔</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080e68049e08c91a51c1e"><li>需要语音时，又得切回讯飞输入法</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080e28ab4f79c8d2ef219"><li>再点开它里面的“语音输入”子功能</li></ul><div class="notion-text notion-block-2cd906d2944080afab6ff9469dd7ca40">注意，这里真正让我崩溃的点在于：</div><blockquote class="notion-quote notion-block-2cd906d2944080dcab13e9e640f5e3fb"><div>我不是在两个输入法之间切换，而是在「一个输入法」和「另一个输入法的某个子功能」之间切换。</div></blockquote><div class="notion-text notion-block-2cd906d294408092a799c9e9c2aa7bdd">这个一天几百上千次的操作链路长到让人心累。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d294408090ba37fccc9851b98f" data-id="2cd906d294408090ba37fccc9851b98f"><span><div id="2cd906d294408090ba37fccc9851b98f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d294408090ba37fccc9851b98f" title="2. Karabiner、忍耐，以及失败的临时方案"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2. Karabiner、忍耐，以及失败的临时方案</span></span></h3><div class="notion-text notion-block-2cd906d29440808b8ff2f68b7d632a6e">为了缓解这个问题，<b>2024 年 2 月</b>，我和 pimgeek 用 <b>Karabiner</b> 做了一个快捷版的语音输入方案。</div><div class="notion-text notion-block-2cd906d2944080298c71c121534e7e70">思路很简单：</div><ul class="notion-list notion-list-disc notion-block-2cd906d2944080db9bd9d15256bd1eed"><li>用快捷键fn</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080e398f4ef0c0d99abb3"><li>快速拉起语音</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080ce8f2ef7c7c8015488"><li>快速回到原输入法</li></ul><div class="notion-text notion-block-2cd906d294408094b8b1e560e0d7df44">勉强实现了。但是我忍了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d29440808886e1e2776788dfea"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Afd92aab0-5cb7-4275-9c84-de7cd7f1c5e6%3A32dc75666108b2223f7b27292bdd760b.jpg%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-8088-86e1-e2776788dfea&amp;t=2cd906d2-9440-8088-86e1-e2776788dfea" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2cd906d2944080aa9bbff353709fc92d">这一忍，就是一年。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d2944080509a6bed4ef8a3d2dc" data-id="2cd906d2944080509a6bed4ef8a3d2dc"><span><div id="2cd906d2944080509a6bed4ef8a3d2dc" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d2944080509a6bed4ef8a3d2dc" title="3. 我自己写了一个“输入法搬运工”"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3. 我自己写了一个“输入法搬运工”</span></span></h3><div class="notion-text notion-block-2cd906d29440805dbd4bee74e7587e55"><b>2025 年初</b>，忍耐到极限之后，我干了一件很程序员的事：</div><blockquote class="notion-quote notion-block-2cd906d29440806bb956f5533d3a4adb"><div>我用 web coding 给自己写了一个 Mac App。</div></blockquote><div class="notion-text notion-block-2cd906d2944080cb9886e3a8431c82a1">原理超简单：</div><div class="notion-callout notion-yellow_background_co notion-block-2cd906d2944080bc85fcca7effabdd11"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="📌">📌</span></div><div class="notion-callout-text"><div class="notion-text notion-block-2cd906d29440801bb579e0099ad04538">用户长按fn ➡️ 程序帮忙切换到讯飞 ➡️ 然后点开语音听写 ➡️ 等待用户说话 ➡️ 用户松开fn ➡️ 程序帮忙切换回初始输入法(比如五笔/鹤形)，方便用户继续输入或修改</div></div></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d29440809dbeb4c1afedf2cf73"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A714e231a-4bb2-4ef0-b17f-6e02bea8240e%3Acf2fca6bdc3bfdefc6490e94d6340c8d.jpg%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-809d-beb4-c1afedf2cf73&amp;t=2cd906d2-9440-809d-beb4-c1afedf2cf73" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2cd906d29440802a802dd2c6ddb232d1"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d2944080b19150e6ab9697ec15"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ad76f082c-d4ce-47d7-9d73-8a1d451dee4b%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-80b1-9150-e6ab9697ec15&amp;t=2cd906d2-9440-80b1-9150-e6ab9697ec15" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2cd906d29440801d850ff9702fd27393">当时我在即刻社区写道：</div><blockquote class="notion-quote notion-block-2cd906d2944080eebaa7f087ec5afdb6"><div>Mac 电脑的语音输入法来了，
以后和 Cursor 聊天，再也不打字了。
动嘴编程时代来临 😄</div><div class="notion-text notion-block-2cd906d29440804a9952f20fc67170c8">为 Mac 电脑增加一键临时语音输入法</div><ul class="notion-list notion-list-disc notion-block-2cd906d294408022a85fc36be3377216"><li>没有大模型</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d294408072b03fe7aacb620478"><li>没有 API</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080e9a370c5658746fc46"><li>没有 AI 润色</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d29440801284b4d68c18412031"><li>没有双语翻译</li></ul><div class="notion-text notion-block-2cd906d29440800d8ea9f0771b578611">就是忠实地把语音转成文字，</div><div class="notion-text notion-block-2cd906d29440808c9f86f540379744df">借助讯飞输入法本身的能力，</div><div class="notion-text notion-block-2cd906d2944080d4ba6ecd3e75e9d350">把断句和标点做好，</div><div class="notion-text notion-block-2cd906d2944080879532ff078429d070"><b>远胜过 Mac 自带的听写。</b></div></blockquote><div class="notion-text notion-block-2cd906d29440801c8206ce3aa68a8259">我还录了一个演示视频（视频 1）。</div><div class="notion-text notion-block-2cd906d29440803fa4cde971045f5f62">我特别强调：</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2cd906d29440800bbd6bf784d535fcad" data-id="2cd906d29440800bbd6bf784d535fcad"><span><div id="2cd906d29440800bbd6bf784d535fcad" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d29440800bbd6bf784d535fcad" title="长按 Fn 键直接输入"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>长按 Fn 键直接输入</b></span></span></h4><div class="notion-text notion-block-2cd906d2944080ac96deffaaa4e8b9bb">这是为了和手机上的讯飞输入法，或微信语音转文字，保持同样的使用经验。</div><div class="notion-callout notion-yellow_background_co notion-block-2cd906d2944080479b3df0030b331cbd"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="❓">❓</span></div><div class="notion-callout-text"><div class="notion-text notion-block-2cd906d2944080d69680cb036702f462">[视频]</div></div></div><div class="notion-text notion-block-2cd906d2944080398c11c166831cbe66">那一刻，我是真的开心。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d2944080cda1f6f7fec1898eea" data-id="2cd906d2944080cda1f6f7fec1898eea"><span><div id="2cd906d2944080cda1f6f7fec1898eea" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d2944080cda1f6f7fec1898eea" title="4. “语流”，以及一群兴奋的陌生人"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4. “语流”，以及一群兴奋的陌生人</span></span></h3><div class="notion-text notion-block-2cd906d2944080579ac2eaecedb21c13">很有意思的是，这个想法启发了即刻里另一位朋友ErlichLiu也迅速做了一个类似的功能。他把这个功能发到了小红书，收获了大量期待。</div><div class="notion-text notion-block-2cd906d2944080fcb05ede502c956605">一周后，我将我的“讯飞语音搬运工”升级了一个新版本，给它起了个名字：</div><blockquote class="notion-quote notion-block-2cd906d29440807b8b73d707ab6b90df"><div>语流</div></blockquote><div class="notion-callout notion-yellow_background_co notion-block-2cd906d2944080ff929aeb806e3cef80"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="❓">❓</span></div><div class="notion-callout-text"><div class="notion-text notion-block-2cd906d29440800eb30ae935ea44509c">[视频]</div></div></div><div class="notion-text notion-block-2cd906d29440804ca67bd3ca99763fbd">甚至，我还建了一个用户体验群。很快进来了一堆朋友，都想试用。那一刻我第一次意识到：</div><div class="notion-text notion-block-2cd906d29440807692c7ed3fdaf567b7"><b>这不是我一个人的痛点。</b></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d2944080cb83d9f3cb2de35fd5" data-id="2cd906d2944080cb83d9f3cb2de35fd5"><span><div id="2cd906d2944080cb83d9f3cb2de35fd5" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d2944080cb83d9f3cb2de35fd5" title="5. 苹果上架失败：我不是输入法，我只是个搬运工"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">5. 苹果上架失败：我不是输入法，我只是个搬运工</span></span></h3><div class="notion-text notion-block-2cd906d2944080fea91bd4ae6518650f">接下来，我开始尝试把这个 App 上架到 Mac App Store。</div><div class="notion-text notion-block-2cd906d2944080e1a841d5ceb069035f">结果是——</div><div class="notion-text notion-block-2cd906d2944080b1974cd128451e606c"><b>失败。</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d2944080edba56c3efc21683c8"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A8b07015c-56e5-4364-a325-3169f00f7ca2%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-80ed-ba56-c3efc21683c8&amp;t=2cd906d2-9440-80ed-ba56-c3efc21683c8" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2cd906d294408056a52bc701ab441352">从 1 月到 3 月，整整一个多月。</div><div class="notion-text notion-block-2cd906d2944080a98db6dd46ef527b0e">我提交了五六次申诉，我反复向苹果解释：</div><ul class="notion-list notion-list-disc notion-block-2cd906d294408015b82ae792ea4a3dc6"><li>我不是在做一个新的语音输入法</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080f383f2eeb0b3bf794e"><li>我没有任何模型</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d2944080a29b30fde42e4441bb"><li>没有 API</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d29440807baef2c9149ff56d42"><li>不需要登录</li></ul><ul class="notion-list notion-list-disc notion-block-2cd906d294408091b1e3ea91bbd28a7b"><li>不需要麦克风权限</li></ul><div class="notion-text notion-block-2cd906d2944080cc8521c584b5afb343">说白了，这就是一个<b>为非拼音输入法用户服务的语音输入“搬运工”，</b>仅此而已。但这不符合苹果的“作为一个独立应用”的标准。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d2944080f78d32d6eabe81cdb7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ae34c427b-f2e9-47c2-b9dd-10be254098dc%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-80f7-8d32-d6eabe81cdb7&amp;t=2cd906d2-9440-80f7-8d32-d6eabe81cdb7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2cd906d294408070abd0d1d344363aa1">顺便说一句：<b>Mac 自带的 F5 听写真的烂透了。</b>识别错误、标点缺失，唯一的优点是系统级，反应快。</div><div class="notion-text notion-block-2cd906d29440806cb005ca2ee68a1ba6">最终，我的 【语流】还是没能上架成功。于是我只能自己凑合着用，不过对我“口喷代码”帮助很大。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d2944080809f40c88e661608a0" data-id="2cd906d2944080809f40c88e661608a0"><span><div id="2cd906d2944080809f40c88e661608a0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d2944080809f40c88e661608a0" title="6. 后来者们，终于来了"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">6. 后来者们，终于来了</span></span></h3><div class="notion-text notion-block-2cd906d29440805ba215f3fba58c7542">在这一年里，我又陆续用了 <b>Whisper Keyboard、Spokenly、代体等Ai加持的语音输入法，</b>再后来，<b>豆包输入法</b>来了，微信输入法也支持语音了，这几天我又看到：<b>智谱也推出了语音输入法。</b></div><div class="notion-text notion-block-2cd906d294408033bc02faa811c829d1">巧的是——</div><div class="notion-text notion-block-2cd906d29440806f8b2fda1f1a10efda">也是<b>长按 Fn 键</b>。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d29440809bbda6da2c2da6a7f6"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aa3bfce02-f17c-4173-b55e-a77e6ecc8608%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-809b-bda6-da2c2da6a7f6&amp;t=2cd906d2-9440-809b-bda6-da2c2da6a7f6" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d294408046b400c9a7a4d9fe8d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:278.5342592592593px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A2485cd67-4137-4b5a-b4aa-600b132cc82d%3A977871cd-6972-4081-8894-a8beb62f6acf.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-8046-b400-c9a7a4d9fe8d&amp;t=2cd906d2-9440-8046-b400-c9a7a4d9fe8d" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d2944080248748de29d29a6a37" data-id="2cd906d2944080248748de29d29a6a37"><span><div id="2cd906d2944080248748de29d29a6a37" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d2944080248748de29d29a6a37" title="7. 讯飞，真的错过了"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">7. 讯飞，真的错过了</span></span></h3><div class="notion-text notion-block-2cd906d2944080bdaccdd974513c7ce4">我现在已经非常习惯使用 <b>闪电说</b>(就是原来的代体)来输入了。他们做得很好，真心推荐给所有朋友。</div><div class="notion-text notion-block-2cd906d2944080d6a93ae130ada6997a">但我仍然感到一种巨大的遗憾。</div><blockquote class="notion-quote notion-block-2cd906d29440802691bdfe16e2f7a27e"><div>讯飞，错过了这一场新的语音输入入口。</div></blockquote><div class="notion-text notion-block-2cd906d2944080cfa4e0d84e22969797">作为曾经用户体验最好的输入法之一，</div><div class="notion-text notion-block-2cd906d2944080619cd0c6135ac3720f">作为离线模型就能做到极高识别度的厂商，</div><div class="notion-text notion-block-2cd906d29440808db46ff1c4d29cde6f">作为一家持续投入 AI 的企业，</div><div class="notion-text notion-block-2cd906d2944080a0b4c2f3973e122a88">作为输入法市场“春秋五霸”之一——</div><div class="notion-text notion-block-2cd906d294408044b386f0b9b8d54d26">他们似乎毫无作为。</div><div class="notion-text notion-block-2cd906d2944080c29c07d282053009b5">事实上，早在很久之前，他们只需要一件事：</div><blockquote class="notion-quote notion-block-2cd906d29440804b90e6ee06dee891ca"><div>在 Mac 输入法里，加一个靠谱的快捷键，就能巨大地提升用户体验——特别是在vibe coding刚开始时。</div></blockquote><div class="notion-text notion-block-2cd906d294408035be73e81f165b8b16">但他们似乎把大部分精力，都花在了<b>皮肤的商业化变现</b>上。</div><div class="notion-text notion-block-2cd906d2944080a5b701f6c9ed45893d">（也许这只是我的个人观察。）</div><div class="notion-text notion-block-2cd906d2944080d783c3dffd3a4d7893">也许，对讯飞来说，输入法只是个很小的项目，没那么重要。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2cd906d29440800fa58ff6270bd2bec1" data-id="2cd906d29440800fa58ff6270bd2bec1"><span><div id="2cd906d29440800fa58ff6270bd2bec1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2cd906d29440800fa58ff6270bd2bec1" title="8. 一个更大的时代，正在到来"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">8. 一个更大的时代，正在到来</span></span></h3><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cd906d29440803aa81ae5a4ca19fc66"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0d92856e-c32d-4b7f-a377-3f2fa1a35bfc%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2cd906d2-9440-803a-a81a-e5a4ca19fc66&amp;t=2cd906d2-9440-803a-a81a-e5a4ca19fc66" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2cd906d2944080078b32f83593ce4bb8">但我始终觉得：</div><div class="notion-text notion-block-2cd906d29440808ca1a5ef47bc7b99ee">他们可能没有看明白。</div><div class="notion-text notion-block-2cd906d29440808fa1a7ce8eaee0154a">我们正在进入的，不是一个简单的“语音输入”时代。</div><div class="notion-text notion-block-2cd906d29440806b96f5d158cb28b6b5">而是一个——</div><div class="notion-text notion-block-2cd906d2944080228de8cef1ac58c162"><b>Her（那部电影）式的入口时代。</b></div><div class="notion-text notion-block-2cd906d29440807e9003c14ff67d8ebd">语音，不再只是输入方式，而是<b>语义、上下文、意图的第一入口</b>。</div><div class="notion-text notion-block-2cd906d29440807d875dcca3f7e39bcd">这是一个全新的交互范式，而在这个最高频、最自然的入口上，讯飞，慢慢地，把位置让了出来。</div><div class="notion-text notion-block-2cd906d29440806fbd2eee8ef2dbed52">这是我觉得非常可惜的地方。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[界面与交互的关系]]></title>
            <link>https://tianfei.chat/article/ui-ux-interplay</link>
            <guid>https://tianfei.chat/article/ui-ux-interplay</guid>
            <pubDate>Wed, 12 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[随着数字设计领域的职业化细分，“界面设计”与“交互设计”在岗位职能上扮演着不同的角色。这种精细化的分工虽然提升了协作效率，但也容易让学习者产生一种认知的割裂，误认为前者只是“画图”，后者只是“写文档”。这是一种典型的认知误区。
在实际的设计实践中，二者经常是深度交融的，但在概念上又有着明确的边界。为了准确理解它们，我们需要既关联性地学习，又清晰地区分其异同。我们将从教学逻辑与本质属性两个维度进行剖析：]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2bb906d294408009a553d833e4d73837"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div></div><blockquote class="notion-quote notion-block-2bb906d29440807bae73fccbffa19f12"><div><b>界面与交互设计关系讨论</b> <!-- -->Nov 30, 2025</div></blockquote><div class="notion-callout notion-yellow_background_co notion-block-2bb906d29440802db0dbce24297a2ea8"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="❓">❓</span></div><div class="notion-callout-text"><h4 class="notion-h notion-h3 notion-block-2bb906d2944080498bfaeae02871fb74" data-id="2bb906d2944080498bfaeae02871fb74"><span><div id="2bb906d2944080498bfaeae02871fb74" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d2944080498bfaeae02871fb74" title="教学讨论背景"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">教学讨论背景</span></span></h4><ul class="notion-list notion-list-disc notion-block-2bb906d29440807e8369c8c3fda89e66"><li>近期午餐时间与学生雨婷、佳慧讨论了教材内容，特别关注界面和交互设计之间的关系 </li></ul><ul class="notion-list notion-list-disc notion-block-2bb906d2944080f2b701c0b5631e0762"><li>发现虽然这两门课程在大学课程设置中常被分开教授，但实际教学中发现它们关系密不可分 </li></ul><h4 class="notion-h notion-h3 notion-block-2bb906d294408089abc9f0d0200d2f7b" data-id="2bb906d294408089abc9f0d0200d2f7b"><span><div id="2bb906d294408089abc9f0d0200d2f7b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d294408089abc9f0d0200d2f7b" title="讨论成果"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">讨论成果</span></span></h4><ul class="notion-list notion-list-disc notion-block-2bb906d2944080c1abc9e4ede3bf8fb5"><li>深入探讨了界面设计与交互设计之间的互相依存性 </li></ul><ul class="notion-list notion-list-disc notion-block-2bb906d294408008a6adc88c638bd157"><li>决定将这一讨论内容整合到教材中，作为重要内容部分 </li></ul><h4 class="notion-h notion-h3 notion-block-2bb906d294408078b48bd40b9d4b702b" data-id="2bb906d294408078b48bd40b9d4b702b"><span><div id="2bb906d294408078b48bd40b9d4b702b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d294408078b48bd40b9d4b702b" title="后续计划"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">后续计划</span></span></h4><div class="notion-to-do notion-block-2bb906d2944080f8949ad89de3a3dee0"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-unchecked"></div></span><div class="notion-to-do-body">将界面与交互关系的讨论内容整合到教材中</div></div><div class="notion-to-do-children"></div></div></div></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2bb906d2944080e38856c3156ec88cae" data-id="2bb906d2944080e38856c3156ec88cae"><span><div id="2bb906d2944080e38856c3156ec88cae" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d2944080e38856c3156ec88cae" title="界面与交互的关系"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">界面与交互的关系</span></span></h3><div class="notion-text notion-block-2bb906d2944080be9e2ee648bd3e63b0">随着数字设计领域的职业化细分，“界面设计”与“交互设计”在岗位职能上扮演着不同的角色。这种精细化的分工虽然提升了协作效率，但也容易让学习者产生一种认知的割裂，误认为前者只是“画图”，后者只是“写文档”。这是一种典型的认知误区。</div><div class="notion-text notion-block-2bb906d294408027b42af6b25d458baa">在实际的设计实践中，二者经常是深度交融的，但在概念上又有着明确的边界。为了准确理解它们，我们需要既关联性地学习，又清晰地区分其异同。我们将从<b>教学逻辑</b>与<b>本质属性</b>两个维度进行剖析：</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2bb906d2944080a782a1fa33d60e2bca" data-id="2bb906d2944080a782a1fa33d60e2bca"><span><div id="2bb906d2944080a782a1fa33d60e2bca" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d2944080a782a1fa33d60e2bca" title="(1) 教学关系：先形后意"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>(1) 教学关系：先形后意</b></span></span></h4><div class="notion-text notion-block-2bb906d29440809cbf7fefd10627f7e8">在本书的章节编排及实际教学逻辑上，我们计划先讲授“界面设计”。这并非因为界面比交互更重要，而是基于学习曲线的考量：</div><div class="notion-text notion-block-2bb906d29440801b9343eab39d8d085e">① <b>可视与不可视：</b>界面是可视的 (Visible)、具象的，更容易被观察和模仿；而交互往往是不可视的 (Invisible)、涉及时间维度的逻辑流转，学习门槛较高。</div><div class="notion-text notion-block-2bb906d294408083bcf4f474f1113980">② <b>阶梯式教学法：</b>通过绘制图标和布局，学习者能快速建立成就感和形式感。因此，本书采用“从界面切入，逐步深入交互”的策略。但这并不意味着在设计界面时可以忽略交互，反之，<b>在绘制每一个元素或组件时，脑海中都应预演其交互行为。</b></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2bb906d2944080c2b178da82afba8aa4" data-id="2bb906d2944080c2b178da82afba8aa4"><span><div id="2bb906d2944080c2b178da82afba8aa4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d2944080c2b178da82afba8aa4" title="(2) 本质关系：骨肉相连"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>(2) 本质关系：骨肉相连</b></span></span></h4><div class="notion-text notion-block-2bb906d294408090b71fc4e49de38807">抛开学习顺序，回到产品的本质上，界面与交互是“骨肉相连”、不可分割的统一体：</div><div class="notion-text notion-block-2bb906d2944080b59f33dd0186c4e67b">① <b>界面是交互的载体:</b>没有界面，交互无法发生（至少在本书所限定的基于屏幕的交互语境下）。界面由图形、按纽、输入框、组件、文字、色彩、布局等视觉元素构成，它是信息的容器，它解决了“<b>看起来是什么</b>”的问题。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2bb906d29440804bad23ca793999e355"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A1610e49c-ee21-40a1-a89c-bc9b1dcf9629%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=2bb906d2-9440-804b-ad23-ca793999e355&amp;t=2bb906d2-9440-804b-ad23-ca793999e355" alt="图：苹果发布会上乔布斯的演示：划动解锁手机" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">图：苹果发布会上乔布斯的演示：划动解锁手机</figcaption></div></figure><div class="notion-text notion-block-2bb906d2944080fdadd8f6486e3595e9">——以早期 iPhone 经典的“滑动解锁”为例，为了防止口袋误触，设计师将解锁控件设计成类似物理门栓的横向滑槽样式，并辅以自左向右流动的光影动画（界面层面）。这种视觉隐喻强烈且直观地暗示了用户：这里不能点击，而必须执行“向右滑动”这一特定动作（交互层面）。</div><div class="notion-text notion-block-2bb906d29440809897b0f4c5979a882f">可以看出，没有交互，界面只是一张毫无生气的死图；但没有界面，交互则失去了发生的场所和媒介。因此，界面设计的核心任务之一，就是通过视觉线索向用户暗示可行的交互方式。</div><ul class="notion-list notion-list-disc notion-block-2bb906d29440805ab1afddcf22dafd98"><li><b>显性引导：</b> 界面上的输入框、滑块、导航栏，都是交互的“触发器”。清晰的界面层级能引导用户的视线，从而规划交互的路径。</li></ul><ul class="notion-list notion-list-disc notion-block-2bb906d29440807eb2b1d3eaa2f43d14"><li><b>隐性限制：</b> 界面通过置灰不可用的按钮、隐藏高级选项等方式，限制用户的错误操作，规范交互的边界。</li></ul><div class="notion-text notion-block-2bb906d29440806f8530db6c1512b341">简而言之，界面反映出了交互的“可能性空间”——它告诉用户在这里<b>能做什么</b>，以及<b>不能做什么</b>。</div><div class="notion-text notion-block-2bb906d294408070be94c08752c4d7dd">② <b>交互是界面的灵魂：</b>没有交互作用的反馈，界面只是一张毫无意义的“画皮”，没有交互逻辑的支撑，界面只是自说自话的“我认为”。所以一个设计精美的按钮，如果点击后没有任何反应（缺乏交互反馈），或者执行了错误的功能（交互意图错位），那么这个界面在功能层面上就是彻底失败的。</div><div class="notion-text notion-block-2bb906d294408077affaced316af3a36">正如唐纳德·诺曼 (Donald Norman) 所言，用户并不关心什么是“界面”、什么是“交互”，他们关心的仅仅是“能否顺畅地完成任务”。为了实现这个目标，我们必须将界面与交互视为一个整体，共同服务于用户的目标。界面与交互的区分，是设计师为了专业分工而进行的人为拆解；而在用户的感知中，它们始终是一个完整的、流动的体验整体。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2bb906d29440802c89e3fbc0ab9b807c" data-id="2bb906d29440802c89e3fbc0ab9b807c"><span><div id="2bb906d29440802c89e3fbc0ab9b807c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bb906d29440802c89e3fbc0ab9b807c" title="后续："><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">后续：</span></span></h4><div class="notion-text notion-block-2bb906d2944080b8928dfc529a3f858b">▼1.2 从界面到交互
 1.2.1 交互的定义
 1.2.1理解“交互”
 <span class="notion-blue">1.2.2 界面与交互的关系</span>
 1.2.4 界面与交互的相互影响
▼1.3 界面起始:从图标谈起
 1.3.1为什么人人都能看懂图标?
 (1)名词化的直观映射(Literal Mapping)
 (2)动作化的隐喻转译(Metaphorical Mapping)
 (3)文化历史的脉络遗传(Historical &amp;Cultural Heritage)
 (4)抽象符号的规约定义(Abstract Convention)
 1.3.2 项目A:图标逆向绘制工程
 1.3.3 项目B：图标考古报告
……</div><div class="notion-blank notion-block-2bb906d294408024917fd7b1cd5b667a"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[NotionNext部署时530报错问题处理办法]]></title>
            <link>https://tianfei.chat/article/how-to-fix-530-error-when-deploying-notionnext</link>
            <guid>https://tianfei.chat/article/how-to-fix-530-error-when-deploying-notionnext</guid>
            <pubDate>Thu, 09 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[最近，在通过 GitHub Actions 自动部署我的 NotionNext 博客时，CI/CD 流水线突然开始频繁亮起红灯。检查日志后，一个刺眼的错误反复出现：

Request failed with status code 530: POST https://www.notion.so/api/v3/queryCollection?src=initial_load

这个 530 错误通常与服务器端的问题有关，它表明我们的构建服务器在尝试从 Notion 拉取数据时，被 Notion 的官方 API 端点拒绝或无法连接。这很可能是由于 Notion 官方服务器的访问限制或网络不稳定导致的。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-287906d2944080cb863ff27af5060a93"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-callout notion-yellow_background_co notion-block-287906d294408083a40bfba4c9610bf3"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="❓">❓</span></div><div class="notion-callout-text"><div class="notion-text notion-block-287906d2944080afb00cf71eba9e19b1">对了，你读完可能还是不知道怎么做？我发现最简单的方法就是把这个文章丢给cursor之类Ai，让它读了，它就知道怎么做。如果你的Ai读不了链接，那么你可以将文章转换成PDF给它。</div><div class="notion-text notion-block-287906d294408029abf3e28366b3bfdb">方法：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://tianfei.chat/app/WEBxPDF/">一键将网页转换成PDF&gt;</a></div></div></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-287906d29440806595c5ead4fa9d4d36" data-id="287906d29440806595c5ead4fa9d4d36"><span><div id="287906d29440806595c5ead4fa9d4d36" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d29440806595c5ead4fa9d4d36" title="问题的发现"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">问题的发现</span></span></h3><div class="notion-text notion-block-287906d2944080b1b58dff25d05a6ba4">昨天（2025年10月8日），notionNext突然无法部署，一直报错。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-287906d29440801f916df3e597140401"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ae74fe009-1bdb-4e9b-909a-459a489f8d7a%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=287906d2-9440-801f-916d-f3e597140401&amp;t=287906d2-9440-801f-916d-f3e597140401" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-287906d2944080dabda9c7ff50f88b5b">各种报错，显示为code 530</div><div class="notion-text notion-block-287906d2944080148d76f91a59425f19">因为我当时正好在改各种样式，我以为是自己的问题。恢复git……各种搞了十几个小时，还得Ai争辩了半天——我认为不可能是notion或notionNext的问题，肯定是Ai给我改代码改坏了……</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-287906d29440807392f2cf0a54ee3fd6"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0c0fe280-fa09-42b7-a3dc-132ac879263e%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=287906d2-9440-8073-92f2-cf0a54ee3fd6&amp;t=287906d2-9440-8073-92f2-cf0a54ee3fd6" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-287906d2944080998828c323064c439e">我恢复了几次git，重启了ECS，清空了vercel的缓存……</div><div class="notion-text notion-block-287906d2944080748b3bd8f3e48e3514">最后发现，真的是官方出了问题</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-287906d29440800ba245dca9cfb1f8fd"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A770467ae-1f65-440e-874a-7aeac8ef4a76%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=287906d2-9440-800b-a245-dca9cfb1f8fd&amp;t=287906d2-9440-800b-a245-dca9cfb1f8fd" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-287906d2944080938b4ad424534554cf">notionNext的开发者tangly1024给出一个方案：</div><div class="notion-text notion-block-287906d2944080ff853fd84fe40ee212"><span class="notion-link-mention"><a href="https://docs.tangly1024.com/article/notion-next-api_base_url" target="_blank" rel="noopener noreferrer" class="notion-link-mention-link"><img class="notion-link-mention-icon" src="https://docs.tangly1024.com/favicon.ico" alt="NotionNext帮助手册"/><span class="notion-link-mention-provider">NotionNext帮助手册</span><span class="notion-link-mention-title">API_BASE_URL | NotionNext帮助手册</span></a><div class="notion-link-mention-preview"><article class="notion-link-mention-card"><img class="notion-link-mention-preview-thumbnail" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F01c82885-32ed-4da6-8c06-cf00a2df74c8%2Farhs6-ymx4f.webp?table=collection&amp;id=308a7afa-2d3d-46a4-b8ea-19debe72385f&amp;t=308a7afa-2d3d-46a4-b8ea-19debe72385f&amp;width=1080&amp;cache=v2" alt="API_BASE_URL | NotionNext帮助手册"/><div class="notion-link-mention-preview-content"><p class="notion-link-mention-preview-title">API_BASE_URL | NotionNext帮助手册</p><p class="notion-link-mention-preview-description">Notion开源、免费、快速建站</p><div class="notion-link-mention-preview-footer"><img class="notion-link-mention-preview-icon" src="https://docs.tangly1024.com/favicon.ico" alt="NotionNext帮助手册"/><span class="notion-link-mention-preview-provider">NotionNext帮助手册</span></div></div></article></div></span></div><div class="notion-text notion-block-287906d2944080c6b35fd0a06edb192d">社区的解决方案指出，我们可以通过设置一个名为 <code class="notion-inline-code">API_BASE_URL</code> 的环境变量，将 API 请求从不稳定的官方地址 <code class="notion-inline-code">www.notion.so</code> 重定向到我们自己的、更稳定的个性化 Notion 域名。</div><div class="notion-text notion-block-287906d29440807fb3c1fe1d65eabc34">我的个性化域名是 <code class="notion-inline-code">https://du*****e.notion.site</code>，因此我需要在项目中配置一个新的 API 端点：<code class="notion-inline-code">https://du*****e.notion.site/api/v3</code>。</div><div class="notion-text notion-block-287906d2944080a58031f65f3cdd178c">按官方说明，最好是升级到notionNext新版本——但我做了不少定制化的事情，所以不想升级，然后按说明人开始了尝试。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287906d2944080be89b8ca70367dce5f" data-id="287906d2944080be89b8ca70367dce5f"><span><div id="287906d2944080be89b8ca70367dce5f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d2944080be89b8ca70367dce5f" title="步骤 1：修改 blog.config.js"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">步骤 1：修改 <code class="notion-inline-code">blog.config.js</code></span></span></h4><div class="notion-text notion-block-287906d2944080ba9cc8ca353ebbfbd2">首先，我让代码能够识别这个新的环境变量。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287906d294408046952ec34cca80f209" data-id="287906d294408046952ec34cca80f209"><span><div id="287906d294408046952ec34cca80f209" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d294408046952ec34cca80f209" title="步骤 2：在 GitHub Actions 中设置 Secret"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">步骤 2：在 GitHub Actions 中设置 Secret</span></span></h4><div class="notion-text notion-block-287906d29440805cb692c899fc654675">然后，我在 GitHub 仓库的 <code class="notion-inline-code">Settings -&gt; Secrets and variables -&gt; Actions</code> 中，添加了一个名为 <code class="notion-inline-code">API_BASE_URL</code> 的 Secret，并填入我的新地址。</div><div class="notion-text notion-block-287906d2944080439fc7e4e8707da00b">[此处可以插入 GitHub 设置 Secret 的截图]</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287906d294408046a520f3a3fefe0fa2" data-id="287906d294408046a520f3a3fefe0fa2"><span><div id="287906d294408046a520f3a3fefe0fa2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d294408046a520f3a3fefe0fa2" title="步骤 3：修改工作流文件"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">步骤 3：修改工作流文件</span></span></h4><div class="notion-text notion-block-287906d29440805db2f1c8cb7c88d417">最后，我在 <code class="notion-inline-code">.github/workflows/deploy-to-domestic.yml</code> 文件中，将这个 Secret 注入到构建环境中。</div><div class="notion-text notion-block-287906d29440800b8d16d5630b44116c">我满怀信心地提交了代码，等待着流水线变绿。然而，现实给了我沉重一击——构建依然失败，错误还是那个熟悉的 <code class="notion-inline-code">530</code>。日志显示，请求依然顽固地发往了旧的 <code class="notion-inline-code">notion.so</code> 地址。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-287906d29440809e8198eee720d1c0ff" data-id="287906d29440809e8198eee720d1c0ff"><span><div id="287906d29440809e8198eee720d1c0ff" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d29440809e8198eee720d1c0ff" title="漫长但严谨的排错之旅"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">漫长但严谨的排错之旅</span></span></h3><div class="notion-text notion-block-287906d29440801ca3c6e32e323c1794">一次失败并不可怕。这标志着一次深度调试的开始。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287906d294408085b7efde1988121024" data-id="287906d294408085b7efde1988121024"><span><div id="287906d294408085b7efde1988121024" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d294408085b7efde1988121024" title="怀疑 1：环境变量传递链问题？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">怀疑 1：环境变量传递链问题？</span></span></h4><div class="notion-text notion-block-287906d294408010a858fd9dfef27542">我的第一反应是，<code class="notion-inline-code">API_BASE_URL</code> 变量可能在 <code class="notion-inline-code">npm</code> 脚本的执行过程中“丢失”了。</div><ul class="notion-list notion-list-disc notion-block-287906d2944080f096f5c6201d654f38"><li><b>尝试 A</b>：我尝试使用 <code class="notion-inline-code">KEY=VALUE command</code> 的方式，在执行命令时直接注入变量。</li><ul class="notion-list notion-list-disc notion-block-287906d2944080f096f5c6201d654f38"><div class="notion-text notion-block-287906d29440807bbc16c502dd361ad6"><b>结果</b>：失败。</div></ul></ul><ul class="notion-list notion-list-disc notion-block-287906d2944080eb8fb6e209e1de02cd"><li><b>尝试 B</b>：我怀疑是 <code class="notion-inline-code">npm run</code> 或者脚本中的 <code class="notion-inline-code">cross-env</code> 工具搞的鬼。我决定绕过它们，直接在工作流中执行 <code class="notion-inline-code">npm run export</code> 背后的命令。</li><ul class="notion-list notion-list-disc notion-block-287906d2944080eb8fb6e209e1de02cd"><div class="notion-text notion-block-287906d2944080b2869ceea4c2e78799">（注意：这里需要用 <code class="notion-inline-code">npx</code>，否则会因为找不到 <code class="notion-inline-code">next</code> 命令而报 <code class="notion-inline-code">command not found</code> 错误。）</div><div class="notion-text notion-block-287906d29440804ea228d7b9b42a79d8"><b>结果</b>：依然失败！错误还是 <code class="notion-inline-code">530</code>，请求地址还是旧的！</div></ul></ul><div class="notion-text notion-block-287906d2944080979c67d8c915a0127d">[此处可以插入 GitHub Actions 多次失败的日志截图]</div><div class="notion-text notion-block-287906d2944080feae61f05fade90b92">至此，我几乎可以断定：<b>问题不在于环境变量的传递，而在于应用程序本身！</b> 我们把“钥匙”准备好了，但“锁”似乎从未打算使用它。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287906d2944080138521f46577375f07" data-id="287906d2944080138521f46577375f07"><span><div id="287906d2944080138521f46577375f07" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d2944080138521f46577375f07" title="怀疑 2：代码压根没用这个变量？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">怀疑 2：代码压根没用这个变量？</span></span></h4><div class="notion-text notion-block-287906d294408083b5f3d74744a0d22e">既然所有环境配置的努力都宣告失败，唯一的可能就是代码实现上存在问题。我把目光投向了项目源码。</div><div class="notion-text notion-block-287906d29440807bb70afc6720289bc9">通过在项目中搜索 <code class="notion-inline-code">notion-client</code> 这个关键词，我很快定位到了一个关键文件：<code class="notion-inline-code">lib/notion/getNotionAPI.js</code>。它的作用正是初始化与 Notion 通信的 API 客户端。</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-287906d29440806d861ee3ea0240f7d5" data-id="287906d29440806d861ee3ea0240f7d5"><span><div id="287906d29440806d861ee3ea0240f7d5" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d29440806d861ee3ea0240f7d5" title="最终的解决方案：直击代码根源"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">最终的解决方案：直击代码根源</span></span></h3><div class="notion-text notion-block-287906d2944080419681c828e756173b">打开 <code class="notion-inline-code">lib/notion/getNotionAPI.js</code>，真相大白。</div><div class="notion-text notion-block-287906d2944080d4b054dd3c8e75227e"><b>修改前</b>的代码是这样的：</div><div class="notion-text notion-block-287906d2944080c4895af08410314117">问题一目了然：在初始化 <code class="notion-inline-code">NotionAPI</code> 客户端时，代码只传递了用户、令牌等信息，<b>完全没有传递我们辛辛苦苦配置的 </b><code class="notion-inline-code"><b>API_BASE_URL</b></code>！</div><div class="notion-text notion-block-287906d2944080ef8419f5a17886b63c"><code class="notion-inline-code">notion-client</code> 这个库需要一个名为 <code class="notion-inline-code">apiBaseUrl</code> 的参数来指定 API 地址。由于代码中没有提供，它就只能一直使用自己内部硬编码的默认地址。</div><div class="notion-text notion-block-287906d294408097b7f3d239eb1bb28a">最终的修复方案，只需要加一行代码：</div><div class="notion-text notion-block-287906d2944080c3822fd3dc365665e5">这行代码像一座桥梁，终于将我们在 <code class="notion-inline-code">blog.config.js</code> 中读取的环境变量，与实际的 API 客户端连接了起来。</div><div class="notion-text notion-block-287906d2944080b5b6a4e96ec902d007">提交这次修改后，GitHub Actions 的流水线终于亮起了久违的绿色。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-287906d29440802fb1e2d1db6123910c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A3bea621f-918b-4ca6-b786-35c1385669e5%3Aimage.png%3FspaceId%3D8a5626a7-84da-4b4d-8983-d6e410a2ad95?table=block&amp;id=287906d2-9440-802f-b1e2-d1db6123910c&amp;t=287906d2-9440-802f-b1e2-d1db6123910c" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-287906d2944080239f5dfeff96aab878" data-id="287906d2944080239f5dfeff96aab878"><span><div id="287906d2944080239f5dfeff96aab878" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287906d2944080239f5dfeff96aab878" title="总结"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">总结</span></span></h3><div class="notion-text notion-block-287906d294408028a41ee1350eb231e5">这次 <code class="notion-inline-code">530</code> 错误的解决过程，是一次非常经典的、从环境配置深入到应用层代码的调试之旅。它告诉我们：</div><ol start="1" class="notion-list notion-list-numbered notion-block-287906d29440802a9a0ec504d1be64a0"><li><b>官方文档并非万能</b>：它提供了正确的方向，但可能没有覆盖到特定版本或特定场景下的代码实现细节。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-287906d294408069b52df9861f57d703"><li><b>系统性排错至关重要</b>：当遇到看似是环境的问题时，如果多次尝试均失败，要敢于怀疑问题出在代码本身。通过“假设-验证-排除”的循环，才能一步步逼近问题的根源。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-287906d2944080b7b7e0f10df3bbe34e"><li><b>深入源码是终极武器</b>：当所有外部手段都失效时，直接阅读源码是解决问题的最可靠方法。</li></ol><div class="notion-text notion-block-287906d294408028859ef82b6ec47b56">经过这一番折腾，我的博客终于恢复了自动构建。希望这篇文章能帮助遇到同样问题的你，少走一些弯路，更快地定位并解决问题。</div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>