<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://hodpel.eu.org/</id>
    <title>HODPEL'S</title>
    <updated>2026-04-10T17:40:25.283Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>Dominic Hodpel</name>
        <email>920998354@qq.com</email>
        <uri>https://hodpel.eu.org</uri>
    </author>
    <link rel="alternate" href="https://hodpel.eu.org/"/>
    <icon>https://hodpel.eu.org/favicon.png</icon>
    <rights>All rights reserved 2026, Dominic Hodpel</rights>
    <entry>
        <title type="html"><![CDATA[捏了个头像…]]></title>
        <id>https://hodpel.eu.org/捏了个头像…</id>
        <link href="https://hodpel.eu.org/捏了个头像…"/>
        <updated>2026-02-28T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[项目停掉后一直没有安排新的事 我跟不存在一样坐在办公室里闲得发慌 不知道做什么 虽然说有让我研究AI的想法 但是这条路实在是太麻烦了 一方面各种接口调用受制于人 另一方面自己琢磨又琢磨不出东西
随他去吧
上班摸鱼捏了个头像出来 素材全是AI生成 然后后期PS拼的 想是很长很长一段时间没换过头像了 毕业之后本打算新做一个头像 奈何能力不足 最后拿了张塔罗牌就当头像了
有了AI之后各类素材的获取确实方便了许多 不像以前还要在网上各种找素材 还经常找不到清晰的版本 最后做出来的效果都不满意
我尽量是用AI生成素材手动拼的 并不太想完全交给AI生成...]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-316167c39c4080da8b9ac2383dfe79be"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Mar 1, 2026</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">捏了个头像…</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-brown">碎碎念</div><div class="notion-property-multi_select-item notion-item-yellow">AI</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">项目停掉后一直没有安排新的事 我跟不存在一样坐在办公室里闲得发慌 不知道做什么 虽然说有让我研究AI的想法 但是这条路实在是太麻烦了 一方面各种接口调用受制于人 另一方面自己琢磨又琢磨不出东西
随他去吧
上班摸鱼捏了个头像出来 素材全是AI生成 然后后期PS拼的 想是很长很长一段时间没换过头像了 毕业之后本打算新做一个头像 奈何能力不足 最后拿了张塔罗牌就当头像了
有了AI之后各类素材的获取确实方便了许多 不像以前还要在网上各种找素材 还经常找不到清晰的版本 最后做出来的效果都不满意
我尽量是用AI生成素材手动拼的 并不太想完全交给AI生成...</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div></div></div></div><div class="notion-text notion-block-316167c39c408049b41af083fe23271e">项目停掉后一直没有安排新的事 我跟不存在一样坐在办公室里闲得发慌 不知道做什么 虽然说有让我研究AI的想法 但是这条路实在是太麻烦了 一方面各种接口调用受制于人 另一方面自己琢磨又琢磨不出东西</div><div class="notion-text notion-block-316167c39c408045916fc7806db93c23">随他去吧</div><div class="notion-text notion-block-316167c39c408030a5a5ffbeaeb60199">上班摸鱼捏了个头像出来 素材全是AI生成 然后后期PS拼的 想是很长很长一段时间没换过头像了 毕业之后本打算新做一个头像 奈何能力不足 最后拿了张塔罗牌就当头像了</div><div class="notion-text notion-block-316167c39c408039af97dcc4e5090b00">有了AI之后各类素材的获取确实方便了许多 不像以前还要在网上各种找素材 还经常找不到清晰的版本 最后做出来的效果都不满意</div><div class="notion-text notion-block-316167c39c40805abc1ae1869848a22c">我尽量是用AI生成素材手动拼的 并不太想完全交给AI生成 就算用AI生成了一个效果不错的成图我也是再自己摹了一遍出来的 还没下定决心用 不过也放出来看看</div><div class="notion-text notion-block-316167c39c40804a8101c8cf33c9a5f9"><s>因为有人说太阴暗了0.0</s></div><div class="notion-text notion-block-316167c39c408049a44fd0192e898907"><s>而且有点秃</s> </div><div class="notion-text notion-block-316167c39c40805fb69ffb6e1bbe5463">素材用的是自己照片欸 不过改成这样应该没人认得出来了 嘻嘻</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-316167c39c4080cfa4d0ce04b66bc4e4"><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%3A68f6a7b6-d774-4544-bed6-a28deefaf347%3A%E6%9C%AA%E6%A0%87%E9%A2%98-2.png?table=block&amp;id=316167c3-9c40-80cf-a4d0-ce04b66bc4e4&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-319167c39c40803fa303ebac373e02fe"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[鼠了]]></title>
        <id>https://hodpel.eu.org/鼠了</id>
        <link href="https://hodpel.eu.org/鼠了"/>
        <updated>2026-02-25T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[其实被砍掉是必然的 我就一个人 哪有能量去跟公司对抗 哈哈
🥲]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-313167c39c4080c99b58df48127407a8"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Feb 26, 2026</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">鼠了</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-brown">碎碎念</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">其实被砍掉是必然的 我就一个人 哪有能量去跟公司对抗 哈哈
🥲</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div></div></div></div><div class="notion-text notion-block-313167c39c4080d185d3eef167593541">其实被砍掉是必然的 我就一个人 哪有能量去跟公司对抗 哈哈</div><div class="notion-text notion-block-313167c39c4080f596c3ee0d633908cf">🥲</div><div class="notion-blank notion-block-316167c39c408043885cfc352a6bd81c"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251211-15]]></title>
        <id>https://hodpel.eu.org/开发日志251211-15</id>
        <link href="https://hodpel.eu.org/开发日志251211-15"/>
        <updated>2025-12-10T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[昨天研究了一下架构 … 发现要实现我的复杂功能的最好方法是
重构
有点恐怖
问了下AI 给出了以下架构:
...
🔧 核心设计要点]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2c6167c39c4080b39469daf3df7b30b4"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Dec 11, 2025</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">开发日志251211-15</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-yellow">AI</div><div class="notion-property-multi_select-item notion-item-green">计算机</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">昨天研究了一下架构 … 发现要实现我的复杂功能的最好方法是<b>
重构</b>
有点恐怖
问了下AI 给出了以下架构:
...
🔧 核心设计要点</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div></div></div></div><div class="notion-text notion-block-2c6167c39c408045ae4af323792f9da1">昨天研究了一下架构 … 发现要实现我的复杂功能的最好方法是</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2c6167c39c4080d4bb49f5acf0b9b13e" data-id="2c6167c39c4080d4bb49f5acf0b9b13e"><span><div id="2c6167c39c4080d4bb49f5acf0b9b13e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080d4bb49f5acf0b9b13e" 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-2c6167c39c408021a3cad3589b67831b">有点恐怖</div><div class="notion-text notion-block-2c6167c39c40804aa988c9f549d1c162">问了下AI 给出了以下架构:</div><details class="notion-toggle notion-block-2c6167c39c40802fa1e1dae80ec7c739"><summary>他给出的代码:</summary><div><div class="notion-text notion-block-2c6167c39c4080488708cabb6fa90626">你说得对，仅靠几个核心类确实无法运行。我将为你提供一个<b>完整的、可立即运行的基础项目框架</b>，包含所有必需的文件、配置和基础通信链路。</div><h3 class="notion-h notion-h2 notion-block-2c6167c39c4080eeaba1c4e2106ed8fc" data-id="2c6167c39c4080eeaba1c4e2106ed8fc"><span><div id="2c6167c39c4080eeaba1c4e2106ed8fc" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080eeaba1c4e2106ed8fc" 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><h4 class="notion-h notion-h3 notion-block-2c6167c39c4080ddbccecec33db75484" data-id="2c6167c39c4080ddbccecec33db75484"><span><div id="2c6167c39c4080ddbccecec33db75484" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080ddbccecec33db75484" 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-2c6167c39c408059a347fdb04db61c23"><b>backend/package.json</b></div><div class="notion-text notion-block-2c6167c39c4080f1aa14fdada5205f7f"><b>backend/.env</b></div><div class="notion-text notion-block-2c6167c39c40803d8ab8e62c253c6883"><b>backend/server.js</b> - 程序入口</div><div class="notion-text notion-block-2c6167c39c4080bda04fff5073b6cc47"><b>backend/src/app.js</b> - Express主应用</div><div class="notion-text notion-block-2c6167c39c4080af8e31db98c73e02a1"><b>backend/src/websocket/WSServer.js</b> - WebSocket服务器</div><div class="notion-text notion-block-2c6167c39c40804c97a1cc548e37df14"><b>backend/src/services/DeviceService.js</b> - 设备管理服务</div><h4 class="notion-h notion-h3 notion-block-2c6167c39c4080e98eb9d6dce0b2d4b9" data-id="2c6167c39c4080e98eb9d6dce0b2d4b9"><span><div id="2c6167c39c4080e98eb9d6dce0b2d4b9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080e98eb9d6dce0b2d4b9" 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-2c6167c39c4080f6b3afc9a45d60d48e"><b>frontend/package.json</b></div><div class="notion-text notion-block-2c6167c39c40807fb3e6f115d1df947f"><b>frontend/vite.config.js</b></div><div class="notion-text notion-block-2c6167c39c4080acb5bde9ed0404dd7a"><b>frontend/src/main.js</b></div><div class="notion-text notion-block-2c6167c39c4080bbbceac185b91b2ce2"><b>frontend/src/App.vue</b></div><div class="notion-text notion-block-2c6167c39c4080e6b517e02ff7503af4"><b>frontend/src/stores/deviceStore.js</b> - Pinia状态管理</div><div class="notion-text notion-block-2c6167c39c4080d6a10bf5ccc6d94111"><b>frontend/src/views/Dashboard.vue</b> - 主控制面板</div><h3 class="notion-h notion-h2 notion-block-2c6167c39c4080ec910aeaa9d3aab5ce" data-id="2c6167c39c4080ec910aeaa9d3aab5ce"><span><div id="2c6167c39c4080ec910aeaa9d3aab5ce" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080ec910aeaa9d3aab5ce" 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><h4 class="notion-h notion-h3 notion-block-2c6167c39c4080679408c648dbad3abc" data-id="2c6167c39c4080679408c648dbad3abc"><span><div id="2c6167c39c4080679408c648dbad3abc" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080679408c648dbad3abc" 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><h4 class="notion-h notion-h3 notion-block-2c6167c39c408063ad7cf69c65076655" data-id="2c6167c39c408063ad7cf69c65076655"><span><div id="2c6167c39c408063ad7cf69c65076655" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c408063ad7cf69c65076655" 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><h4 class="notion-h notion-h3 notion-block-2c6167c39c4080b7aba0e62174adb05b" data-id="2c6167c39c4080b7aba0e62174adb05b"><span><div id="2c6167c39c4080b7aba0e62174adb05b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c4080b7aba0e62174adb05b" 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><ol start="1" class="notion-list notion-list-numbered notion-block-2c6167c39c4080c48023eae8c99d4a95" style="list-style-type:decimal"><li>打开浏览器访问 <code class="notion-inline-code">http://localhost:5173</code></li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2c6167c39c4080a79f9fcf31b037a973" style="list-style-type:decimal"><li>你会看到一个现代化的控制台界面</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-2c6167c39c4080c49f0cdaa0dbcb1792" style="list-style-type:decimal"><li>设备列表会显示3台模拟设备</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-2c6167c39c4080b1a50eddf069d5337b" style="list-style-type:decimal"><li>可以点击设备卡片发送控制指令</li></ol><h3 class="notion-h notion-h2 notion-block-2c6167c39c408058ba11f6ffaa9e897f" data-id="2c6167c39c408058ba11f6ffaa9e897f"><span><div id="2c6167c39c408058ba11f6ffaa9e897f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c408058ba11f6ffaa9e897f" 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><h4 class="notion-h notion-h3 notion-block-2c6167c39c408047a1c0fc1ae884fadb" data-id="2c6167c39c408047a1c0fc1ae884fadb"><span><div id="2c6167c39c408047a1c0fc1ae884fadb" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c408047a1c0fc1ae884fadb" title="1. 连接真实的设备控制WS"><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. 连接真实的设备控制WS</span></span></h4><div class="notion-text notion-block-2c6167c39c4080ecb726ec4a8799f253">修改 <code class="notion-inline-code">backend/src/websocket/WSClient.js</code>：</div><h4 class="notion-h notion-h3 notion-block-2c6167c39c408093b55ac87c1e6d9072" data-id="2c6167c39c408093b55ac87c1e6d9072"><span><div id="2c6167c39c408093b55ac87c1e6d9072" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c408093b55ac87c1e6d9072" 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-2c6167c39c4080c59826d8610c643654">创建 <code class="notion-inline-code">backend/src/core/TaskChainEngine.js</code>：</div><h3 class="notion-h notion-h2 notion-block-2c6167c39c408053a8e1fd8b60cd7caf" data-id="2c6167c39c408053a8e1fd8b60cd7caf"><span><div id="2c6167c39c408053a8e1fd8b60cd7caf" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c6167c39c408053a8e1fd8b60cd7caf" 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><ol start="1" class="notion-list notion-list-numbered notion-block-2c6167c39c408081b65bc574f1db431f" style="list-style-type:decimal"><li><b>添加数据库</b>：当设备超过20台时，考虑添加SQLite或PostgreSQL</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2c6167c39c40809483b3e9a8d8e3f883" style="list-style-type:decimal"><li><b>实现任务链编辑器</b>：基于之前提供的组件</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-2c6167c39c40800c970dfece4f28f1d2" style="list-style-type:decimal"><li><b>添加用户认证</b>：JWT token验证</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-2c6167c39c40807095d5e300f5e9398c" style="list-style-type:decimal"><li><b>完善日志系统</b>：集成Winston进行结构化日志</li></ol><ol start="5" class="notion-list notion-list-numbered notion-block-2c6167c39c4080ab9090f8bb4012789f" style="list-style-type:decimal"><li><b>添加监控面板</b>：实时图表显示设备状态</li></ol><div class="notion-text notion-block-2c6167c39c408035b6a3ffb6e5872793">这个完整框架已经包含了：</div><ul class="notion-list notion-list-disc notion-block-2c6167c39c40806997e3e88b386747e9"><li>✅ 前后端完整项目结构</li></ul><ul class="notion-list notion-list-disc notion-block-2c6167c39c4080c6b774e69b95828c9f"><li>✅ WebSocket实时通信</li></ul><ul class="notion-list notion-list-disc notion-block-2c6167c39c40807c8f48fc769d7d5cd8"><li>✅ 设备状态管理</li></ul><ul class="notion-list notion-list-disc notion-block-2c6167c39c4080299e92c14ba74bed8f"><li>✅ 响应式前端界面</li></ul><ul class="notion-list notion-list-disc notion-block-2c6167c39c4080379cd9e3ccb456db45"><li>✅ 错误处理和日志</li></ul><ul class="notion-list notion-list-disc notion-block-2c6167c39c4080179317f24de4b6a514"><li>✅ 易于扩展的架构</li></ul><div class="notion-text notion-block-2c6167c39c408056b78fc396ce177920">你现在可以直接运行这个系统，然后在上面逐步添加你的业务逻辑。需要我详细解释某个特定部分，或者添加其他功能模块吗？</div></div></details><div class="notion-text notion-block-2c6167c39c4080248752f20c88c32588">代码太多复杂了 我要慢慢啃 每行去做注释吧</div><hr class="notion-hr notion-block-2c7167c39c4080019859f6696c1ad5d5"/><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-2ca167c39c4080e4a576c4ab8fdc67bf" data-id="2ca167c39c4080e4a576c4ab8fdc67bf"><span><div id="2ca167c39c4080e4a576c4ab8fdc67bf" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2ca167c39c4080e4a576c4ab8fdc67bf" title="1215"><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">1215</span></span></h2><div class="notion-text notion-block-2ca167c39c4080d0a943ec1510f89947">现在已经对系统的架构有了初步认知 经过一系列修改目前已经支持通过下面的路由发送单条指令:  <code class="notion-inline-code">socket.on(&#x27;control_device&#x27;, ({ deviceId, command, params }) =&gt; {)}</code> </div><div class="notion-text notion-block-2ca167c39c4080f1b38cde03adbed5b3">后面就是实现 <b>任务调度器</b> 和 <b>任务执行器</b> 两个模块了</div><div class="notion-text notion-block-2ca167c39c4080c6b056c799f2ecc201">任务调度器在收到前端的开始运行命令后决定执行哪个 <b>任务链</b>  任务执行器则 <b>负责执行对应的任务链</b></div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251210]]></title>
        <id>https://hodpel.eu.org/开发日志251210</id>
        <link href="https://hodpel.eu.org/开发日志251210"/>
        <updated>2025-12-09T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[• 这个功能实现起来比较简单

...

• 这个也比较简单 昨天忘记修改这段代码了 直接获取 taskStatus 用 forEach() 方法处理即可
今天开始小红书环节  刚刚注册好一系列账号 现在考虑如何取做小红书脚本
首先小红书主体是信息流
...]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2c5167c39c40804a8a46f4080c22e22b"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Dec 10, 2025</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">开发日志251210</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-green">计算机</div><div class="notion-property-multi_select-item notion-item-yellow">AI</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">• 这个功能实现起来比较简单

<code class="notion-inline-code">...
</code>
• 这个也比较简单 昨天忘记修改这段代码了 直接获取 <code class="notion-inline-code">taskStatus</code> 用 <code class="notion-inline-code">forEach()</code> 方法处理即可
今天开始小红书环节  刚刚注册好一系列账号 现在考虑如何取做小红书脚本
首先小红书主体是信息流
...</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div></div></div></div><div><div></div><div class="notion-collection-header"><div class="notion-collection-header-title">TODOlist</div></div></div><div class="notion-collection notion-block-2c5167c39c4080f7af53e2005fe03ed2"><div class="notion-board"><div class="notion-board-view notion-board-view-size-medium" style="padding-left:96px"><div class="notion-board-header"><div class="notion-board-header-inner"></div></div><div class="notion-board-header-placeholder"></div><div class="notion-board-body"></div></div></div></div><hr class="notion-hr notion-block-2c5167c39c408033801cd0a6f395442d"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2c5167c39c40808cb60dede4330541ed" data-id="2c5167c39c40808cb60dede4330541ed"><span><div id="2c5167c39c40808cb60dede4330541ed" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c40808cb60dede4330541ed" 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><details class="notion-toggle notion-block-2c5167c39c4080009c9cc383657beaef"><summary>这个功能实现起来比较简单</summary><div></div></details><hr class="notion-hr notion-block-2c5167c39c4080f580b1c1b686ca62ae"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2c5167c39c408095b15cf8512daf5940" data-id="2c5167c39c408095b15cf8512daf5940"><span><div id="2c5167c39c408095b15cf8512daf5940" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c408095b15cf8512daf5940" 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-2c5167c39c40801a9461eb2ef4bdc80c">这个也比较简单 昨天忘记修改这段代码了 直接获取 <code class="notion-inline-code">taskStatus</code> 用 <code class="notion-inline-code">forEach()</code> 方法处理即可</div><hr class="notion-hr notion-block-2c5167c39c408001a517ff737d916651"/><h2 class="notion-h notion-h1 notion-red notion-h-indent-0 notion-block-2c5167c39c40806eacd4f40a1b561609" data-id="2c5167c39c40806eacd4f40a1b561609"><span><div id="2c5167c39c40806eacd4f40a1b561609" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c40806eacd4f40a1b561609" 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-2c5167c39c4080a1a1d6cfdac4cd7465">今天开始小红书环节  刚刚注册好一系列账号 现在考虑如何取做小红书脚本</div><div class="notion-text notion-block-2c5167c39c4080669d6efc3df26d8983">首先小红书主体是信息流 </div><div class="notion-row notion-block-2c5167c39c4080369ef3de27bc0e1044"><div class="notion-column notion-block-2c5167c39c408019bb37c125b0e73686" style="width:calc((100% - (1 * min(32px, 4vw))) * 0.5)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c5167c39c408059a125c8ca956ab0df"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:320.484375px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0f8dbd1f-65e5-4bab-970a-9798957e1df3%3Aimage.png?table=block&amp;id=2c5167c3-9c40-8059-a125-c8ca956ab0df&amp;cache=v2" alt="双列信息流" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">双列信息流</figcaption></div></figure></div><div class="notion-spacer"></div><div class="notion-column notion-block-2c5167c39c40808bbd3ef2cf3cf674fe" style="width:calc((100% - (1 * min(32px, 4vw))) * 0.5)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c5167c39c4080818861c9cf5ac0d017"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:320.484375px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ab159d114-d923-47fb-a1ad-9e49b9183386%3Aimage.png?table=block&amp;id=2c5167c3-9c40-8081-8861-c9cf5ac0d017&amp;cache=v2" alt="视频流" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">视频流</figcaption></div></figure></div><div class="notion-spacer"></div></div><div class="notion-text notion-block-2c5167c39c4080549f03d4ff36934da3">信息流中有视频内容和帖子内容 进入帖子后内容类似抖音图片 视频则类似抖音视频 有点赞 评论等控件 评论操作也与抖音类似</div><div class="notion-text notion-block-2c5167c39c40805f99f8c8ec4c03ccc9">但是 <b>需要注意的是</b> 由于信息流的存在 导致 <b>执行一次行为</b> 的链条会比较复杂</div><div class="notion-text notion-block-2c5167c39c40800c9d65e90b8f21a936">例如刷视频状态 需要通过 <em>任意方法进入某视频</em> 然后 才能进行类似抖音的刷视频流程 同时刷完视频后应该 <b>返回初始页面</b> 以保证流程:</div><div class="notion-text notion-block-2c5167c39c4080b287fcd05ec051df11"><b>然而抖音也需要这种处理</b> 但是抖音脚本部分只做了执行任务的功能</div><div class="notion-text notion-block-2c5167c39c4080ac8994f08e6db3fd53">抖音方面也同理 </div><div class="notion-text notion-block-2c5167c39c4080b5afb5df6e8811808c">此外还要调整一下文件结构 <s>这才写多少就开始堆屎山了  </s>└├─├</div><div class="notion-text notion-block-2c5167c39c40806d8a61f9d0b4a4b3b2">原先的结构是:</div><div class="notion-text notion-block-2c5167c39c4080a3b86ef8c727724f40">如果要加前后处理就不能放在所有任务脚本一起了 只能 <b>按平台分开放</b></div><div class="notion-text notion-block-2c5167c39c40801287a6c6d492b6aa41">需要分离 <b>跳过广告</b> , <b>进入指定页面</b> , <b>执行搜索</b> 等功能作为前处理依次执行 返回一个前处理结果  然后再根据前处理结果执行 <b>主要脚本 </b>并返回整个执行结果</div><div class="notion-text notion-block-2c5167c39c40807da9e0f5c63a7b3f08">需要注意的是 前处理结果可以 <b>预识别视频内容</b> 读取视频作者和标题,并判断本次是否需要点赞/评论  当需要时调用的 <b>主要脚本</b> <em>仅执行一次当前行为 并不做多余的判断</em> 例如前处理获得视频作者和标题后 判断需要点赞 则调用 <b>点赞脚本</b> 只进行一次点赞操作 如果点赞成功则返回成功 否则失败 评论同理 <b>不在脚本内处理概率判断</b></div><div class="notion-text notion-block-2c5167c39c408065bf0ad3b735e8c84b"><b>那么评中评呢</b> 以及 <b>评论点赞</b> 呢</div><div class="notion-text notion-block-2c5167c39c40808d8db6dd82a1cc09ad">问了下ai 保存下结果 明天研究</div><details class="notion-toggle notion-block-2c5167c39c408051ba98c69738d11f81"><summary>DS</summary><div><div class="notion-text notion-block-2c5167c39c4080118388d7ebfa4b6181">你遇到的困境非常经典，本质是在“原子操作”和“复合任务”之间寻找<b>灵活的编排层</b>。问题的核心是：前处理层需要动态判断<b>接下来要执行哪个（或哪几个）原子脚本</b>，而不是固定搭配。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080758ad3de16d9d1de72" data-id="2c5167c39c4080758ad3de16d9d1de72"><span><div id="2c5167c39c4080758ad3de16d9d1de72" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080758ad3de16d9d1de72" 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-2c5167c39c4080c7a0b0c8fd4dd5459b">你需要一个<b>智能路由器</b>，它能根据前处理产生的<code class="notion-inline-code">上下文（Context）</code>，动态决定后续的执行链。这个“上下文”里就包含了“是否需要点赞”、“是否需要评论”、“评论给谁”等关键决策。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080b38defc60fbd1d6fca" data-id="2c5167c39c4080b38defc60fbd1d6fca"><span><div id="2c5167c39c4080b38defc60fbd1d6fca" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080b38defc60fbd1d6fca" 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-2c5167c39c40809ea3c0e9839a163451">让所有前处理脚本和原子脚本，都接收和返回一个标准化的<code class="notion-inline-code">上下文</code>对象，作为信息传递的载体。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c40802d87a6d14af6f831d1" data-id="2c5167c39c40802d87a6d14af6f831d1"><span><div id="2c5167c39c40802d87a6d14af6f831d1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c40802d87a6d14af6f831d1" title="第二步：创建可插拔的“决策器” (Decision Maker)"><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">第二步：创建可插拔的“决策器” (Decision Maker)</span></span></h4><div class="notion-text notion-block-2c5167c39c4080aa8d6bd5f47791538e">将<b>概率判断</b>和<b>条件判断</b>从脚本中彻底抽离，形成独立的决策模块。决策器读取<code class="notion-inline-code">上下文</code>，并输出更新了<code class="notion-inline-code">decisions</code>字段的<code class="notion-inline-code">上下文</code>。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080839ee5def04c62bcb0" data-id="2c5167c39c4080839ee5def04c62bcb0"><span><div id="2c5167c39c4080839ee5def04c62bcb0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080839ee5def04c62bcb0" 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-2c5167c39c40803a98c9ce01b5e27055">前处理脚本的职责变为：<b>1. 跳转到指定场景；2. 为</b><code class="notion-inline-code"><b>上下文</b></code><b>填充初始数据</b>。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c408028a3cdfbc0db7bf7db" data-id="2c5167c39c408028a3cdfbc0db7bf7db"><span><div id="2c5167c39c408028a3cdfbc0db7bf7db" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c408028a3cdfbc0db7bf7db" 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-2c5167c39c4080dc974edd7fa5f20d75">原子脚本只做一件事，并从<code class="notion-inline-code">上下文</code>中获取指令。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080b0a88ee244c95b3ad8" data-id="2c5167c39c4080b0a88ee244c95b3ad8"><span><div id="2c5167c39c4080b0a88ee244c95b3ad8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080b0a88ee244c95b3ad8" 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-2c5167c39c4080ffbabdeacf7585f9ed">这是大脑，负责按顺序串联：<b>场景构建 -&gt; 决策 -&gt; 执行</b>。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080cf93b7e908e9f65b85" data-id="2c5167c39c4080cf93b7e908e9f65b85"><span><div id="2c5167c39c4080cf93b7e908e9f65b85" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080cf93b7e908e9f65b85" 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><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080fbb3adda5ec4c9a549" data-id="2c5167c39c4080fbb3adda5ec4c9a549"><span><div id="2c5167c39c4080fbb3adda5ec4c9a549" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080fbb3adda5ec4c9a549" 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><ol start="1" class="notion-list notion-list-numbered notion-block-2c5167c39c4080378220fe736cc2729c" style="list-style-type:decimal"><li><b>前处理复用</b>：<code class="notion-inline-code">searchAndSelectProcessor.js</code> 这样的前处理脚本，可以为“搜索后刷视频”、“搜索后评论”等多种后续任务<b>提供统一的场景构建服务</b>，无需重复编写。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2c5167c39c40802f9c4bc964bebe6724" style="list-style-type:decimal"><li><b>动态决策链</b>：通过独立的<code class="notion-inline-code">决策器</code>，你可以组合出无限可能：“给视频点赞” -&gt; “给视频评论” -&gt; “给这个评论点赞” -&gt; “再回复一条”。只需按顺序调用对应的决策器和原子脚本。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-2c5167c39c40806d9dfcde43807203e5" style="list-style-type:decimal"><li><b>原子脚本极致纯粹</b>：每个脚本只做一件小事（点赞、评论），<b>不包含任何“是否应该做”的判断逻辑</b>。判断逻辑全部上移到可配置、可复用的决策器中。</li></ol><div class="notion-text notion-block-2c5167c39c40800ea054de175dbc8bb1"><b>总结</b>：你不需要为每种组合写一个前处理，而是需要：</div><ol start="1" class="notion-list notion-list-numbered notion-block-2c5167c39c408037a37fd2f040c3a8de" style="list-style-type:decimal"><li><b>写不同的“场景构建器”</b>（前处理）来进入不同页面。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2c5167c39c4080ba8f96e11cf27c3ada" style="list-style-type:decimal"><li><b>写不同的“决策器”</b> 来定义在不同场景下做什么动作的组合与概率。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-2c5167c39c408011b1aff3dc020fdecd" style="list-style-type:decimal"><li><b>写一个“编排引擎”</b> 来把1和2，以及纯粹的原子脚本，像搭积木一样组合起来。</li></ol><div class="notion-text notion-block-2c5167c39c4080639a46f9e948e06c40">这样，当你想增加“给评论的评论点赞”这个新行为时，你只需要：1）写一个 <code class="notion-inline-code">decideReplyToCommentDecider.js</code> 决策器；2) 确保有一个能获取到<code class="notion-inline-code">targetComment</code>上下文的前处理器；3）在编排引擎中按需调用它。<b>完全不需要改动任何原子脚本或重写前处理。</b></div></div></details><details class="notion-toggle notion-block-2c5167c39c4080728c41e73b758a455e"><summary>Grok</summary><div><h4 class="notion-h notion-h3 notion-block-2c5167c39c408046864bd0a88f15f829" data-id="2c5167c39c408046864bd0a88f15f829"><span><div id="2c5167c39c408046864bd0a88f15f829" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c408046864bd0a88f15f829" 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-2c5167c39c4080608085f09dfb006959">你当前的痛点很清楚：原脚本是“简单线性流程”（刷视频 → 概率点赞/评论），但现在需要支持更复杂的场景（如进入同城页、搜索特定视频），并且要分离“前处理”（pre-processing，如跳过广告、导航页面、预识别视频）和“主要脚本”（core actions，如点赞、评论）。关键挑战是：</div><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080f9a781ffa15c5090fb"><li>前处理需要“智能判断”（e.g., 基于视频作者/标题决定是否点赞/评论），但主要脚本要保持“哑巴”（只执行一次动作，不带判断）。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080fd83d7dcd8a59b2868"><li>如果引入概率（e.g., 评论后概率点赞）或组合（e.g., 点赞 + 评论评论），前处理就容易爆炸：每种组合都需要自定义前处理，导致代码重复和维护噩梦。</li></ul><div class="notion-text notion-block-2c5167c39c408027b765f5a8c2d0fb37"><b>我的建议：采用“配置驱动的任务管道（Pipeline）”架构</b>。核心思想：</div><ul class="notion-list notion-list-disc notion-block-2c5167c39c40804ca457cef1ba2404de"><li><b>统一前处理层</b>：所有任务共享一个前处理管道（pipeline），这是一个函数数组，按序执行（e.g., 跳过广告 → 进入页面 → 搜索 → 预识别视频）。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080b1999ec38806fa3dda"><li><b>规则引擎</b>：在前处理末尾，用一个“决策器”（decider）基于配置规则（e.g., 概率、条件）动态生成“动作列表”（actions list），如 [点赞, 评论, 评论后点赞]。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c408053adcbd55f2930ae4e"><li><b>主要脚本</b>：只是一个“执行器”（executor），接收动作列表，按序调用独立的“原子动作函数”（e.g., likeVideo() 只点赞一次，不带任何判断）。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c40803ab6d0eb0086e3a19b"><li><b>整个流程</b>：前处理返回 { success: true, videoInfo: {...}, actionsToRun: [...] }，然后主要执行器跑 actionsToRun，返回 { preResult, mainResult }。</li></ul><div class="notion-text notion-block-2c5167c39c4080d5a8dac6e5b714eabc">优点：</div><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080af977cfd59e6ddfd19"><li><b>灵活组合</b>：不用为每种情况写新前处理，只改配置（e.g., JSON 对象）就能实现“评论后概率点赞”或“给评论评论”。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080afbac1fc71ec2c7098"><li><b>解耦</b>：原子动作函数保持纯净（只做一件事），判断全在前处理决策器里。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080e984dde891899b89ef"><li><b>可扩展</b>：以后加新前处理（如“检查网络”）或新动作（如“转发”）只需加函数到管道/列表。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c408005b21ddb9bf34e9156"><li><b>整个结果</b>：返回包含前处理 + 主要执行的完整日志/结果，便于群控系统监控。</li></ul><div class="notion-text notion-block-2c5167c39c408036b4e9ed410f421f30">缺点：初始配置稍复杂，但远胜于写 N 个自定义脚本。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c40809197e2f454e1a9131f" data-id="2c5167c39c40809197e2f454e1a9131f"><span><div id="2c5167c39c40809197e2f454e1a9131f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c40809197e2f454e1a9131f" 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><h4 class="notion-h notion-h3 notion-block-2c5167c39c408022a463f6e5a43d5c80" data-id="2c5167c39c408022a463f6e5a43d5c80"><span><div id="2c5167c39c408022a463f6e5a43d5c80" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c408022a463f6e5a43d5c80" 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. <b>核心组件定义</b></span></span></h4><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080d7a691ceb249de6ee3"><li><b>前处理管道 (prePipeline)</b>：一个函数数组，每个函数返回 { success: bool, data: {...} } 或抛错。失败时中断管道。</li><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080d7a691ceb249de6ee3"><li>示例函数：skipAd(), enterPage(&#x27;同城&#x27;), searchVideo(&#x27;关键词&#x27;), recognizeVideo()。</li></ul></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080cb8a54d1796acf7b5e"><li><b>决策器 (decider)</b>：在前处理数据基础上，用规则生成 actions 列表。</li><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080cb8a54d1796acf7b5e"><li>规则用 JSON 配置：支持条件 (if author == &#x27;xxx&#x27; then like)、概率 (random 30% then comment)、序列 (after comment then 50% like)。</li></ul></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080cd8a4acc2e748e1684"><li><b>原子动作 (atomicActions)</b>：独立的函数，只执行一次行为，返回 { success: bool, msg: &#x27;...&#x27; }。</li><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080cd8a4acc2e748e1684"><li>e.g., likeVideo(), commentVideo(&#x27;内容&#x27;), replyToComment(&#x27;回复&#x27;)。</li></ul></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080568e3cfa7a6ce3f03e"><li><b>主要执行器 (mainExecutor)</b>：接收 actions 列表，按序执行，返回结果数组。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080918d5deccdc46eace1"><li><b>配置对象 (taskConfig)</b>：JSON 驱动整个任务，定义管道、规则等。</li></ul><h4 class="notion-h notion-h3 notion-block-2c5167c39c4080e6af52e61fda0c593e" data-id="2c5167c39c4080e6af52e61fda0c593e"><span><div id="2c5167c39c4080e6af52e61fda0c593e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c4080e6af52e61fda0c593e" title="2. 示例配置 JSON"><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. <b>示例配置 JSON</b></span></span></h4><div class="notion-text notion-block-2c5167c39c40801d837aec58d801c904">每个任务一个 config 对象（可从文件/数据库加载）：</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c40803eb13bdc50cb1fcdee" data-id="2c5167c39c40803eb13bdc50cb1fcdee"><span><div id="2c5167c39c40803eb13bdc50cb1fcdee" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c40803eb13bdc50cb1fcdee" title="3. 核心代码实现（Auto.js / 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">3. <b>核心代码实现（Auto.js / JS 示例）</b></span></span></h4><div class="notion-text notion-block-2c5167c39c408087a092fb81e63990af">假设你的群控系统用 JS，这里给一个简化版实现（可直接复制到你的脚本）。</div><h4 class="notion-h notion-h3 notion-block-2c5167c39c40805a9f75c7412f8d3c6a" data-id="2c5167c39c40805a9f75c7412f8d3c6a"><span><div id="2c5167c39c40805a9f75c7412f8d3c6a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c5167c39c40805a9f75c7412f8d3c6a" 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-2c5167c39c408006b23dd61285dbb309"><li><b>概率点赞/评论</b>：全在前处理决策器里用 <code class="notion-inline-code">prob</code> 处理，主要脚本不变。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c408084ba03e63fd63dd7ab"><li><b>评论后概率点赞</b>：用 <code class="notion-inline-code">after: &quot;commentVideo&quot;</code> 在规则里定义依赖顺序，主要脚本无需知道。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c4080cdac6ee6b654640ae4"><li><b>给评论评论</b>：加新原子动作 <code class="notion-inline-code">replyToComment()</code>，在规则里加 <code class="notion-inline-code">{action: &quot;replyToComment&quot;, after: &quot;commentVideo&quot;}</code>。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c408003b28ee2166754090c"><li><b>每种情况不用新前处理</b>：所有任务共享同一管道和决策器，只改 config JSON（e.g., 不同任务有不同 rules）。</li></ul><ul class="notion-list notion-list-disc notion-block-2c5167c39c40805082ebf1cd620decee"><li><b>群控扩展</b>：在群控主控端，用 JSON config 发给每个设备，设备运行 <code class="notion-inline-code">runTask(config)</code> 返回结果。</li></ul><div class="notion-text notion-block-2c5167c39c4080de9dc5c38d832eeb24">这个架构在实际群控系统（如抖音批量脚本）中超稳，代码量少、复用高。如果你需要更细的 Auto.js UI 适配或完整项目 demo，直接说！</div></div></details></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志25120809]]></title>
        <id>https://hodpel.eu.org/开发日志25120809</id>
        <link href="https://hodpel.eu.org/开发日志25120809"/>
        <updated>2025-12-08T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[今天处理了若干BUG…]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2c3167c39c408065b1acf33a80023339"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div><div></div><div class="notion-collection-header"><div class="notion-collection-header-title">TODOlist</div></div></div><div class="notion-collection notion-block-2c3167c39c40803cb2ced501fd96fbef"><div class="notion-board"><div class="notion-board-view notion-board-view-size-medium" style="padding-left:96px"><div class="notion-board-header"><div class="notion-board-header-inner"></div></div><div class="notion-board-header-placeholder"></div><div class="notion-board-body"></div></div></div></div><details class="notion-toggle notion-block-2c3167c39c4080d0bfccfd3a60e3eb10"><summary>今天处理一下 <b>行为计数</b> 功能</summary><div></div></details><hr class="notion-hr notion-block-2c4167c39c408012b876c9ed9f68bf59"/><div class="notion-text notion-block-2c4167c39c4080d4af50e786cf1a630f">优化暂停方法 现在可以强制停止脚本执行</div><details class="notion-toggle notion-block-2c4167c39c408014b279d548f9cbc777"><summary>在 <code class="notion-inline-code">runTaskChain()</code> 函数中添加将任务放进数组的方法</summary><div></div></details><details class="notion-toggle notion-block-2c4167c39c40809180c0c35d09e66d80"><summary>在 <code class="notion-inline-code">main.js</code> 中添加对应方法执行暂停</summary><div></div></details><hr class="notion-hr notion-block-2c4167c39c4080c5860cecf279ae4812"/><div class="notion-text notion-block-2c4167c39c40809bb9f4e3181e98937c">用AI写了一个读取行为记录的模块 <code class="notion-inline-code">record.html</code> </div><hr class="notion-hr notion-block-2c4167c39c40809d9e2cc3904a9ad9b6"/><div class="notion-text notion-block-2c4167c39c40809caa47c52eb02ab53d">之前用比较蠢的方法实现空对象判断</div><div class="notion-text notion-block-2c4167c39c40809e93a8ddda14b022d9"><code class="notion-inline-code">JSON.stringify(json) === &#x27;{}&#x27;</code> </div><div class="notion-text notion-block-2c4167c39c4080978bf5d0b1e5755769">后改用更好的</div><div class="notion-text notion-block-2c4167c39c4080f38af7dde1bcad9f4a"><code class="notion-inline-code">Object.keys(json).length === 0</code>  </div><hr class="notion-hr notion-block-2c4167c39c408072b71fdf22be4fd849"/><details class="notion-toggle notion-block-2c4167c39c4080da99c0d3bfa170d23a"><summary>之前使用的 <code class="notion-inline-code">switch()</code> 判断:</summary><div></div></details><details class="notion-toggle notion-block-2c4167c39c40803bac74df95844b014e"><summary>现发现确实并不好用 改回 <code class="notion-inline-code">if()</code> </summary><div></div></details><hr class="notion-hr notion-block-2c4167c39c4080b3884afbcc356009eb"/><details class="notion-toggle notion-block-2c4167c39c40805cb3c9dbe43efc53a3"><summary>之前使用的过滤屏幕外对象函数可靠性比较低 很大概率把我需要的东西过滤掉 因为传入的参数 <code class="notion-inline-code">maxTop</code> <code class="notion-inline-code">maxBottom</code> 有可能不满足要求 但是我不可能对每次过滤都测试太多次 进行了修改 现会先过滤一次 <em>异常元素</em> 例如元素的 <code class="notion-inline-code">.top</code> 比 <code class="notion-inline-code">.bottom</code> 大( <b>较大的值在下方</b> ) 若过滤结果只剩一个则直接返回 若还剩下多个则按传入参数二次过滤:</summary><div></div></details><hr class="notion-hr notion-block-2c4167c39c4080809d6cd07818f265f7"/><details class="notion-toggle notion-block-2c4167c39c4080dd92a2f8b14cd7c584"><summary>之前使用的查询 <code class="notion-inline-code">#title</code> 方法只进行两次 而且代码冗长 现进行了调整 可以查询五次 增强可靠性</summary><div></div></details><hr class="notion-hr notion-block-2c4167c39c4080c2b810d33b5d5e0f3e"/><div class="notion-text notion-block-2c4167c39c4080b18a13d4f5dea64fcb">现在的暂停按钮功能单一 只能 <em>全部暂停全部强制停止</em> 现添加函数可以暂停特定设备 </div><div class="notion-text notion-block-2c4167c39c4080f49b42c85ef875aa85">合并了window.isPaused 和window.taskRunning 到window.taskStatus 通过一个全局数组控制任务的进行</div><details class="notion-toggle notion-block-2c4167c39c4080eab057ea1ec1c0b359"><summary>判断是否暂停</summary><div></div></details><details class="notion-toggle notion-block-2c4167c39c4080419385ca7d47b72ef4"><summary>更新任务列表方法 现在都是针对设备进行调控 不会因为不断push导致数组巨大重复数量又太多</summary><div></div></details><details class="notion-toggle notion-block-2c4167c39c408066adfbdd59a1fff2e1"><summary>修改了继续任务的条件 可以在判断onComplete的同时判断任务是否被停止</summary><div></div></details><details class="notion-toggle notion-block-2c4167c39c408014b97dd9237c8ebd48"><summary>重构了暂停和停止的方法 <em><b>有点容易晕</b></em> 明天可能要再调试一下</summary><div></div></details><div class="notion-text notion-block-2c4167c39c40807aac1ef881485d450a">结束的时候发现 <b>全局停止的功能似乎不可靠</b> </div><div class="notion-text notion-block-2c4167c39c4080bcb194cb5b5dd05906"><b>@TODO:修复全局停止的功能</b></div><hr class="notion-hr notion-block-2c4167c39c4080969488f119a9f4252e"/><div class="notion-text notion-block-2c4167c39c408092bcf3da1152206a9e">需要处理广告跳过了  已经dump下了页面的结构 就是又臭又长需要分析一下</div><div class="notion-row notion-block-2c4167c39c4080adb630c7c98c525949"><div class="notion-column notion-block-2c4167c39c40806baeb9cac9a8cf8311" style="width:calc((100% - (2 * min(32px, 4vw))) * 0.33333333333333337)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c4167c39c4080269a10caf856e1f9f1"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:329px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A733f39d7-53d2-429b-80ad-bad20ee137a1%3A3.png?table=block&amp;id=2c4167c3-9c40-8026-9a10-caf856e1f9f1&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></div><div class="notion-spacer"></div><div class="notion-column notion-block-2c4167c39c40804885c8ee22cb273644" style="width:calc((100% - (2 * min(32px, 4vw))) * 0.33333333333333337)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c4167c39c40804f9503eeaa213abecf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:334px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ae4ad357b-b3e9-4af6-bdb2-66681889c246%3AScreenShot_2025-11-29_165119_014.png?table=block&amp;id=2c4167c3-9c40-804f-9503-eeaa213abecf&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></div><div class="notion-spacer"></div><div class="notion-column notion-block-2c4167c39c4080adad7cf9a18f4079f4" style="width:calc((100% - (2 * min(32px, 4vw))) * 0.3333333333333333)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c4167c39c408036853ef1622d352530"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:295px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ac4254a86-d65b-4f13-84dd-99907edcb8fa%3AScreenShot_2025-12-01_140922_494.png?table=block&amp;id=2c4167c3-9c40-8036-853e-f1622d352530&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></div><div class="notion-spacer"></div></div><div class="notion-row notion-block-2c4167c39c40802d9ff4f076eb7353c6"><div class="notion-column notion-block-2c4167c39c408003a572e58a9413ca21" style="width:calc((100% - (1 * min(32px, 4vw))) * 0.5)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c4167c39c4080399627f2505e792388"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:337px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A4b7160f6-6138-407a-806f-f455d59a40b8%3AScreenShot_2025-12-01_141608_606.png?table=block&amp;id=2c4167c3-9c40-8039-9627-f2505e792388&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2c4167c39c4080848362e2cf9255acf7"> </div></div><div class="notion-spacer"></div><div class="notion-column notion-block-2c4167c39c4080b2ac7ad18b0438d1cc" style="width:calc((100% - (1 * min(32px, 4vw))) * 0.5)"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c4167c39c4080ec94f9ce7fcd3b76ab"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:413px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A5d8ee53b-9311-4133-b171-0d4e456fcd8e%3AScreenShot_2025-12-09_180153_420.png?table=block&amp;id=2c4167c3-9c40-80ec-94f9-ce7fcd3b76ab&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></div><div class="notion-spacer"></div></div><div class="notion-text notion-block-2c4167c39c4080709befcdcc676f2ff1">大概就这几种广告 明天处理</div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251206]]></title>
        <id>https://hodpel.eu.org/开发日志251206</id>
        <link href="https://hodpel.eu.org/开发日志251206"/>
        <updated>2025-12-05T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[基本的脚本写完后 只用控制台看日志有点不方便了
今天主要处理完善日志读写功能的实现 最好还能实现 分级日志输出 考虑让页面异步发送请求到node.js 然后让node.js写日志到本地]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2c0167c39c40808eb02be6756d1d12cc"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Dec 6, 2025</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">开发日志251206</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-green">计算机</div><div class="notion-property-multi_select-item notion-item-yellow">AI</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">基本的脚本写完后 只用控制台看日志有点不方便了
今天主要处理完善日志读写功能的实现 最好还能实现 <b>分级日志输出</b> 考虑让页面异步发送请求到node.js 然后让node.js写日志到本地</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div></div></div></div><div class="notion-text notion-block-2c0167c39c408014aec9cc6116e2e1dc">基本的脚本写完后 只用控制台看日志有点不方便了</div><div class="notion-text notion-block-2c0167c39c4080fead8befbfb12c3452">今天主要处理完善日志读写功能的实现 最好还能实现 <b>分级日志输出 </b>考虑让页面异步发送请求到node.js 然后让node.js写日志到本地</div><div class="notion-text notion-block-2c0167c39c408037818ce4782752e163">由于日志分为主机日志和设备日志 此外除了写日志之外 可能还要写报表内容 例如每天总结等 因此需要设置两个模块 </div><ol start="1" class="notion-list notion-list-numbered notion-block-2c0167c39c40807bad46fb4fa6704cf5" style="list-style-type:decimal"><li>文件读写模块</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2c0167c39c4080e18d68e690988acc55" style="list-style-type:decimal"><li>日志传入模块</li></ol><div class="notion-text notion-block-2c0167c39c4080ccae64d610fb145bba">文件读写模块可以提供各类接口 方便各种形式的文件写入 日志传入模块可以专用于日志读写调用文件读写模块</div><div class="notion-text notion-block-2c0167c39c40805290bdd99f7a2d7703">后期如果有需要在主机执行的内容也可以通过这个接口读写日志等</div><hr class="notion-hr notion-block-2c1167c39c4080c19d3dcb38faf5839b"/></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251204,05]]></title>
        <id>https://hodpel.eu.org/开发日志251204,05</id>
        <link href="https://hodpel.eu.org/开发日志251204,05"/>
        <updated>2025-12-03T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[完成了关键词判别 评论功能修复 优化main函数执行方法 可传入多个设备编号同时执行 重构等待运行结果函数waitForDeviceResult() 设置超时时间]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2be167c39c4080a188d3cf79c79c1e0c"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div><div></div><div class="notion-collection-header"><div class="notion-collection-header-title">TODOlist</div></div></div><div class="notion-collection notion-block-2be167c39c408064907bc881c8321dfb"><div class="notion-board"><div class="notion-board-view notion-board-view-size-medium" style="padding-left:96px"><div class="notion-board-header"><div class="notion-board-header-inner"></div></div><div class="notion-board-header-placeholder"></div><div class="notion-board-body"></div></div></div></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2bf167c39c4080f888d1db5071aa0974" data-id="2bf167c39c4080f888d1db5071aa0974"><span><div id="2bf167c39c4080f888d1db5071aa0974" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bf167c39c4080f888d1db5071aa0974" 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><hr class="notion-hr notion-block-2c0167c39c408026bf9ec580ab492954"/><div class="notion-text notion-block-2c0167c39c4080bdb12bc869b449dcd9">优化了代码结构 将大部分通用函数移到了 <code class="notion-inline-code">common.js</code></div><div class="notion-text notion-block-2c0167c39c40809f9852ee2d8161ba56">脚本范例 <code class="notion-inline-code">sample.js</code> :</div><hr class="notion-hr notion-block-2c0167c39c408095b70ef0315b220d06"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2c0167c39c408011be83ee4ca5b88c7b" data-id="2c0167c39c408011be83ee4ca5b88c7b"><span><div id="2c0167c39c408011be83ee4ca5b88c7b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c0167c39c408011be83ee4ca5b88c7b" 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><ol start="1" class="notion-list notion-list-numbered notion-block-2c0167c39c4080f382d3c55e4dbe11ce" style="list-style-type:decimal"><li>可能出现找错评论框导致输入错位置的bug</li></ol><div class="notion-text notion-block-2c0167c39c4080738772d234710af23f">添加了 <code class="notion-inline-code">.focused()</code> 方法过滤掉无焦点的文本框 解决</div><ol start="2" class="notion-list notion-list-numbered notion-block-2c0167c39c4080c59851e820383e076a" style="list-style-type:decimal"><li>可能出现评论成功检测错误的问题</li></ol><div class="notion-text notion-block-2c0167c39c40803292b3e598acf35744">应该是函数写错了  犯了个低级错误 getCommentList(a)改为a=getCommentList();</div><hr class="notion-hr notion-block-2c0167c39c408059ae26fd67c6f5145c"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2c0167c39c408058aacceaa38cb45394" data-id="2c0167c39c408058aacceaa38cb45394"><span><div id="2c0167c39c408058aacceaa38cb45394" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c0167c39c408058aacceaa38cb45394" title="main() 函数调整"><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"><code class="notion-inline-code">main()</code> 函数调整</span></span></h4><ol start="1" class="notion-list notion-list-numbered notion-block-2c0167c39c408038a135dc59e0818224" style="list-style-type:decimal"><li>优化优化main函数执行方法 可传入多个设备编号同时执行</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2c0167c39c408069bdfbc932e59dbfc0" style="list-style-type:decimal"><li>重构等待运行结果函数waitForDeviceResult() 设置超时时间</li></ol><div class="notion-blank notion-block-2c0167c39c4080b4a3ccf2319c6d5702"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251203]]></title>
        <id>https://hodpel.eu.org/开发日志251203</id>
        <link href="https://hodpel.eu.org/开发日志251203"/>
        <updated>2025-12-02T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[今天先处理了一下ai提示词 提示词需要限制非常多才能让智能体回复较为正常的内容 例如]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2be167c39c4080d4a901ec4706672aed"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-2be167c39c4080629c31e06b38e74d28">今天先处理了一下ai提示词 提示词需要限制非常多才能让智能体回复较为正常的内容 例如</div><div class="notion-text notion-block-2be167c39c4080758ea5fb9a809edd94">返回结果:</div><div class="notion-text notion-block-2be167c39c408025ba01de98ab48db04">后面需要研究怎么去简化和加强身份限制效果</div><hr class="notion-hr notion-block-2be167c39c40803a9821ea74509fc8f3"/><div class="notion-text notion-block-2be167c39c4080279fa4d36c4e154695">调整了一下返回值的格式 由 <code class="notion-inline-code">数组</code> 修改为了 <code class="notion-inline-code">对象</code> </div><div class="notion-text notion-block-2be167c39c4080c58241ff19f435f948"><b>@TODO:后续需要修改老脚本的数据返回格式 可能需要插入通用脚本</b></div><hr class="notion-hr notion-block-2be167c39c4080b9be95e139ef4c99ca"/><div class="notion-text notion-block-2be167c39c4080119cb6ce8651927d2d">今天需要解决问题:</div><div class="notion-to-do notion-block-2be167c39c408085b9ebdf9bae59eb96"><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 class="notion-to-do notion-block-2be167c39c4080a8a250f4ec89d98e62"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">视频标题简介读取</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-2be167c39c4080a99020e8228475c822"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">下滑屏幕获取更多评论内容</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-2be167c39c408009b9ffff2f24b95df0"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">任务队列限制  </div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-2be167c39c4080d68ba7c0a30f556c1c"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">发出并检验评论</div></div><div class="notion-to-do-children"></div></div><hr class="notion-hr notion-block-2be167c39c408047b5ccd77db7782206"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2be167c39c4080c3a530fb1b40e62dc1" data-id="2be167c39c4080c3a530fb1b40e62dc1"><span><div id="2be167c39c4080c3a530fb1b40e62dc1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2be167c39c4080c3a530fb1b40e62dc1" 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-2be167c39c408087b2c2d9d9036a3678">先将获取页面评论的功能包装成函数</div><div class="notion-text notion-block-2be167c39c4080beba68fbde9e451718">之后在执行部分循环即可</div><hr class="notion-hr notion-block-2be167c39c4080bca3f4c856580fb190"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2be167c39c408065ad8fea43a9a078b3" data-id="2be167c39c408065ad8fea43a9a078b3"><span><div id="2be167c39c408065ad8fea43a9a078b3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2be167c39c408065ad8fea43a9a078b3" 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-2be167c39c4080f3b8f0dd8f5cbe229c">这个功能比较简单</div><hr class="notion-hr notion-block-2be167c39c408021900dc04d396b939f"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2be167c39c40808cb4f4c94d763996a2" data-id="2be167c39c40808cb4f4c94d763996a2"><span><div id="2be167c39c40808cb4f4c94d763996a2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2be167c39c40808cb4f4c94d763996a2" 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-2be167c39c4080a2be1bc61f1e216384">现在遇到了一个问题 <b>当请求时间过长时会自动重复发出POST请求</b></div><div class="notion-text notion-block-2be167c39c4080909105fe73b40574fe">试了半天 用http.post(url,body,{timeout:30000}无效 不知道是auto.js的设定还是设备的设定</div><div class="notion-text notion-block-2be167c39c40809194a6d22a1784de26">遂采用 <b>立即相应 后轮询获取</b> 的方式解决</div><blockquote class="notion-quote notion-block-2be167c39c4080f1a7a5e30786a48306"><div>感谢AI</div></blockquote><hr class="notion-hr notion-block-2be167c39c4080dcaf70ddc982daec08"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2be167c39c4080cd94aafa7175ee5e29" data-id="2be167c39c4080cd94aafa7175ee5e29"><span><div id="2be167c39c4080cd94aafa7175ee5e29" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2be167c39c4080cd94aafa7175ee5e29" 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><hr class="notion-hr notion-block-2be167c39c408000a2fad0ab194ba564"/><div class="notion-text notion-block-2be167c39c40800186d3d0666e4f39fe">需要注意到 视频和图片在 <b>预览层</b> 似乎是一样的 但是在点击评论后的界面 <b>有些不一样</b></div><div class="notion-text notion-block-2be167c39c408052b65dc08132f5253c"><b>@TODO:修正图片评论区</b></div><div class="notion-text notion-block-2be167c39c40807bace3c025d5488f31">关键词判别还没写 这个应该不难 我已经能够获取视频标题和视频简介了 只要和表格比较一下就行</div><div class="notion-text notion-block-2be167c39c4080808101fe2a47c44dcb"><b>@TODO:关键词判别</b></div><hr class="notion-hr notion-block-2be167c39c40802cafe6d4b5791d9267"/><div class="notion-text notion-block-2be167c39c40807b86f1fe6628fd25df">现在脚本已经更够基本上正常运行了 但是遇到了 <b>照片 </b>内容时在进入评论模式后会出现问题</div><div class="notion-text notion-block-2be167c39c40808fa6ffd6c091e2a765"><b>@TODO:照片模式修复</b></div><div class="notion-text notion-block-2be167c39c40807a8e7fc587b83192e6">以后会有进入 <b>同城</b> 以及 <b>搜索</b> 页面后做相关操作 这里会有问题</div><ol start="1" class="notion-list notion-list-numbered notion-block-2be167c39c4080d79166f671b64bfab0" style="list-style-type:decimal"><li>我的脚本只有特定功能 没有进行前处理 需要额外加一个前处理层 可能要对结构进行调整 例如先进行前处理进入到特定页面 然后进行特定功能 </li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2be167c39c408050ab45d778e5de6639" style="list-style-type:decimal"><li><b>搜索</b> 页面并没有我用于定位软件当前页面的 <b>推荐</b> 按钮 这点需要改进</li></ol><div class="notion-text notion-block-2be167c39c4080219d0fc20265a0f399"><b>@TODO:执行前处理层</b></div><div class="notion-text notion-block-2be167c39c408051a84ee54c32c7ab06">以后还要完成 <b>发视频</b> 功能</div><div class="notion-text notion-block-2be167c39c4080d4baccee06072913a2"><b>@TODO:发视频</b></div><div class="notion-blank notion-block-2be167c39c4080e0af0ec0de45343920"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251202]]></title>
        <id>https://hodpel.eu.org/开发日志251202</id>
        <link href="https://hodpel.eu.org/开发日志251202"/>
        <updated>2025-12-01T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[今天继续解决上周遗留的获取不到评论对象的问题
1. 评论块可能只含图片 所以获取不到 content 元素的内容 需要进行处理
2. ~~.findOne() 获取的子元素可能为空~~
我傻了  .findOne(id()) 方法获取不到是因为:部分手机的id是完整的com.ss.android.ugc.aweme:id/xx🌚]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2bd167c39c40807293becdf8c9b70b07"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Dec 2, 2025</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">开发日志251202</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-yellow">AI</div><div class="notion-property-multi_select-item notion-item-green">计算机</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">今天继续解决上周遗留的获取不到评论对象的问题
1. 评论块可能只含图片 所以获取不到 <code class="notion-inline-code">content</code> 元素的内容 需要进行处理
2. <code class="notion-inline-code">~~.findOne()</code> 获取的子元素可能为空~~
我傻了  <code class="notion-inline-code">.findOne(id())</code> 方法获取不到是因为:部分手机的id是完整的com.ss.android.ugc.aweme:id/xx🌚</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div></div></div></div><div class="notion-text notion-block-2bd167c39c408070bbd9dc5554ee4350">今天继续解决上周遗留的获取不到评论对象的问题</div><ol start="1" class="notion-list notion-list-numbered notion-block-2bd167c39c4080ab9b70f37555c68381" style="list-style-type:decimal"><li>评论块可能只含图片 所以获取不到 <code class="notion-inline-code">content</code> 元素的内容 需要进行处理</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2bd167c39c4080ff97d1dcd00bc23bf7" style="list-style-type:decimal"><li><s><code class="notion-inline-code">.findOne()</code></s><s> 获取的子元素可能为空</s></li></ol><div class="notion-text notion-block-2bd167c39c4080579872f3644b48a1cc">我傻了  <code class="notion-inline-code">.findOne(id())</code> 方法获取不到是因为:</div><blockquote class="notion-quote notion-block-2bd167c39c4080eab1ddf7ef774ef599"><div>部分手机的id是完整的com.ss.android.ugc.aweme:id/xx🌚</div></blockquote><hr class="notion-hr notion-block-2bd167c39c4080bea52add69007bcc5f"/><div class="notion-text notion-block-2bd167c39c4080508d69c69d5e51c657">现在可以获取到当前可视范围内的评论 <b>@TODO:以后要添加翻页读取更多评论的功能</b></div><div class="notion-text notion-block-2bd167c39c408020b7b1c62a90935c7c">之后就可以调用AI API生成需要的评论内容</div><div class="notion-text notion-block-2bd167c39c4080c5a65df108cf6b9ef0">目前的方法是</div><hr class="notion-hr notion-block-2bd167c39c4080208244fd889a7e7d6a"/><div class="notion-text notion-block-2bd167c39c408070831efa7a027d485c">今天调试了老半天 一直没想到直接在 <code class="notion-inline-code">server.js</code> 里打印传入的数据 这样调试就找得到原因</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-2bd167c39c408095912dc878aa4d22b1" data-id="2bd167c39c408095912dc878aa4d22b1"><span><div id="2bd167c39c408095912dc878aa4d22b1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bd167c39c408095912dc878aa4d22b1" 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-2bd167c39c408045b27cc04b4bf4f691">明天考虑将评论脚本完善 需要注意要加入 <b>关键词判别</b> 和 <b>视频标题简介读取</b> 功能 此外还有 <b>下滑屏幕获取更多评论内容</b> 以及 <b>任务队列限制</b> 的功能 方便后期根据 <em>视频标题,简介和评论区内容</em> 来生成内容 后面着手处理发视频脚本 然后把抖音整体的流程再去优化 例如 <b>以设备设定</b> 为准去分配任务 而不是现在的平台分流 这样能做到比较高的自由度 此外要 <b>优化</b> 刷视频脚本 插入一些应该加入的参数 例如 <em>读取视频标题 关键词辨别</em> 等</div><div class="notion-text notion-block-2bd167c39c4080649288fa3ad8ca0294">prompt配置需要比较花心思 我今天随意写了五六条发现ai还是会自由发挥 效果不佳 这个要仔细钻研一下</div><div class="notion-blank notion-block-2bd167c39c40805ea321ea2aca38b4ad"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[开发日志251129,1201]]></title>
        <id>https://hodpel.eu.org/开发日志251129</id>
        <link href="https://hodpel.eu.org/开发日志251129"/>
        <updated>2025-11-28T16:00:00.000Z</updated>
        <summary type="html"><![CDATA[考虑到后期需要评论或根据评论回评 之后开要考虑在各个相关脚本内添加 返回视频简介/评论内容 的功能 在主机建立 评论数据库 可以根据数据库索引评论 据此生成评中评]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2ba167c39c4080b9a465d9e67e182db2"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-2ba167c39c408084b717e9ad44b9aca1">考虑到后期需要评论或根据评论回评 之后开要考虑在各个相关脚本内添加 <b>返回视频简介/评论内容</b> 的功能 在主机建立 <b>评论数据库</b> 可以根据数据库索引评论 据此生成评中评</div><hr class="notion-hr notion-block-2ba167c39c4080cc9683ccdc7df55b92"/><div class="notion-text notion-block-2ba167c39c4080199ab2f6779384bcfe">脚本中经常有通用的函数 例如日志对象等 现在打算修改成:</div><ol start="1" class="notion-list notion-list-numbered notion-block-2ba167c39c4080478313ddc5a3c08f94" style="list-style-type:decimal"><li>通过文件上传common.js 内含所有的通用脚本</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2ba167c39c4080c5ac1cd1d5da82f523" style="list-style-type:decimal"><li>在脚本中使用 <code class="notion-inline-code">require()</code> 方法引入:</li></ol><hr class="notion-hr notion-block-2ba167c39c4080e6a3a1d7608850c6cc"/><div class="notion-text notion-block-2bc167c39c4080098a6df79943a690a0">现在遇到的问题是同一个脚本在不同设备上执行效果不同 获取到评论块元素后 大部分设备可以通过 <code class="notion-inline-code">.children()</code> 方法获取 但是部分设备疑似弄了反自动化  没法通过上述方法获取子元素 难搞</div><hr class="notion-hr notion-block-2bc167c39c408029a510cc876cabb48e"/><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-2bc167c39c408034a80eed39e203b2cd" data-id="2bc167c39c408034a80eed39e203b2cd"><span><div id="2bc167c39c408034a80eed39e203b2cd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bc167c39c408034a80eed39e203b2cd" title="12.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">12.1</span></span></h2><div class="notion-text notion-block-2bc167c39c4080c09a7cc2d9f366ae7a">今天主要将设备移到了楼上 但是楼上的有线网络和无线网络 <b>不在同一局域网</b> 导致无法连接 现找到用 <em><b>gnirehtet</b></em><b>  </b>软件进行USB网络共享的方式解决</div><div class="notion-text notion-block-2bc167c39c408060bc74ce466af21593">继续处理上周遗留的无障碍限制问题</div><hr class="notion-hr notion-block-2bc167c39c4080a280e9c8f63f978e72"/><div class="notion-text notion-block-2bc167c39c4080d19277c11e72c645af">(今天开会 会上写:)</div><div class="notion-text notion-block-2bc167c39c40804da45bec9c4466d55a">元素虽然无法被 <code class="notion-inline-code">.find()</code> 对象获取 但是可以通过 <code class="notion-inline-code">.forEach()</code> 遍历获取 虽然这样效率比较低 但是针对部分设备也只能这么操作 同时可以兼容以后新加设备 考虑写一个 <b>@TODO:通用的遍历函数</b> 便于查找对象</div><div class="notion-text notion-block-2bc167c39c408090ac8be99e213b74b1">现在其他设备可以正常获取并返回当前可见的评论列表 由于 <code class="notion-inline-code">RecyclerView</code> 控件只能获取屏幕内的评论集 且我目前使用的方法同时会获取到 <b>评中评</b> 可能对后面的工作造成影响</div><div class="notion-text notion-block-2bc167c39c4080afa46afaa2803c03e3">此外要获取比较完整的评论集时 需要做滑动屏幕并读取的行为 和之前用 <em>红豹</em> 时 的操作差不多 用上滑屏幕的方法获取可能会 <b>漏评论</b></div><div class="notion-text notion-block-2bc167c39c4080b38c1acbd85847ad99">如果后期获取的评论只用于调整ai生成评论的方向倒是无所谓 如果需要做针对性评论时需要再去优化</div><div class="notion-text notion-block-2bc167c39c408002b4d6d4386eedac2e">评论本身应该不难做 我已经获取到了评论块了 <b>直接点击-复制内容-发送-识别内容</b> 即可</div><div class="notion-text notion-block-2bc167c39c408071a622f3c9a2b4fa86">现在其实就可以简单接入ai 去开始生成刷评论 评论率不要太高 只要  <em>百分之三</em> 即可 养养号</div><hr class="notion-hr notion-block-2bc167c39c4080d1a376c889c0a3687b"/><div class="notion-text notion-block-2bc167c39c40805cbb7cfe6c6bf7259c">做完评论功能就可以开始做 <b>@TODO:发视频</b> 功能 然后抖音功能就可以先暂停 去全面接入和理解ai的使用和功能 这里应该会花一些成本研究 接入方面我倒没有太担心 毕竟接口都是现成的 只要 <b>准备好prompt材料</b> 就可以</div><hr class="notion-hr notion-block-2bc167c39c40808e80ecf8ab767e574a"/><div class="notion-text notion-block-2bc167c39c40808c9f99f88dd74dfcea">后续可能遇到的问题:</div><div class="notion-text notion-block-2bc167c39c408059a6c1ff1196b2a634">现在的主体架构还是按 <b>设备和平台</b> 去区分 但是 <em>一台设备可能不止使用一个平台</em> 不能首先就按平台划分好 可能需要按 <b>日期/时间/身份</b> 等判断现在使用的平台 比如设备身份定位是 <em>女上班族</em> 那就在 <b>早上下午刷抖音 晚上发小红书</b> 为了模拟真实用户的日常行为 做 <b>暗广</b> ;可能还需要掺杂许多日常抖音/博文 去 <b>浑水摸鱼</b></div><hr class="notion-hr notion-block-2bc167c39c408076a521fdf05145f57f"/><div class="notion-text notion-block-2bc167c39c4080919d5cfdf7870f685a">ai方面目前还没有探索 我暂时没认为会遇到很大的问题 主要的问题可能是💰 跑这个必须要成本</div><div class="notion-text notion-block-2bc167c39c4080ea9883e1cd0df822cb">不过目前也是发现了一个问题</div><div class="notion-text notion-block-2bc167c39c4080bbaa83db20f132e0ac">目前使用的百炼平台 虽然可以设置 <b>知识库</b> 但是知识库貌似只能设置 <em><b>5个</b></em> 5个数量对于企业专业使用似乎有些太少了 不过目前不清楚5个知识库是 <em>只能传5个文件</em> 还是说每个知识库 <em>可以传很多文件</em> ,此外需要注意的是 每个模型每次提问也是有 <b>prompt字符数量上限</b> 的 知识库方法可能会进一步限制 我以前听过 <b>模型蒸馏</b> 不知道能否利用 成本如何</div><div class="notion-text notion-block-2bc167c39c4080689477e522d53beacf">此外还有聚合ai平台 之前老板给我们展示过聚合平台 但是我没去跟进 不知道是否支持api调用 价格好像会比直接用sora 百炼等主流平台便宜 具体为什么便宜我不太清楚 我在官网上购买时认为价格比较高 但是老板说sora2是免费的</div><div class="notion-text notion-block-2bc167c39c4080f8a220c9fdd150152d">ai生成文字用 <b>普通的文字对话</b> ai应该足够处理 但是视频和图像生成涉及到参考物料的选择 使用现成的图像资源生成banner似乎靠谱 但是这样需要许多物料累计 这方面我司很显然欠的太多了(哈哈) 而且图像生成最好能稳定生成特定人物的图像 防止各类平台被识别</div><div class="notion-text notion-block-2bc167c39c40800fb7f1fd87a658d602">生成视频就比较难了 之前老板生成的视频虽然人像都可以看 但是 <b>窗户执手</b> 等资料完全不可靠 生成出来全是乱七八糟的 这个我想到可以模型蒸馏  像各种ai生成图像特定画风的方法 给对象喂大量的我司门窗准确图像 让其生成的图像准确可信</div><div class="notion-text notion-block-2bc167c39c4080ba8653e2fb93f54d17">蒸馏模型需要看是本地做还是有在线服务 需要对比成本 本地做需要重新装一台机超高配置的机器 现在这个阶段成本有些太高了 但是在线的结果不一定好 成本也不一定低具体看情况</div><hr class="notion-hr notion-block-2bc167c39c4080d99d2fdd33b16172e5"/><div class="notion-text notion-block-2bc167c39c408005bb1bd4348ced704e">大概就先这样,</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-2bc167c39c4080d19353e42a8b8a4c0b" data-id="2bc167c39c4080d19353e42a8b8a4c0b"><span><div id="2bc167c39c4080d19353e42a8b8a4c0b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2bc167c39c4080d19353e42a8b8a4c0b" 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-blank notion-block-2bc167c39c40809e84f7f95bc8fdf0cb"> </div></main>]]></content>
    </entry>
</feed>