<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>文玑阁</title><link>http://www.imwen.com/</link><description>玑琢算法万象，文藏俗世烟火-IT技术基于ZBLOG模板</description><generator>RainbowSoft Studio Z-Blog 2.2 Prism Build 140101</generator><language>zh-CN</language><pubDate>Wed, 10 Jun 2026 22:45:44 +0800</pubDate><item><title>AI人物绘画提示词写作指南：告别网红脸，写出有辨识度的真人质感画面</title><author>1135750302@qq.com (小陌)</author><link>http://www.imwen.com/post/361.html</link><pubDate>Wed, 10 Jun 2026 22:35:46 +0800</pubDate><guid>http://www.imwen.com/post/361.html</guid><description><![CDATA[<p>每次用 AI 画人物，是不是总遇到这些难题？</p><p>输入 “高颜值女生、气质出众、高清人像”，最后生成的人物五官千篇一律，清一色的网红脸，精致却毫无灵魂；刻意追求完美肌肤，结果人物满脸塑料感，完全脱离真实人像；想塑造独特风格，堆砌 “氛围感、电影感、高级脸” 等词汇，画面依旧平淡普通。</p><p>其实问题根源很简单：AI 无法解读抽象的主观感受，它只识别具象的视觉细节。想要让 AI 画出神态鲜活、特征鲜明、真实自然的人物，核心不是堆砌华丽形容词，而是把人物拆解成<strong>可被识别的视觉元素</strong>，用精准、有条理的描述搭建完整人物形象。</p><p>今天这篇干货，从写作逻辑、分步技巧、完整模板到实战案例，手把手教你撰写专业的人物外貌提示词，新手也能快速上手，轻松摆脱 AI 同质化画面。</p><p><strong>一、避坑先行：分清抽象描述与具象描述</strong></p><p>很多人写提示词的第一误区，就是依赖主观抽象词汇。这类词汇没有统一标准，AI 只会调用数据库里最通用、最模板化的人像模型，最终结果自然大同小异。</p><table><tbody><tr class="firstRow"><td valign="top" style="word-break: break-all; background-color: rgb(170, 170, 170); border-color: rgb(221, 221, 221);" width="210">错误抽象描述（不推荐）</td><td valign="top" style="word-break: break-all; background-color: rgb(170, 170, 170); border-color: rgb(221, 221, 221);" width="360">正确具象描述（推荐）</td></tr><tr><td valign="top" style="word-break: break-all; background-color: rgb(187, 187, 187); border-color: rgb(221, 221, 221);" width="210">漂亮女生、高颜值、气质高级</td><td valign="top" style="word-break: break-all; background-color: rgb(187, 187, 187); border-color: rgb(221, 221, 221);" width="360">25 岁东方少女，五官清秀，神情灵动，自带自然少女感 &nbsp;</td></tr><tr><td valign="top" style="word-break: break-all; background-color: rgb(204, 204, 204); border-color: rgb(221, 221, 221);" width="210">精致五官、脸蛋好看</td><td valign="top" style="word-break: break-all; background-color: rgb(204, 204, 204); border-color: rgb(221, 221, 221);" width="360">方圆脸，眼型圆润，眼尾微微下垂，鼻梁小巧立体 &nbsp;</td></tr><tr><td valign="top" style="word-break: break-all; background-color: rgb(170, 170, 170); border-color: rgb(221, 221, 221);" width="210">皮肤白皙、肤质完美</td><td valign="top" style="word-break: break-all; background-color: rgb(170, 170, 170); border-color: rgb(221, 221, 221);" width="360">冷白皮，自然哑光质感，鼻翼有细微毛孔，脸颊浅淡红晕 &nbsp;</td></tr><tr><td valign="top" style="word-break: break-all; background-color: rgb(187, 187, 187); border-color: rgb(221, 221, 221);" width="210">长发、穿搭时尚</td><td valign="top" style="word-break: break-all; background-color: rgb(187, 187, 187); border-color: rgb(221, 221, 221);" width="360">深棕羊毛长卷发，发丝蓬松有光泽，身着米白亚麻连衣裙 &nbsp;</td></tr></tbody></table><p>简单总结：<strong>放弃 “感觉”，落地 “细节”</strong>。把模糊的感受转化为年龄、脸型、五官、肤质、发型、体态、服饰、光影等看得见的细节，AI 才能精准落地你的创意。</p><p><strong>二、分步拆解：四大模块写活人物外貌</strong></p><p>遵循由整体到局部、由头部到全身的顺序撰写，层层递进搭建人物形象，画面稳定性和辨识度会大幅提升。</p><p><strong>（一）第一步：定整体画像，筑牢人物基础</strong></p><p>整体画像是人物的 “根基”，优先明确年龄、地域风格、整体气质、情绪状态四大要素，直接框定人物的整体基调，避免 AI 跑偏。年龄决定面部成熟度与皮肤状态，地域风格划定五官基础特征，气质与情绪主导人物的表情、神态和姿态。</p><p>实用参考句式：</p><p>少女风：一位 22 岁左右的东方年轻女性，五官清秀，神情明亮灵动，自带清新自然的少女感</p><p>轻熟风：一位 30 岁左右的东方女性，气质安静松弛，表情淡然克制，整体干净温婉</p><p>成熟风：一位 36 岁左右的都市女性，面部轮廓利落，眼神沉稳，气质理性清冷，自带疏离感</p><p>⚠️ 重点提醒：开篇不要急于添加 “电影感、氛围感、高级感” 等风格词汇，先把人物本身刻画完整，风格最后补充即可。</p><p><strong>（二）第二步：精雕五官与肤质，打造专属辨识度</strong></p><p>五官和皮肤是人物辨识度的核心，也是区分 “网红脸” 和 “真人脸” 的关键。不要笼统写 “五官精致”，学会拆分脸型、眉眼、鼻唇，同时合理保留皮肤自然瑕疵，拒绝过度磨皮带来的塑料感。</p><p>脸型与轮廓</p><p>不用只写 “瓜子脸、鹅蛋脸”，补充线条、下颌线、颧骨细节，人物轮廓会更立体。</p><p>示例：鹅蛋脸，脸部线条柔和，下颌线清晰不锋利，颧骨微微外凸，面部骨相自然。</p><p>眉眼神态</p><p>眼睛是人物的灵魂，除了眼型，一定要补充眼神、瞳孔、光影细节。</p><p>示例：标准杏仁眼，眼尾轻微上扬，瞳孔通透有自然高光，眼神平静温柔，眼妆淡雅。</p><p>鼻唇细节</p><p>简单描述形态即可，贴合整体气质。</p><p>示例：鼻梁自然小巧，鼻型秀气；唇形饱满，淡裸色唇妆，嘴唇微微抿起。</p><p>皮肤质感（重中之重）</p><p>真实的皮肤从不是零瑕疵，刻意保留毛孔、细微雀斑、泛红、浅淡细纹等小细节，才能告别 AI 塑料脸。</p><p>反例：零瑕疵冷白皮、肌肤光滑无瑕、磨皮滤镜</p><p>正例：自然哑光健康肤色，保留真实毛孔与皮肤纹理，鼻梁处散落细小雀斑，脸颊轻微泛红，妆感极淡。</p><p><strong>（三）第三步：刻画发型、体态与服饰，丰富画面层次</strong></p><p>头部五官刻画完成后，延伸到发型、体态、服装三大板块，让人物从 “一张脸” 变成完整、有动态的鲜活形象。</p><p>发型：拒绝单一 “长发 / 短发”</p><p>描述包含发色、长度、卷直、发丝状态、碎发细节，强化画面氛围感。</p><p>示例 1：乌黑亮泽的齐肩短发，发尾自然内扣，几缕细碎发丝垂落在脸颊两侧，发丝柔顺有光泽</p><p>示例 2：深棕色慵懒长卷发，随意披散在肩头，发丝略带凌乱感，充满生活化气息</p><p>体态：赋予人物动态生命力</p><p>僵硬的站姿会让画面死板，简单描述肢体姿态、肩膀状态、身体角度，人物会更放松自然。</p><p>示例：肩膀完全放松，身体微微侧向镜头，头部轻轻偏转，双手自然垂落，站姿随性，无刻意摆拍痕迹</p><p>服饰：区分款式 + 材质，提升画面质感</p><p>不要只写 “穿搭好看、时尚”，分别描述服装款式、面料材质、布料形态，不同材质会带来完全不同的视觉触感。</p><p>示例 1：身穿米白色亚麻长袖衬衫，布料带有自然褶皱，质感柔软透气，风格简约文艺</p><p>示例 2：身着深灰色真丝垂坠衬衫，面料自带低调柔光，垂坠感十足，尽显优雅气质</p><p><strong>（四）第四步：补充光影与镜头，完善整体画面</strong></p><p>光影和镜头参数是提升画面质感的点睛之笔，不同光线能塑造完全不同的氛围，搭配镜头参数，轻松实现写真、纪实、胶片等风格。</p><p>常用光影参考：柔和侧光、室内自然窗光、阴天漫射光、明暗对比光、暖调落日柔光</p><p>常用镜头 / 画质参数：真实人像摄影、85mm 人像镜头、浅景深、细腻纹理、高清画质、胶片颗粒感</p><p><strong>三、标准写作顺序：按逻辑组合，告别杂乱堆词</strong></p><p>零散堆砌词汇会导致画面逻辑混乱，推荐固定通用写作顺序，新手直接套用即可，兼顾逻辑性与完整性：</p><p><strong>年龄与地域风格 → 整体气质 + 情绪 → 脸型 + 五官细节 → 皮肤质感 → 发型细节 → 体态动作 → 服装款式 + 材质 → 光影 + 镜头 + 画质</strong></p><p>改写对比（直观感受差距）</p><p>❌ 旧版（杂乱抽象）：漂亮的中国女生，长头发，穿搭时尚，高级氛围感，高清人像</p><p>✅ 新版（有序具象）：一位 30 岁左右的东方女性，气质安静成熟，表情克制淡然。鹅蛋脸，下颌线清晰柔和，杏仁眼，眼神平静疏离。自然哑光肤质，保留鼻翼毛孔与脸颊淡淡泛红，无过度磨皮。乌黑齐肩短发，发尾内扣，碎发贴于脸侧。肩膀放松，身体微侧。身穿深灰色真丝衬衫，面料垂坠有微光。柔和侧光，85mm 人像摄影，浅景深，高清细腻纹理。</p><p>四、通用万能模板：一键套用，直接生成优质提示词</p><p>整理好可直接复制修改的完整版模板，覆盖绝大多数人像创作场景，根据需求替换括号内内容就行，适配写真、日常人像、复古风、通勤风等多种风格。</p><blockquote><p>一位【年龄段】的【东方 / 西方】人物，整体气质【安静 / 明亮 / 成熟 / 清冷 / 松弛 / 理性 / 灵动】，脸型为【鹅蛋脸 / 方圆脸 / 瓜子脸 / 骨相清晰的脸】，面部轮廓【柔和 / 利落 / 下颌线明显 / 颧骨轻微突出】，眼睛为【杏仁眼 / 圆眼 / 细长眼 / 深邃眼】，眼神【平静 / 自信 / 温柔 / 疏离 / 若有所思】，鼻梁【自然 / 挺直 / 小巧 / 有轻微骨感】，嘴唇【自然唇形 / 淡色唇妆 / 微微抿起】，皮肤为【自然哑光 / 水润 / 小麦色 / 冷白皮 / 健康肤色】，保留【轻微毛孔 / 细小雀斑 / 脸颊泛红 / 自然细纹】，拒绝过度磨皮、无塑料感，发型为【齐肩短发 / 黑色长直发 / 自然卷发 / 低马尾 / 慵懒发髻】，发丝【柔软 / 有光泽 / 略微凌乱 / 带有碎发】，体态【肩膀放松 / 微微侧身 / 站姿自然 / 坐姿安静 / 头部轻转】，穿着【服装款式】，材质为【亚麻 / 真丝 / 羊毛 / 皮革 / 粗针织 / 纯棉】，布料有【自然褶皱 / 垂坠感 / 细腻纹理 / 低调光泽】，光影为【柔和侧光 / 自然窗光 / 阴天漫射光 / 落日柔光】，真实人像摄影，细腻皮肤纹理，浅景深，画面干净高清。</p></blockquote><p><strong>五、实战完整案例参考（3 组不同风格</strong>）</p><p>结合模板创作 3 组不同风格的成品提示词，大家可以参考用词逻辑，灵活改编。</p><p><strong>案例 1：清新少女风（日常人像）</strong></p><p>一位 22 岁左右的东方少女，整体气质清新灵动，神情明亮活泼。方圆脸，脸部线条圆润柔和，圆眼型，眼眸清澈有神，眼神纯真。鼻梁小巧，自然裸唇。冷白皮，水润质感，脸颊有淡淡的粉色红晕，鼻翼可见细微毛孔。乌黑及腰长直发，发丝柔顺有光泽，额前散落轻薄碎刘海。坐姿放松，上半身微微偏向一侧。身着浅粉色纯棉针织 T 恤，面料柔软亲肤。室内自然窗光，日常纪实人像，高清画质，画面温柔治愈。</p><p><strong>案例 2：清冷都市风（成熟职场人像）</strong></p><p>一位 34 岁左右的东方都市女性，整体气质理性清冷，表情淡然克制。骨相清晰的鹅蛋脸，下颌线利落分明，细长眼型，眼尾微扬，眼神沉稳疏离。鼻梁高挺有骨感，薄唇，淡豆沙色唇妆。自然健康肤色，哑光质感，眼周有极浅自然细纹，皮肤干净通透。低马尾造型，黑发一丝不苟，发丝整洁。站姿挺拔，肩膀放松，身体微侧。身穿卡其色羊毛西装外套，面料厚实有纹理。室内明暗对比光，职业人像摄影，浅景深，高级质感。</p><p><strong>案例 3：复古文艺风（氛围感写真）</strong></p><p>一位 28 岁左右的东方女性，整体气质慵懒松弛，神情温柔悠远。鹅蛋脸，颧骨轻微突出，杏仁眼，眼神朦胧若有所思。鼻梁线条柔和，唇形饱满，复古豆沙唇色。暖调自然肤色，皮肤带有细腻纹理，面中散落零星小雀斑。深棕色中长羊毛卷发，随意披散，发丝蓬松略带凌乱。侧身倚靠姿态，动作舒缓。身穿米杏色亚麻连衣裙，布料布满自然褶皱。阴天漫射柔光，复古胶片人像，带有轻微胶片颗粒感，氛围感拉满。</p><p><strong>六、最后总结核心要点</strong></p><p>核心逻辑：<strong>抛弃抽象感受，聚焦具象细节</strong>，AI 只识别看得见的视觉元素，细节决定辨识度；</p><p>写作顺序：遵循 “整体→五官肤质→发型体态→服饰材质→光影画质”，逻辑清晰，画面更稳定；</p><p>真实感技巧：不要追求 “零瑕疵皮肤”，适当保留毛孔、雀斑、细纹等自然细节，远离塑料脸；</p><p>高效用法：直接套用通用模板，根据创作风格替换关键词，新手也能快速产出优质提示词。</p><p>掌握这套写作方法，你再也不用为 AI 人物千篇一律而烦恼。无论是日常人像、风格写真、复古造型还是职场人像，都能精准把控人物形象，打造出独属于你的、有灵魂、有辨识度的 AI 绘画作品。赶紧收藏模板，动手尝试吧！</p>]]></description><category>短视频技术</category><comments>http://www.imwen.com/post/361.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=361</wfw:commentRss></item><item><title>用8张图了解算力网产业链</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/360.html</link><pubDate>Wed, 10 Jun 2026 00:12:45 +0800</pubDate><guid>http://www.imwen.com/post/360.html</guid><description><![CDATA[<p>本文以通俗的方式全面解读算力网产业链，依次梳理了上游硬件元器件、机房配套设施、中游算力集群、调度平台与运营服务、下游各类行业应用三大产业链环节，分析了各环节价值分布，同时介绍了 CPU、GPU、ASIC、FPGA 四类主流算力芯片的特点、性能差异与技术演进历程，以及 HBM、先进封装等关键配套技术，完整呈现了算力网从底层硬件、算力运营到场景落地的全貌与发展逻辑。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002306388.png" width="640" height="955" border="0" hspace="0" vspace="0" title="算力网产业链全景图" style="width: 640px; height: 955px;"/><br/></p><p>整条产业链清晰划分为上游核心硬件与基础设施、中游算力基础设施与运营、下游应用与服务三大层级。上游以算力芯片、存储、先进封装等硬件为核心；中游依托服务器、智算中心、算力调度平台实现算力整合运转；下游则延伸至公有云、AIGC 以及各类行业数字化服务，三大环节层层衔接，构成完整的算力产业体系。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002344216.png" width="640" height="955" border="0" hspace="0" vspace="0" title="算力芯片与先进封装" style="width: 640px; height: 955px;"/></p><p>各类算力芯片、存储产品与高速互联组件。CPU 负责通用计算与复杂逻辑处理，GPU 是 AI 训练和推理的主力，ASIC 为定制化场景打造高能效算力，搭配 HBM 高带宽内存提升数据传输效率，同时 Chiplet、2.5D/3D 等先进封装技术进一步强化芯片集成能力，而交换芯片、交换机、光模块、DPU 等设备，共同搭建起设备间高速数据互通的网络通道。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002418935.png" width="640" height="955" border="0" hspace="0" vspace="0" title="高速互联与算网传输" style="width: 640px; height: 955px;"/></p><p>标准化高密度机柜集群依靠统一供电与高速网络，为算力设备提供部署基础；智算中心（IDC）作为高等级机房，主打大模型预训练、微调、推理等 AI 相关业务，同时兼顾绿色低碳与安全运行；除此之外，算力还服务于科研超算领域，支撑气象海洋模拟、基因测序、高能物理仿真等专业科学计算工作。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002481138.png" width="640" height="955" border="0" hspace="0" vspace="0" title="机房能源与液冷基础设施" style="width: 640px; height: 955px;"/></p><p>算力调度平台是算力网络的 “智能中枢”。平台可完成全网算力资源的编排、任务监控与弹性伸缩，能够打破不同机房、多云平台之间的壁垒，实现多算力节点协同工作。它有效整合分散的算力资源，合理分配计算任务，大幅提升整体算力资源的利用率，是实现算力灵活流转的关键平台。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002538372.png" width="640" height="955" border="0" hspace="0" vspace="0" title="AI服务器与智算中心集成" style="width: 640px; height: 955px;"/></p><p>保障算力硬件稳定运行的全品类配套设施。硬件设备的运转离不开电力与散热系统，其中 UPS 不间断电源、变压器、柴油发电机保障电力持续供应，风电、光伏等绿电助力产业低碳发展；液冷技术则解决高密度设备的散热难题，再结合标准化机柜等设施，全方位保障算力集群 7×24 小时安全、稳定、高效运行。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002629388.png" width="640" height="955" border="0" hspace="0" vspace="0" title="公有云、大模型与算力服务" style="width: 640px; height: 955px;"/></p><p>一方面介绍算网运营服务，涵盖网络运维、算力管理、服务计费等日常工作，依托规模化运营形成稳定的现金流；另一方面展示算力的下游应用场景，算力已深度融入智能制造、自动驾驶、智慧金融、智慧医疗、智慧城市、能源电力等众多领域，多元的行业需求持续拉动整个算力产业向前发展。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002708435.png" width="640" height="955" border="0" hspace="0" vspace="0" title="行业应用如何消耗算力网" style="width: 640px; height: 955px;"/></p><p>从技术壁垒、盈利模式、发展潜力等维度划分产业链价值层级。算力芯片与高速互连器件技术壁垒高、研发投入大，属于高价值环节；服务器、机柜、IDC 以集成制造为主，依靠规模效应提升收益，价值处于中等水平；算力调度平台与算网运营能够持续创造稳定收益，价值稳步提升；而各类云服务与行业应用作为需求端，是驱动全产业链发展的核心动力。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2026/6/2026061002759607.png" width="640" height="955" border="0" hspace="0" vspace="0" title="算力网市场格局与未来趋势" style="width: 640px; height: 955px;"/></p><p>芯片发展历经 CPU 单核串行、GPU 并行计算、ASIC 定制化崛起、先进封装普及四个阶段；同时对比了 GPU、CPU、ASIC、FPGA 在算力密度、带宽、能效、成本等维度的差异，其中 ASIC 算力密度与能效表现最优。此外，图中还拆解了 HBM 堆叠、2.5D/3D 封装的内部结构，点明算力芯片决定算力峰值，先进封装决定系统带宽与运行效率的核心逻辑。<br/></p>]]></description><category>AI与算力</category><comments>http://www.imwen.com/post/360.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=360</wfw:commentRss></item><item><title>上ERP/MES失败的原因，大多是因为跳过了关键的2步</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/359.html</link><pubDate>Mon, 08 Jun 2026 12:46:50 +0800</pubDate><guid>http://www.imwen.com/post/359.html</guid><description><![CDATA[<p>做制造的老板，基本都有同一个通病、同一种焦虑：身边同行都在搞数字化，我要是不跟进，是不是迟早要被行业淘汰？</p><p>就因为这个念头，很多企业老板跟风冲动，砸几百万甚至上千万，匆匆上线ERP、MES系统。大家都抱着一样的想法：只要系统装好，工厂就能自动运转，效率翻倍、利润暴涨。</p><p>可现实打脸特别快：钱实实在在花出去了，买来的系统彻底躺平。员工该用Excel还用Excel，不仅没提效，反而流程更乱、内部消耗更严重，最后活生生变成一套系统上线、一套系统作废，白白浪费资金和精力。</p><p>这里直接说句大实话：<strong>制造业数字化，没做好两件核心事，盲目上ERP、MES，基本就是白费钱、找亏吃</strong>。</p><p>并不是这些系统没用，而是绝大多数老板都搞反了数字化的底层逻辑。</p><p>真正的数字化黄金顺序是：<strong>战略→组织→流程→技术</strong>。</p><p>市面上90%的数字化失败案例，问题根源都一样：跳过了最关键的组织重构、流程梳理，一味贪快，直接跳到买系统、装软件这一步。</p><p><strong>一、先上系统，一步错、步步错</strong></p><p>很多老板对数字化有一个致命误区：以为只要上线系统，就能自动降本、自动提效。</p><p>但真实情况刚好相反：没有组织架构和业务流程做地基，贸然上线系统，不仅不会赋能工厂，反而会把企业拖进更深的管理泥潭。</p><p><strong>1、业务和系统完全脱节，只能削足适履</strong></p><p>市面上通用的ERP、MES系统，都是按照标准化、大批量的流水线模式设计的，是通用的行业模板。</p><p>但咱们实体企业根本不一样，大多都是多品种、小批量、定制化生产，改单、插单、外协代工都是家常便饭，灵活度极高。</p><p>强行套用标准化系统，最后的结果只有一个：系统适配不了真实业务，反而要让一线业务迁就死板的系统。原本灵活高效的操作，变得繁琐又僵化，简单工作越做越复杂，一线员工极度抵触，效率不升反降。</p><p><strong>2、流程没梳理，系统只会固化落后的管理</strong></p><p>没上系统之前，企业大大小小的问题、流程漏洞，还能靠老员工、管理层人工协调兜底。</p><p>一旦匆忙上线系统，线下所有的断头流程、灰色操作、管理漏洞，会原封不动地搬到线上，还被系统永久固化下来。</p><p>订单、生产、计划、仓储、采购各环节信息不通、数据脱节。系统根本做不到数据自动流转，只是把纸质单据换成了电子单据。人工工作量没减少，运营成本变高，整体效率反而更低。</p><p><strong>3、组织责任缺位，没人对最终结果负责</strong></p><p>这是制造业数字化最常见的坑：让IT部门主导数字化落地。</p><p>IT团队精通系统操作、参数调试，但完全不懂生产、不懂销售、不懂现场交付。他们只能负责搭环境、配参数，根本不懂业务痛点。</p><p>而各个业务部门，又会默认这是IT部门的项目，和自己无关，全程被动配合、冷眼旁观。</p><p>一旦系统出问题、用不起来，就开始互相甩锅：IT怪业务不会操作，业务怪系统不好用。没人兜底、没人整改，久而久之，花大价钱买的系统，就成了无人问津的摆设。</p><p><strong>4、数据严重失真，系统彻底沦为空壳</strong></p><p>没有提前统一数据标准，工厂里一物多码、一客多号、库存账实不符是常态。</p><p>系统里的数据永远滞后、错误百出，甚至有人为造假的情况，根本没法用来排产、核算、做经营决策。</p><p>最后就形成了最尴尬的局面：线下靠Excel干活、对账，线上系统数据全是废的。动辄几百万、上千万的投入，彻底打水漂。</p><p><strong>二、数字化落地的核心：先打地基，再上系统</strong></p><p>大家一定要记住：系统只是数字化的工具，绝对不是数字化的起点。</p><p>想要数字化真正落地、真正帮工厂降本提效，必须按顺序来，先把基础打牢，再谈上线系统。</p><p><strong>第一步：重构组织，先定责任人，再启动项目</strong></p><p>数字化从来不是IT项目，而是老板牵头的一把手工程、企业经营工程。没有业务端主导、没有明确权责，系统上线的那一刻，基本就注定失败。</p><p><strong>正确的做法很清晰</strong>：</p><p><strong>1. 由老板亲自挂帅</strong>，成立跨部门的数字化专项小组，生产、运营、质量、采购等所有核心业务负责人全部参与；</p><p><strong>2. 每个业务模块，明确对应的业务负责人做第一责任人</strong>，只对最终经营结果负责，不是只应付“系统顺利上线”这一个表面任务；</p><p><strong>3. 给足责任人实权</strong>，赋予预算调配、跨部门调度、考核奖惩的权力；</p><p>始终坚守一个原则：<strong>谁使用、谁负责，谁受益、谁推动</strong>。</p><p><strong>第二步：梳理流程，先定做事标准，再选系统</strong></p><p>系统的作用，是把通顺的业务流程固化下来，绝对不能反过来，让死板的系统定义你的业务、束缚你的生产。</p><p>先理顺业务，再匹配系统，这才是数字化赋能；流程乱七八糟就盲目上系统，纯粹是瞎折腾。</p><p>具体要做好这几点：</p><p>1. 从头到尾梳理完整主流程：从接单、排产、生产、质检、入库、发货到回款，全覆盖梳理；</p><p>2. 砍掉所有冗余、重复的环节，打通各环节的信息断点，杜绝人工交接的漏洞和差错；</p><p>3. 整理出清晰的系统需求清单，明确要解决哪些痛点、实现哪些效果、统一全套数据标准。</p><p>说白了：流程通，系统才能通；流程顺，数据才能准。</p><p><strong>三、最后想说的真心话</strong></p><p>企业经营数字化，慢一点就是快一点。</p><p>别被行业焦虑裹挟，看着别人做就盲目跟风，拿真金白银去试错。很多企业不是输在不想数字化，而是输在太心急、顺序全错。</p><p>先把组织架构捋顺、把业务流程做扎实，再启动ERP、MES系统落地，才能一次上线、一次成功，真正实现降本增效，提升工厂核心竞争力。</p><p>记住这句数字化真话：基础不牢，系统白搭；顺序不对，投入全废。</p>]]></description><category>数字化与技术</category><comments>http://www.imwen.com/post/359.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=359</wfw:commentRss></item><item><title>导出微信聊天记录的方法</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/358.html</link><pubDate>Thu, 04 Jun 2026 08:57:55 +0800</pubDate><guid>http://www.imwen.com/post/358.html</guid><description><![CDATA[<p>最近因为一个项目需要，要求导出微信客服聊天记录，整理成客服日志，尝试了各种办法，最终找到一个能实现微信聊天记录自定义导出的方法。</p><p>第一步，先把手机端的微信记录备份到电脑端。操作方法见手机端微信-右下角“我”-设置-聊天记录管理-备份与恢复/导入与导出。</p><p>第二步，下载并安装工具软件：&nbsp;WeFlow。下载地址（GitHub 开源，免费）https://github.com/hicccc77/WeFlow。</p><p>第三步，启动WeFlow.初始化配置（第一次打开必做）</p><p>1.启动 WeFlow，进入引导页，点 “下一步”。</p><p><img src="http://www.imwen.com/zb_users/upload/2026/6/2026060432699987.png" style="width: 450px; height: 310px;" width="450" height="310" border="0" hspace="0" vspace="0" title=""/></p><p>2.设置数据库根目录（最重要）</p><p>打开微信 PC 版 → 设置 → 账号与存储 → 存储位置，复制路径。</p><p>粘贴到 WeFlow 的 “数据库根目录”，点 “下一步”。</p><p><img src="http://www.imwen.com/zb_users/upload/2026/6/2026060433267079.png" style="width: 450px; height: 324px; float: none; display: inline;" width="450" height="324" border="0" hspace="0" vspace="0" title=""/></p><p>3.获取解密密钥（自动）</p><p>选你的微信账号（wxid）→ 点 自动获取密钥。</p><p>微信会自动重启，手机确认登录即可。(如果没有自动重启，就点击设置-退出登录，再重新扫码登录）</p><p><img src="http://www.imwen.com/zb_users/upload/2026/6/2026060433353005.png" style="width: 450px; height: 324px; float: none; display: inline;" width="450" height="324" border="0" hspace="0" vspace="0" title=""/></p><p>4.图片密钥（可选）</p><p><img src="http://www.imwen.com/zb_users/upload/2026/6/2026060433437157.png" width="450" height="317" border="0" hspace="0" vspace="0" title="" style="width: 450px; height: 317px; float: none; display: inline;"/></p><p>点 “自动获取图片密钥”，失败可忽略（不影响文字统计）。</p><p>5. 完成配置，进入主界面（也可选择设置密码，每次登录weFlow需要输入密码）</p><p>五、常见问题（避坑）</p><p>1.找不到微信数据库？</p><p>手动指定路径：</p><p>Windows：C:\Users\你的用户名\Documents\WeChat Files\你的微信号\Msg\</p><p>Mac：~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/</p><p>2。获取密钥失败？</p><p>关闭微信 → 重新打开 → 再试 “自动获取密钥” 2–3 次。</p><p>确保微信 PC 版是最新版。</p><p>3.统计结果不全？</p><p>必须先在微信 PC 版做一次完整备份，否则只能读取新记录。</p><p>4.没有图片配置，如何重新配置图片</p><p>确保 微信 PC 版已登录、聊天记录已备份，且微信不要关闭。在 WeFlow「图片密钥」页，点 自动获取图片密钥 按钮。等待 10–30 秒，提示「密钥获取成功」即可；失败重试 2–3 次。</p><p>六、快速重置（彻底重新配置）</p><p>1.关闭 WeFlow。</p><p>2.打开目录：</p><p>3.Windows：%appdata%\WeFlow\config.json</p><p>4.删除 config.json → 重启 WeFlow。</p><p>5.重新走一遍：数据库目录 → 微信账号 → 解密密钥 → 图片密钥。</p><p>注：如何找到 % appdata% 文件夹</p><p>键盘按 Win + R 弹出运行窗口，输入如下代码</p><pre class="brush:bash;toolbar:false">%appdata%</pre><p>在打开的文件夹里，往下翻，找到名叫 WeFlow 的文件夹，双击进去</p>]]></description><category>数字化与技术</category><comments>http://www.imwen.com/post/358.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=358</wfw:commentRss></item><item><title>python搭建网站访问异常监测脚本方案</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/357.html</link><pubDate>Tue, 02 Jun 2026 18:29:53 +0800</pubDate><guid>http://www.imwen.com/post/357.html</guid><description><![CDATA[<p>团队有个项目，部署在某国企的服务器上，采用了信创的架构。问题来了，极不稳定，经常发现网站访问不了，或者宕机了。于是就想自己用python做个访问脚本，只要有访问异常，就推送信息到微信上，以便及时处理。当然这个是不是以开发这个项目的技术角度来处理。只是站在用户的角度开发一个小工具，运行在本地电脑上（编者将python程序部署在阿里云服务器上）。以下描述实施步骤。</p><p>一、项目需求：</p><ul class=" list-paddingleft-2"><li><p>监测目标：B 网站</p></li><li><p>运行环境：放在 A 网站服务器（Linux/Windows 都支持）</p></li><li><p>时间规则：8点-10点，每15分钟确认一次。10点-18点每30分钟确认一次</p></li><li><p>超时判定：20 秒内未访问成功 = 异常</p></li><li><p>告警方式：自动发消息到微信</p></li></ul><h2 style="color: rgb(0, 0, 0);font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &#39;Apple Color Emoji&#39;, &#39;Segoe UI Emoji&#39;, &#39;Segoe UI Symbol&#39;, &#39;Noto Color Emoji&#39;;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;white-space: normal;display: block;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;background: none;background-color: rgba(0, 0, 0, 0)">二、准备工作（5 分钟完成）</h2><h3 style="color: rgb(0, 0, 0);font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &#39;Apple Color Emoji&#39;, &#39;Segoe UI Emoji&#39;, &#39;Segoe UI Symbol&#39;, &#39;Noto Color Emoji&#39;;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;white-space: normal;display: block;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;background: none;background-color: rgba(0, 0, 0, 0)">1. 开通微信告警（Server 酱，免费）</h3><ol style="color: rgb(0, 0, 0);font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &#39;Apple Color Emoji&#39;, &#39;Segoe UI Emoji&#39;, &#39;Segoe UI Symbol&#39;, &#39;Noto Color Emoji&#39;;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;white-space: normal;display: block;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;background: none;background-color: rgba(0, 0, 0, 0)" class=" list-paddingleft-2"><li><p>打开官网：https://sct.ftqq.com/</p></li><li><p>微信扫码登录</p></li><li><p>获取 <strong style="color: rgb(0, 0, 0);font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &#39;Apple Color Emoji&#39;, &#39;Segoe UI Emoji&#39;, &#39;Segoe UI Symbol&#39;, &#39;Noto Color Emoji&#39;;font-size: 16px;font-weight: 400;line-height: 24px;text-align: left;white-space: normal;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;background: none;background-color: rgba(0, 0, 0, 0)">SendKey</strong>（后面脚本要用到）</p></li><li><p>关注官方公众号，告警会直接推送到微信</p></li></ol><h3 style="color: rgb(0, 0, 0);font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &#39;Apple Color Emoji&#39;, &#39;Segoe UI Emoji&#39;, &#39;Segoe UI Symbol&#39;, &#39;Noto Color Emoji&#39;;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;white-space: normal;display: block;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;background: none;background-color: rgba(0, 0, 0, 0)">2. 服务器安装 Python（几乎所有服务器都自带）</h3><p>三、python源码</p><pre class="brush:python;toolbar:false">import&nbsp;time
import&nbsp;os
import&nbsp;traceback
from&nbsp;datetime&nbsp;import&nbsp;datetime
from&nbsp;selenium&nbsp;import&nbsp;webdriver
from&nbsp;selenium.webdriver.chrome.service&nbsp;import&nbsp;Service
import&nbsp;urllib.request
import&nbsp;urllib.parse

#&nbsp;======================&nbsp;【配置】&nbsp;======================
USERNAME&nbsp;=&nbsp;&quot;你的账号&quot;
PASSWORD&nbsp;=&nbsp;&quot;你的密码&quot;
SEND_KEY&nbsp;=&nbsp;&quot;你的SendKey&quot;

LOGIN_URL&nbsp;=&nbsp;&quot;B网站域名/登录地址&quot;
TARGET_URL&nbsp;=&nbsp;&quot;B网站域名&quot;
CHROME_DRIVER_PATH&nbsp;=&nbsp;r&quot;D:\python\chromedriver.exe&quot;&nbsp;#服务器安装chrome浏览器，并且检查版本后，下载chromedriver.exe并复制到该项目的位置。

#&nbsp;稳定性设置
MAX_CHECK_TIME&nbsp;=&nbsp;120&nbsp;&nbsp;#&nbsp;单次检测最大超时秒数（超过就重启）
LOG_DIR&nbsp;=&nbsp;&quot;logs&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;日志文件夹
#&nbsp;======================================================

#&nbsp;自动创建日志目录
if&nbsp;not&nbsp;os.path.exists(LOG_DIR):
&nbsp;&nbsp;&nbsp;&nbsp;os.mkdir(LOG_DIR)

#&nbsp;日志输出（自动按天生成）
def&nbsp;log(msg):
&nbsp;&nbsp;&nbsp;&nbsp;now&nbsp;=&nbsp;datetime.now()
&nbsp;&nbsp;&nbsp;&nbsp;date_str&nbsp;=&nbsp;now.strftime(&quot;%Y-%m-%d&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;time_str&nbsp;=&nbsp;now.strftime(&quot;%Y-%m-%d&nbsp;%H:%M:%S&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;log_file&nbsp;=&nbsp;os.path.join(LOG_DIR,&nbsp;f&quot;check_{date_str}.log&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;log_msg&nbsp;=&nbsp;f&quot;[{time_str}]&nbsp;{msg}&quot;
&nbsp;&nbsp;&nbsp;&nbsp;print(log_msg)
&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;open(log_file,&nbsp;&quot;a&quot;,&nbsp;encoding=&quot;utf-8&quot;)&nbsp;as&nbsp;f:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.write(log_msg&nbsp;+&nbsp;&quot;\n&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;except:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass

#&nbsp;微信推送
def&nbsp;send_wechat(title,&nbsp;desp):
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;SEND_KEY:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return
&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;urllib.parse.urlencode({&quot;title&quot;:&nbsp;title,&nbsp;&quot;desp&quot;:&nbsp;desp}).encode()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;req&nbsp;=&nbsp;urllib.request.Request(f&quot;https://sctapi.ftqq.com/{SEND_KEY}.send&quot;,&nbsp;data=data)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;urllib.request.urlopen(req,&nbsp;timeout=10):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass
&nbsp;&nbsp;&nbsp;&nbsp;except:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(&quot;微信推送失败&quot;)

#&nbsp;浏览器启动
def&nbsp;get_driver():
&nbsp;&nbsp;&nbsp;&nbsp;options&nbsp;=&nbsp;webdriver.ChromeOptions()
&nbsp;&nbsp;&nbsp;&nbsp;options.add_argument(&quot;--no-sandbox&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;options.add_argument(&quot;--disable-gpu&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;options.add_argument(&quot;--disable-dev-shm-usage&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;options.add_experimental_option(&quot;excludeSwitches&quot;,&nbsp;[&quot;enable-automation&quot;,&nbsp;&quot;enable-logging&quot;])
&nbsp;&nbsp;&nbsp;&nbsp;service&nbsp;=&nbsp;Service(CHROME_DRIVER_PATH)
&nbsp;&nbsp;&nbsp;&nbsp;driver&nbsp;=&nbsp;webdriver.Chrome(service=service,&nbsp;options=options)
&nbsp;&nbsp;&nbsp;&nbsp;driver.implicitly_wait(20)
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;driver

#&nbsp;检测任务
def&nbsp;check():
&nbsp;&nbsp;&nbsp;&nbsp;driver&nbsp;=&nbsp;None
&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(&quot;开始检测...&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driver&nbsp;=&nbsp;get_driver()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driver.get(LOGIN_URL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(5)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driver.get(TARGET_URL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(3)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;=&nbsp;driver.current_url
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&quot;login&quot;&nbsp;not&nbsp;in&nbsp;url.lower():
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(&quot;✅&nbsp;访问正常（已绕过412）&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;True
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(&quot;❌&nbsp;未登录成功&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;send_wechat(&quot;网站告警&quot;,&nbsp;&quot;未登录成功，可能会话失效&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;False

&nbsp;&nbsp;&nbsp;&nbsp;except&nbsp;Exception&nbsp;as&nbsp;e:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;str(e)[:100]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(f&quot;❌&nbsp;检测异常：{err}&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;send_wechat(&quot;网站监测异常&quot;,&nbsp;f&quot;错误：{err}&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;False

&nbsp;&nbsp;&nbsp;&nbsp;finally:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;driver:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driver.quit()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass

#&nbsp;时间策略
def&nbsp;sleep_time():
&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;=&nbsp;datetime.now().hour
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;8&nbsp;&lt;=&nbsp;h&nbsp;&lt;&nbsp;10:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;15&nbsp;*&nbsp;60
&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;10&nbsp;&lt;=&nbsp;h&nbsp;&lt;&nbsp;18:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;30&nbsp;*&nbsp;60
&nbsp;&nbsp;&nbsp;&nbsp;else:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;60&nbsp;*&nbsp;60

#&nbsp;看门狗：超时自动重启
def&nbsp;run_with_watchdog():
&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;True:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start&nbsp;=&nbsp;time.time()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cost&nbsp;=&nbsp;int(time.time()&nbsp;-&nbsp;start)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(f&quot;单次检测完成，耗时{cost}秒&quot;)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;超时保护
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;cost&nbsp;&gt;&nbsp;MAX_CHECK_TIME:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(f&quot;⚠️&nbsp;检测超时({cost}秒)，即将重启&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os._exit(1)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(f&quot;⚠️&nbsp;程序崩溃，准备重启：{traceback.format_exc()[:100]}&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(5)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;等待下一轮
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wait&nbsp;=&nbsp;sleep_time()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log(f&quot;等待&nbsp;{wait//60}&nbsp;分钟后下次检测\n&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(wait)

if&nbsp;__name__&nbsp;==&nbsp;&quot;__main__&quot;:
&nbsp;&nbsp;&nbsp;&nbsp;log(&quot;=====&nbsp;网站监测服务启动（稳定版&nbsp;+&nbsp;日志&nbsp;+&nbsp;自动重启）=====&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;run_with_watchdog()</pre><p>四、说明</p><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><h3 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">1. <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">自动日志</strong></h3></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><ul style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);" class=" list-paddingleft-2"><li><p>每天自动生成一个 log 文件</p></li><li><p>路径：<code style="color: rgb(0, 0, 0); font: 16px / 24px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 16px; font-weight: 400; line-height: 24px; text-align: left; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">logs/check_2026-06-02.log</code></p></li><li><p>记录：启动、成功、失败、错误、耗时</p></li></ul></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><h3 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">2. <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">崩溃自动重启</strong></h3></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><ul style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);" class=" list-paddingleft-2"><li><p>浏览器崩了 → 自动重启</p></li><li><p>网络异常 → 自动重试</p></li><li><p>不中断监测</p></li></ul></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><h3 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">3. <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">卡死自动重启</strong></h3></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><ul style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);" class=" list-paddingleft-2"><li><p>超过 <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: left; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">120 秒没反应</strong> → 强制重启</p></li><li><p>彻底杜绝卡死不动</p></li></ul></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><h3 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">4. <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">不重复启动</strong></h3></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><ul style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);" class=" list-paddingleft-2"><li><p>安全单例运行</p></li><li><p>不会开一堆浏览器</p></li></ul></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><h3 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">5. <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">异常自动告警</strong></h3></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><ul style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);" class=" list-paddingleft-2"><li><p>登录失败 → 告警</p></li><li><p>页面打不开 → 告警</p></li><li><p>程序崩溃 → 告警</p></li></ul></div><p><br/></p><p>五、补充说明：开机自启动python文件</p><p>1、创建一个启动脚本</p><p>2、新建一个文本文件，输入内容</p><pre class="brush:python;toolbar:false">Set&nbsp;WshShell&nbsp;=&nbsp;CreateObject(&quot;WScript.Shell&quot;)
WshShell.Run&nbsp;&quot;py&nbsp;main.py&quot;,&nbsp;0
Set&nbsp;WshShell&nbsp;=&nbsp;Nothing</pre><p>3、把文本文件另存为：<code style="color: rgb(0, 0, 0); font: 16px / 24px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">start.vbs</code>（保存类型：所有文件，编码：ANSI）</p><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);"><h2 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">4、把这个 vbs 放到<strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">开机启动文件夹：</strong></h2></div><div style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none;"><h2 style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: block; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">①按win+r</h2><p>②输入</p><pre class="brush:ps;toolbar:false">shell:startup</pre><p>③把 <code style="color: rgb(0, 0, 0); font: 16px / 24px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">start.vbs</code> 拖进去，完成：服务器开机 → <strong style="color: rgb(0, 0, 0); font: 16px / 24px ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-align: start; white-space: normal; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none; background-color: rgba(0, 0, 0, 0);">自动后台运行脚本</strong> → 自动定时检测 → 异常微信告警。</p><p><br/></p><p>以上就是全部过程。结果如下</p><p><img src="http://www.imwen.com/zb_users/upload/2026/6/2026060267622529.png" width="420" height="275" border="0" hspace="0" vspace="0" title="" style="width: 420px; height: 275px;"/><br/></p></div>]]></description><category>数字化与技术</category><comments>http://www.imwen.com/post/357.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=357</wfw:commentRss></item><item><title>般若波罗蜜多心经全文</title><author>1135750302@qq.com (小陌)</author><link>http://www.imwen.com/post/356.html</link><pubDate>Sat, 25 Oct 2025 00:40:44 +0800</pubDate><guid>http://www.imwen.com/post/356.html</guid><description><![CDATA[<p>观自在菩萨，行深般若波罗蜜多时，照见五蕴皆空，度一切苦厄。</p><p>舍利子，色不异空，空不异色，色即是空，空即是色，受想行识亦复如是。</p><p>舍利子，是诸法空相，不生不灭，不垢不净，不增不减。</p><p>是故空中无色，无受想行识，无眼耳鼻舌身意，无色声香味触法，无眼界乃至无意识界，无无明亦无无明尽，乃至无老死，亦无老死尽，无苦集灭道，无智亦无得，以无所得故。</p><p>菩提萨埵，依般若波罗蜜多故，心无挂碍；无挂碍故，无有恐怖，远离颠倒梦想，究竟涅槃。</p><p>三世诸佛，依般若波罗蜜多故，得阿耨多罗三藐三菩提。</p><p>故知般若波罗蜜多，是大神咒，是大明咒，是无上咒，是无等等咒，能除一切苦，真实不虚。</p><p>故说般若波罗蜜多咒，即说咒曰：揭谛揭谛，波罗揭谛，波罗僧揭谛，菩提萨婆诃。</p>]]></description><category>散文随笔</category><comments>http://www.imwen.com/post/356.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=356</wfw:commentRss></item><item><title>[技能亲测]批量调整Word文档中的图片大小</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/355.html</link><pubDate>Wed, 02 Apr 2025 10:35:08 +0800</pubDate><guid>http://www.imwen.com/post/355.html</guid><description><![CDATA[<p>时常需要在word中处理图片，比如批量调整图片大小。这时候一个个图片处理，费时费力。那么，就需要用到批量功能。批量调整Word文档中的图片大小可以通过以下方法实现，具体分为 <strong>同一文档内批量处理</strong> 和 <strong>跨多个文档批量处理</strong> 两种场景。</p><h3>一、同一Word文档内的图片批量调整</h3><h4>方法1：使用VBA宏（推荐）</h4><ol start="1" class=" list-paddingleft-2"><li><p><strong>启用开发者工具</strong></p></li><ul class=" list-paddingleft-2"><li><p>打开Word文档，按 <code>Alt + F11</code> 打开VBA编辑器。</p></li><li><p>如果没有开发者选项卡，需在Word设置中启用：<br/><code>文件 → 选项 → 自定义功能区 → 勾选“开发工具”</code>。</p></li></ul><li><p><strong>插入并运行宏</strong></p></li><ul class=" list-paddingleft-2"><li><p>在VBA编辑器中，右键左侧项目 → 插入 → <strong>模块</strong>，粘贴以下代码：</p></li></ul><ul class=" list-paddingleft-2"><li><pre class="brush:vb;toolbar:false">Sub&nbsp;ResizeAllPictures()
&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;pic&nbsp;As&nbsp;InlineShape
&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;Each&nbsp;pic&nbsp;In&nbsp;ActiveDocument.InlineShapes
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;pic.Type&nbsp;=&nbsp;wdInlineShapePicture&nbsp;Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;&nbsp;设置图片宽度为10厘米（按需修改数值）
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pic.Width&nbsp;=&nbsp;CentimetersToPoints(10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;&nbsp;锁定纵横比（若需固定比例，取消下一行注释）
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;&nbsp;pic.LockAspectRatio&nbsp;=&nbsp;msoTrue
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If
&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;pic
End&nbsp;Sub</pre></li></ul><ul class=" list-paddingleft-2"><li><p>以上代码，留意注释内容。</p><p><strong>按 F5 运行宏</strong>，文档内所有图片将自动调整宽度为10厘米（数值可自定义）。</p><p><br/></p></li></ul></ol><h4>方法2：手动批量调整（无需代码）</h4><ol start="1" class=" list-paddingleft-2"><li><p><strong>全选图片统一调整</strong></p></li><ul class=" list-paddingleft-2"><li><p>按 <code>Ctrl + H</code> 打开替换功能 → 点击“更多” → 选择“特殊格式” → <strong>“图形”</strong>。</p></li><li><p>关闭替换窗口，此时所有图片已被选中。</p></li><li><p>右键任意图片 → 选择“大小和位置” → 输入所需尺寸（如高度、宽度）→ 确认。</p></li></ul><li><p><strong>压缩所有图片（减少文件体积）</strong></p></li><ul class=" list-paddingleft-2"><li><p>双击任意图片 → 顶部菜单点击“图片格式” → “压缩图片” → 勾选“所有图片” → 选择分辨率（如150ppi）。</p></li></ul></ol><h3>二、批量处理多个Word文档的图片</h3><p>如果需要处理多个Word文件，可通过以下方式自动化：</p><h4>方法1：Python脚本（需安装库）</h4><p>这个需要一定的编程能力，会Python编程工具语言，那么，可以使用 <code>python-docx</code> 库批量处理：</p><ol start="1" class=" list-paddingleft-2"><li><p>安装库：<code>pip install python-docx</code></p></li><li><p>运行脚本：</p></li><li><pre class="brush:python;toolbar:false">from&nbsp;docx&nbsp;import&nbsp;Document
import&nbsp;os

folder_path&nbsp;=&nbsp;&quot;你的文档文件夹路径&quot;
for&nbsp;filename&nbsp;in&nbsp;os.listdir(folder_path):
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;filename.endswith(&quot;.docx&quot;):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc&nbsp;=&nbsp;Document(os.path.join(folder_path,&nbsp;filename))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;pic&nbsp;in&nbsp;doc.inline_shapes:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pic.width&nbsp;=&nbsp;5000000&nbsp;&nbsp;#&nbsp;单位：EMU（1厘米≈360000&nbsp;EMU）
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc.save(os.path.join(folder_path,&nbsp;&quot;modified_&quot;&nbsp;+&nbsp;filename))</pre></li></ol><h4>方法2：第三方工具</h4><ul class=" list-paddingleft-2"><li><p><strong>Kutools for Word</strong>：提供批量处理功能（付费）。</p></li><li><p><strong>Word批量处理工具</strong>：如“Word批量大师”（需下载）。</p></li></ul><h3>注意事项</h3><ol start="1" class=" list-paddingleft-2"><li><p><strong>锁定纵横比</strong>：调整时勾选“锁定纵横比”避免图片变形。</p></li><li><p><strong>图片压缩</strong>：调整大小后建议压缩图片，减少文档体积。</p></li><li><p><strong>备份文件</strong>：操作前备份原始文档，避免误操作。</p></li></ol><p>通过上面的介绍，可以掌握基本的word文档中图片批量处理的方法，其中宏方法是办公软件常用的方法，Python是有一定编程能力基础很好用的一个方案。</p>]]></description><category>数字化与技术</category><comments>http://www.imwen.com/post/355.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=355</wfw:commentRss></item><item><title>[技能]电脑蓝屏0x00000024原因和解决办法</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/354.html</link><pubDate>Thu, 13 Mar 2025 10:36:12 +0800</pubDate><guid>http://www.imwen.com/post/354.html</guid><description><![CDATA[<p>刚写完一个excel表格中把部分字符替换为星号的操作技巧的文章，就遇到同事报电脑故障。过去一看，系统修复，但是不成功，于是重启，发现蓝屏0x00000024。这个问题也不大，解决方案比较简单。</p><p>电脑蓝屏0x00000024是一个错误代码，通常表示硬盘频繁读取或者有损坏。当然，这个错误也可能由杀毒等恶意软件造成。</p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2025/3/2025031338803137.png" width="600" height="261" border="0" hspace="0" vspace="0" title="蓝屏0x00000024" style="width: 600px; height: 261px;"/></p><p>0x00000024蓝屏错误的解决方法有多种：</p><ol style="list-style-type: decimal;" class=" list-paddingleft-2"><li><p>重启电脑，开机的时候选修复模式（行得通就最好了，行不通往下走）</p></li><li><p>如果可以进系统，首先关闭磁盘镜像软件和杀毒软件。（这个大概率很难）</p></li><li><p>如果无法进入系统，需要制作一个U盘启动盘，通过进入PE系统来修复错误。（如果手上有U盘启动盘，可拿来主义，没有的话，就只能用另一台电脑做一个了）</p></li><li><p>使用PE系统带的Finaldata文件恢复工具对C盘进行扫描，然后运行chkdsk c:/f命令。重点是运行这个指令：左下角，开始，运行cmd，输入chkdsk c:/f回车。</p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2025/3/2025031338902405.png" width="432" height="144" border="0" hspace="0" vspace="0" title="解决电脑蓝屏0x00000024的简单方法" style="width: 432px; height: 144px;"/></p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2025/3/2025031338988185.jpg" width="606" height="456" border="0" hspace="0" vspace="0" title="解决电脑蓝屏0x00000024的简单方法" style="width: 606px; height: 456px;"/></p><p>执行完，重启后，耐心等待系统修复，问题解决。</p></li><li><p>如果以上方法都不可以解决问题，可以尝试重装系统。</p></li></ol><div><p>以上就是解决电脑蓝屏0x00000024的简单方法了。可能会被制作U盘启动盘难道，可以问问度娘或者其他AI工具。</p></div>]]></description><category>文玑阁</category><comments>http://www.imwen.com/post/354.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=354</wfw:commentRss></item><item><title>Excel表格中，把指定字符或者最后几个数字都变为星号</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/353.html</link><pubDate>Thu, 13 Mar 2025 10:16:01 +0800</pubDate><guid>http://www.imwen.com/post/353.html</guid><description><![CDATA[<p>Excel表格操作中，我们经常遇到需要将一列单元格里面的字符或者数字，部分内容隐藏或者转换为*星号隐藏，这时候，用公式可以很快完成替换星号。</p><p>可以用到两个公式</p><p>第一个：=REPLACE(A1,4,4,&quot;***&quot;)，其中A1表示需要被替换星号的单元格，第一个4表示按顺序第4个字符开始，第二个4表示连续4个字符要被替换成星号，双引号里面的星号表示被替换成的内容。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2025/3/2025031337450857.png" width="603" height="113" border="0" hspace="0" vspace="0" title="Excel表格，字符替换成星号" style="width: 603px; height: 113px;"/></p><p>第二个：=SUBSTITUTE(B1,RIGHT(B1,3),&quot;***&quot;)，其中B1表示需要被替换星号的单元格，3表示倒数3个字符要被替换。双引号里面的型号表示要被替换成的内容。</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2025/3/2025031337613449.png" width="602" height="153" border="0" hspace="0" vspace="0" title="Excel表格中字符替换成星号" style="width: 602px; height: 153px;"/></p><p>以上两个公式可以满足大多数隐藏Excel表格中，部分单元格字符的需求，星号*也可以换成其他字符，例如：“我是隐藏内容”</p><p style="text-align: center;"><img src="http://www.imwen.com/zb_users/upload/2025/3/2025031337777357.png" width="609" height="174" border="0" hspace="0" vspace="0" title="Excel表格中，隐藏部分字符为星号的技巧" style="width: 609px; height: 174px;"/></p>]]></description><category>文玑阁</category><comments>http://www.imwen.com/post/353.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=353</wfw:commentRss></item><item><title>[技能]如何编辑被保护的word？</title><author>1135750302@qq.com (文玑阁)</author><link>http://www.imwen.com/post/352.html</link><pubDate>Tue, 31 Jan 2023 10:15:12 +0800</pubDate><guid>http://www.imwen.com/post/352.html</guid><description><![CDATA[<p>1、首先我们打开文档，发现文档是保护状态，我们无法编辑。</p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2023/1/2023013137047213.png" title="如何编辑被保护的word" style="width: 427px; height: 227px;" width="427" vspace="0" hspace="0" height="227" border="0"/></p><p>2、这时，我们要将文档另存为，方法为：菜单栏 
文件-另存为。</p><p>3、单击另存为，弹出另存为对话框，我们在保存类型中选择word 
XML文档格式，保存到桌面。</p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2023/1/2023013137176369.png" title="如何编辑被保护的word" style="width: 453px; height: 360px;" width="453" vspace="0" hspace="0" height="360" border="0"/></p><p>4、这时，可以关闭当前的word文档。我们主要对刚才另存为的word文档操作。在桌面我们选中刚才保存的文档，单击右键，选择打开方式为
 
记事本或者浏览器打开。两种的操作方法一样，这里鉴于每个电脑浏览器的不同，我们选择记事本打开，浏览器操作一样。</p><p>5、选择记事本打开，利用查找功能，查找
 &lt;w:documentProtection&gt;</p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2023/1/2023013137470353.png" title="如何编辑被保护的word" style="width: 450px; height: 250px;" width="450" vspace="0" hspace="0" height="250" border="0"/></p><p>6、查找 &lt;w:documentProtection，查找到后，我们需要对此进行修改，加前缀un，修改为 &lt;w:undocumentProtection ，加un后，保存退出。</p><p style="text-align:center"><img src="http://www.imwen.com/zb_users/upload/2023/1/2023013137517149.png" title="编辑被保护的word" style="width: 450px; height: 228px;" width="450" vspace="0" hspace="0" height="228" border="0"/></p><p>7、保存退出后。</p><p>8、保存退出后，我们再次选择打开方式为word打开，这是我们便可以再此编辑。<br/></p>]]></description><category>数字化与技术</category><comments>http://www.imwen.com/post/352.html#comment</comments><wfw:commentRss>http://www.imwen.com/feed.asp?cmt=352</wfw:commentRss></item></channel></rss>
