求推荐几本理性投资的书
2. 经融,投资科普性质,人物传记,小说都可以
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
最近让我们办护照,感觉挺急的,然后要我们出差,目前只说短期,具体的工作事宜,和时间没说,
我们都想拒绝这个出差
假如因此为理由裁掉,是否违法
因为根据目前掌握的相关法律来说
如果没法证明安排不合理,你又没有足够正当的理由去拒绝的话,性质会变成员工违反劳动义务了。
就不存在违法解除了
op 目前的方案:1 ,刷 v 站,2 ,mac 投屏 iphone 玩手机,3 ,把一些书转为 txt 文本,然后用 ai 写了个 vscode 插件,在编辑器底部状态栏偷偷看书 。
有没有佬还有其他方案,让我借鉴借鉴。😄
苹果 13,目前是 iso 18.7.2
在海量数据并行、多维度信息交织的数字化协作中,信息的存储往往呈现深层目录化,导致关键逻辑被遮蔽。若缺乏有效的横向铺展与视觉对齐,常常会导致以下问题: 此时,引入一款全景展示、逻辑并列、视觉可穿透的平铺式信息展开工具,可以显著提高团队的信息处理效率与全局掌控能力。 二、 平铺式信息展开的典型推进路径 三、 5款值得一试的平铺式信息展开工具(精选推荐) 无限平铺画布 + 自由视觉关联 水平多列布局 + 结构化信息平铺 多维数据平铺 + 参数化视觉索引 经典水平流转看板 + 视觉优先级标注 文档容器平铺 + 页面级信息展开 四、 平铺式信息展开机制设计建议 五、 Q\&A:关于平铺式信息展开你可能遇到的问题 Q1:信息平铺得太多,导致屏幕装不下怎么办? A:建议利用工具的“折叠/收纳”功能处理低频信息,或使用“语义缩放”技术,在高倍率下仅显示核心标题。 Q2:如何防止平铺后的信息变得散乱? A:设定明确的排布基准线(如按时间、按职能或按逻辑流向),并利用辅助线或网格进行对齐约束。 Q3:平铺视图下如何处理信息的先后依赖关系? A:配合使用连线工具(Connector)或磁吸逻辑,确保平铺单元在视觉上形成清晰的逻辑链条。 Q4:多人同时在平铺画布上操作会冲突吗? A:推荐使用支持多人实时协作且具备光标追踪功能的工具(如 Miro、板栗看板),以确保团队感知的实时对齐。 六、 结语 平铺式展开是穿透复杂信息层级的有力手段。 它不仅解决了“关键信息被掩埋”的问题,更通过开阔的水平视觉架构,将企业的每一次数据沉淀转化为可以一览无余、极速扫描的执行场景。 板栗看板、Miro、Trello 等工具提供了不同维度的水平平铺能力,让复杂关系变得直观,让决策依据变得触手可及。建议根据信息的结构化程度、协作频次以及视觉延展需求选择适合的展开方式。 在开阔的视域中捕捉关联,是提升决策效率的捷径。一、 为什么需要平铺式信息展开工具?
---
---
1. Miro / FigJam
2. 板栗看板
3. Airtable (Gallery/Grid View)
4. Trello
5. Notion (Board / Gallery View)
---
---
---
近日,openKylin Wine助手迎来V5.0版本更新。本次升级不仅聚焦于简化安装流程,更围绕容器管理、软件卸载、系统兼容性与稳定性进行多维增强,并新增对磐石系统的兼容支持,致力于为用户在开源生态中提供更顺畅、高效的Wine应用程序使用体验。
其中,核心亮点之一是引入“一键安装”功能,让用户无需复杂操作,就能快速完成安装,极大提升了使用便捷性,为用户带来更流畅的体验,下面将为大家着重介绍。
一、环境准备
二、安装
在软件商店中搜索“openKylin Wine助手”,点击安装按钮即可开始安装流程。
基于网站(https://gitee.com/openkylin/compat-winapp/releases)获取最新发行版本后。得到压缩包wine-assistant-xxx.tar.gz。解压安装包后,双击安装wine-assistant安装包。
三、设置默认容器
在openKylin Wine助手的容器管理界面,容器名称前标注星号的是当前默认容器,一键安装的应用会装入此容器。若未预设默认容器,一键安装时系统将自动生成一个名为“default”的容器。若要切换默认容器,只需右键单击目标容器名称选择即可。

四、一键安装
无需启动openKylin Wine助手,直接双击安装包(exe/msi格式)即可开始一键安装流程,页面依次显示“初始化环境中”、“检查默认容器”、“创建默认容器”、“创建容器成功”及“运行执行程序”,最终将应用安装至该容器,若已设置默认容器,则跳过创建步骤。以植物大战僵尸为例,从官网下载安装包,双击启动一键安装(安装openKylin Wine助手后若又装了同类软件,运行时需右键选“打开方式”中的 wine助手,若觉每次选择繁琐,可将wine助手设为默认启动方式)。安装过程中,用户可根据个人需求,灵活调整安装信息。
初始化环境
检查默认容器
创建默认容器
运行执行程序
进入安装界面
安装完成
此时打开openKylin Wine助手,可以在软件管理列表看到
点击“启动”按钮,即可启动该应用如果启动软件时遇到字体缺失等问题,可以在“容器管理-default容器-Wine配置-其他组件”选择安装相应的字体。此外,openKylin Wine助手还涵盖了其他适配软件所必需的组件,具体信息请参考用户手册。感兴趣的小伙伴赶快试一试吧~
开发者朋友们大家好: 这里是 「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度的观点」、「有看点的活动」,但内容仅代表编辑的个人观点,欢迎大家留言、跟帖、讨论。 本期编辑:@瓒an、@鲍勃 1、百度发布「文心 5.0」正式版:2.4 万亿参数 MoE 架构,实现原生全模态统一建模 在文心 Moment 大会上,百度正式上线「文心 5.0」大模型,采用 2.4 万亿参数的超大规模 MoE 架构。该模型放弃了业界主流的多模态后期融合方案,通过原生全模态统一建模技术,实现了跨模态特征的深度融合,在 LMArena 文本与视觉榜单中位列中国模型首位。 模型已正式上线。个人用户可通过文心一言官网或 APP 体验;企业级用户与开发者可通过百度千帆平台调用 API。 (@智东西) 2、开源智能体「Clawdbot」走红:支持本地 7x24h 运行,具备系统 Shell 权限与长时记忆 开发者 Peter Steinberger 开源的「Clawdbot」通过本地网关架构,将 Claude、GPT 等 LLM 转化为具备 OS 级权限的 7x24h 智能体。它支持通过 WhatsApp、iMessage 等即时通讯工具远程驱动本地环境,实现了从「对话框 AI」到「自主执行器」的转变。 项目已在 GitHub 开源(stars 突破 26k),支持 Mac、Windows、Linux 或 VPS 部署。 官网链接: demo 链接: GitHub: (@新智元) 1、苹果将于 2 月份发布基于 Gemini 架构的 Siri 语音助手 据彭博社报道,由 Google Gemini 技术深度驱动的新一代 Siri 最快下个月开始在 iOS 26.4 测试版上亮相,同时重构多项核心应用的 AI 体验。 彭博社记者马克・古尔曼昨天在《Power On》专栏中指出,苹果在 2025 年中期已开始与多家模型供应商接触,包括 Anthropic 与 OpenAI,但前者报价过高,后者则因积极挖角苹果工程师及硬件布局而存在战略冲突。 最终,苹果选择 Gemini,部分原因还包括去年 9 月美国法院裁定无需拆分苹果与 Google 的搜索合作关系,为双方进一步合作扫清障碍。 具体时间点方面,古尔曼认为,首批由 Gemini 支持的 Siri 功能将随 iOS 26.4 在下月进入测试阶段,并计划于今年 3 月至 4 月间正式推送。 该版本 Siri 将运行在苹果的 Private Cloud Compute 服务器上,内部代号为 Apple Foundation Models version 10,规模约为 1.2 万亿参数。 更大幅度的升级将在今年 WWDC 亮相。苹果正开发代号「Campos」的全新 Siri 架构,将在 iOS 27、iPadOS 27 与 macOS 27 中推出,具备更强的上下文理解、持续对话能力,并深度整合至 Safari、TV、Health、Music、播客等核心应用。 与此同时,苹果内部的 AI 组织也在经历重大调整。随着原机器学习与人工智能战略高级副总裁约翰・吉安南德雷亚离职,软件工程负责人克雷格・费德里吉接管 AI 方向,并推动与 Google 的合作落地。 部分原有项目,如基于内部模型的「全球知识问答」与 AI 版 Safari 升级计划已被缩减或暂停,但仍可能在 WWDC 前重启。 报道还提到,苹果正讨论让未来版本的 Siri 直接运行在 Google 云端的 TPU 上,以提升性能与响应速度。同时,苹果仍在开发更高性能的自研服务器,以支持长期的云端 AI 布局。 苹果自去年推出 Apple Intelligence 以来,新增的 AI 功能相对有限,仅在 Apple Music 与 Apple Watch 等应用中上线少量更新。 随着内部模型研发受阻、人才流失加剧,以及 Siri 延宕多时的升级计划迟迟未能落地,苹果在去年下半年重新评估其 AI 路线,并最终决定与 Google 达成合作,将 Gemini 引入 Siri 与 Apple Intelligence 的底层架构。 随着新一代 Siri 即将亮相,苹果正试图在生成式 AI 竞争中缩小与 ChatGPT、Gemini 等产品的差距。 ( @APPSO) 2、银河通用成为 2026 春晚指定具身大模型机器人 昨天,中央广播电视总台和银河通用机器人共同宣布,银河通用机器人成为 2026 年春节联欢晚会指定具身大模型机器人。 银河通用机器人表示,公司长期聚焦具身大模型与人形机器人研发,已形成覆盖零售、工业、医疗、文旅等多行业的「机器人服务生态」。 公司通过自研具身大模型体系与高可靠人形机器人本体,在复杂场景中展现出自主决策、泛化能力与抗干扰性能,为人机协作提供可规模化落地的技术路径。 近期,银河通用完成 3 亿美元融资,估值突破 30 亿美元,继续位列国内具身智能企业前列。公司表示,将借助春晚这一国家级舞台展示具身智能的前沿成果,并以更具温度的交互体验呈现科技创新的现实价值。 随着春节临近,银河通用的人形机器人已在零售、文旅等场景以多种形式亮相,从太空舱咖啡服务到地方特色舞蹈表演,成为今年「科技年味」的重要组成部分。 ( @APPSO) 3、前 Google 团队创办 Sparkli:已完成 500 万美元融资,用生成式 AI 重构儿童「沉浸式」学习体验 由前 Google Area 120 内部孵化器核心成员联合创办的教育科技初创公司 Sparkli,旨在解决通用大模型在儿童教育场景中文本堆砌的交互痛点。公司已完成由瑞士风投 Founderful 领投的 500 万美元 Pre-Seed 轮融资。 核心产品逻辑与差异化: 安全护栏与教学法融合: 商业化进展与路线图: ( @TechCrunch) 4、Interactpitch:交互式 AI 演示,实时数据追踪 Interactpitch 将静态融资演示文稿转化为由 AI 智能体引导的交互式体验。通过集成自定义虚拟人和实时数据追踪,该工具允许创始人在正式会议前通过 AI 与投资者进行异步沟通,并获取关于观众关注点、参与深度及潜在问题的结构化反馈。 相关链接: ( @Product Hunt) 1、雷蛇 CEO:我们投了 6 亿美元,但玩家还是讨厌生成式 AI 雷蛇 CEO 陈民亮近日在 The Verge 旗下播客节目《Decoder》中谈及游戏行业对生成式 AI 的普遍反感情绪,并回应公司在 AI 方向上的大规模投入。 他表示,雷蛇已在 AI 技术上累计投入约 6 亿美元,但玩家对低质量生成式内容的排斥依旧强烈,这也是当前行业矛盾的核心。 陈民亮指出,玩家真正不满的是「生成式 AI 产出的垃圾内容」,包括角色模型畸形、剧情质量低下等问题。 他强调,雷蛇与玩家立场一致,反对以少量提示词批量生成低质量内容。他认为 AI 的价值应体现在「辅助开发者」而非「替代创作」,例如提升 QA 测试效率、自动记录 Bug、检查拼写错误等,这些都能帮助开发者更快、更好地完善游戏。 在节目中,陈民亮进一步解释了雷蛇的 AI 战略。他透露,公司计划招聘 150 名 AI 工程师,并将 AI 视为一场长期押注,希望借此抵御市场炒作周期与玩家情绪波动。 他同时强调,雷蛇的 AI 布局并非局限于生成式内容,而是贯穿硬件、软件与服务生态,包括智能耳机 Motoko、AI 角色 Ava 等概念产品。 对于外界关注的 AI 安全与情感依赖问题,陈民亮表示,Ava 目前仍处于概念阶段,公司会在正式推出前持续收集反馈并强化安全机制。 他强调,雷蛇不会鼓励用户与 AI 角色建立情感依赖关系,产品的核心目标仍是提供实用价值与更自然的交互体验。 在硬件层面,他提到行业正面临内存与 GPU 成本上涨的压力,雷蛇尚无法确定未来产品的最终定价。 此外,他认为 AI 将成为未来硬件的重要组成部分,但雷蛇的策略是通过开放、多模型支持与自研上下文系统,构建面向玩家的垂直生态,而非与模型提供商直接竞争。 ( @APPSO) 阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么 写在最后: 我们欢迎更多的小伙伴参与 「RTE 开发者日报」 内容的共创,感兴趣的朋友请通过开发者社区或公众号留言联系,记得报暗号「共创」。 对于任何反馈(包括但不限于内容上、形式上)我们不胜感激、并有小惊喜回馈,例如你希望从日报中看到哪些内容;自己推荐的信源、项目、话题、活动等;或者列举几个你喜欢看、平时常看的内容渠道;内容排版或呈现形式上有哪些可以改进的地方等。 作者提示: 个人观点,仅供参考
01 有话题的技术





https://clawd.bot
https://clawd.bot/showcase
https://github.com/clawdbot/clawdbot02 有亮点的产品


03 有态度的观点




在人工智能大规模进入产业实践的进程中,2026 年被普遍视为一个关键拐点。 这不是交互形态的升级,而是系统架构与价值逻辑的根本变化。 过去,AI 更多以“外挂”的形式存在: 而今天,AI 正在被直接编排进系统内部逻辑之中。 当 AI 成为系统能力时,它不再依附于按钮或对话框,而是作为底层引擎参与决策、调度与执行,自动响应业务状态的变化,形成完整的运行回路。 系统开始“自己做事”,而不是“等人操作”。 1. 推理能力的工程化落地 AI 不再只是生成内容,而是能够对任务进行结构化拆解,处理具备因果关系的业务判断节点。 2. 组织级记忆的接入 通过检索增强与私有知识融合,AI 能够实时访问企业数据、历史决策与合规规则。 3. 执行能力形成闭环 当 AI 可以直接调用系统工具、操作业务接口、完成动作并接收结果反馈时,它便具备了独立完成任务的能力。 当 AI 成为系统能力,业务系统的构建方式随之改变: 一个系统是否先进,已不取决于集成了多少 AI 功能,而在于: 企业数字化的终点,并不是为每个人配置一个“更聪明的助手”, AI 从工具走向能力,是生产力工具向生产要素转变的必然路径。
AI 的角色,正在从被调用的“外部工具”,转变为驱动业务运行的“系统级能力”。一、从工具到能力:AI 的位置正在发生变化
被用户主动唤起,输出建议、文本或分析结果,再由人类判断与执行。二、三项底层能力,让 AI 进入系统核心
当推理具备稳定性,AI 才能被允许进入关键流程。
这使 AI 从通用模型,转变为具备岗位上下文的系统组成部分。
智能体来了,系统开始具备自主完成工作的可能性。三、业务逻辑的重构:以 AI 为原生运行机制
系统在后台持续感知数据变化,自主规划与执行,仅在关键节点介入人工确认。
业务不再完全依赖固定流程,而是由系统理解意图后动态编排执行方案。
通过结果反馈,系统持续修正决策参数,形成演进式业务逻辑。四、判断标准正在改变
是否以 AI 为核心,构建了可自动运行的业务闭环。
维度 辅助工具形态 系统能力形态 触发方式 人工显式调用 系统自动感知 交付结果 建议与内容 状态改变与任务完成 人机关系 高频交互 低频干预 核心价值 提效个人 放大组织吞吐量 五、结语
而是构建一套能够自我感知、自我规划并自主执行的智能系统。
在日常的软件开发和办公自动化场景中,文档格式转换是一个普遍且重要的需求。无论是从结构化的 Word 文档中提取纯文本信息,还是将纯文本内容格式化为可编辑的 Word 文档,高效、准确地实现这两种格式的互相转换,是许多开发者面临的痛点。本文将深入探讨如何在 Java 环境下,借助一个功能强大的库,轻松解决 Word 和 TXT 之间的转换难题,提升您的开发效率。 在 Java 生态中,处理 Word 文档的库并不少见,但 Spire.Doc for Java 凭借其强大的功能和易用性脱颖而出。它是一个专业的 Word 文档处理组件,支持创建、读写、编辑、转换和打印 Word 文档,并且兼容多种 Word 版本。其中,对 Word 和 TXT 格式的互相转换提供了非常便捷的 API。 要开始使用 Spire.Doc,您需要将其作为依赖添加到您的 Maven 项目中。 Maven 配置示例: 请确保您使用的版本是最新的稳定版本,以获取最佳的兼容性和功能。 将 Word 文档转换为纯文本(TXT)是一个常见的需求,例如用于内容提取、文本分析或跨平台传输。Spire.Doc for Java 提供了一行代码即可完成此操作。 代码解析: 将纯文本(TXT)文件转换为 Word 文档,通常是为了对其进行格式化、添加图片、表格或其他富文本元素。Spire.Doc 同样能轻松实现这一目标。 代码解析: 格式调整建议: 将 TXT 转换为 Word 后,默认情况下可能只是简单的文本导入。如果需要更复杂的格式,例如设置字体、段落样式、页眉页脚等,Spire.Doc 也提供了丰富的 API 来实现这些功能,您可以在 通过本文的详细介绍和代码示例,相信您已经掌握了在 Java 中使用 Spire.Doc for Java 库实现 Word 和 TXT 文档互相转换的关键技术。该库以其简洁的 API 和强大的功能,为 Java 开发者提供了一个高效、可靠的文档处理解决方案。无论是日常的数据处理,还是复杂的办公自动化系统,Spire.Doc 都能助您一臂之力。鼓励您在实际项目中尝试应用这些技术,并进一步探索该库在 Word 文档处理方面的更多高级功能,例如文档合并、拆分、内容替换、表格操作等,以满足更复杂的业务需求。Spire.Doc for Java:Word 与 TXT 转换的利器
引入 Spire.Doc for Java
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>14.1.3</version>
</dependency>
</dependencies>从 Word 到 TXT:逐步实现文档内容提取
实现步骤:
Document 类的 loadFromFile() 方法加载目标 Word 文档。saveToFile() 方法,并指定输出路径和 FileFormat.Txt 格式。dispose() 方法释放文档对象占用的资源。Java 代码示例:
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class ConvertWordtoText {
public static void main(String[] args) {
// 创建 Document 对象
Document doc = new Document();
// 加载 Word 文件
doc.loadFromFile("示例.docx");
// 将文档保存为 TXT 格
doc.saveToFile("Word转文本.txt", FileFormat.Txt);
// 释放资源
doc.dispose();
}
}document.loadFromFile(inputWordPath): 负责读取指定路径的 Word 文档内容。document.saveToFile(outputTxtPath, FileFormat.Txt): 这是转换的核心。它将加载的 Word 文档内容以纯文本格式写入到 outputTxtPath 指定的文件中。FileFormat.Txt 枚举值明确指示了目标格式。document.dispose(): 释放资源,用于关闭文件流并释放内存,特别是在处理大量文档时。从 TXT 到 Word:构建富文本格式文档
实现步骤:
Document 对象即可。Document 类的 loadFromFile() 方法加载 TXT 文件。saveToFile() 方法,并指定输出路径和 FileFormat.Docx(或 FileFormat.Doc)格式。dispose() 方法释放文档对象占用的资源。Java 代码示例:
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class ConvertTextToWord {
public static void main(String[] args) {
// 创建 Document 对象
Document txt = new Document();
// 加载 .txt 文本文件
txt.loadFromFile("介绍.txt");
// 将文件保存为 Word 格式
txt.saveToFile("TXT转Word.docx", FileFormat.Docx);
// 释放资源
txt.dispose();
}
}document.loadFromFile(inputTxtPath): 这里巧妙地利用了 spire.doc for java 的 loadFromFile 方法不仅可以加载 Word 文档,还能加载 TXT 文件并将其内容导入到 Document 对象中。document.saveToFile(outputWordPath, FileFormat.Docx): 将包含 TXT 内容的 Document 对象保存为 Word 格式。FileFormat.Docx 是现代 Word 文档的默认格式,您也可以选择 FileFormat.Doc。loadFromFile 之后、saveToFile 之前,对 document 对象进行进一步的编辑操作。结语
该岗位主要工作是构建 AI Agent 数字员工,使其自主完成高价值工作任务,包含前后端开发、基础设施管理等,涉及 RAG 、Prompt Engineering 、ReAct 、TypeScript 、Python 等相关技术。
需要熟练掌握如 Claude Code 或 Cursor 等 AI 工具,公司每月报销 AI 工具订阅费用。
18-25K * 15
深圳南山区软件园
简历请发送至 [email protected], 有任何疑问可以直接留言或者私信我
点赞 + 关注 + 收藏 = 学会了 在 n8n 中 AI Agent 默认只停留在“一次性交互”的层面。你问它一个问题,它精准回应,可当你接着上一个话题追问,或是隔一段时间再提起之前聊过的细节,它却像断了片一样,毫无印象,只能重新解释背景、重复需求。 比如我和它说了我叫什么名字,接着追问“我叫什么名字?”它立刻忘掉。 n8n 的「AI Agent 节点」其实已经提供了接入记忆能力的接口「Memory」。 点击「Memory」接口可以调用各种数据库,但前提是你已经安装了这些数据库。 n8n 提供了一个简单的数据库给我们使用:「Simple Memory」 如果你的需求不复杂,只想让AI有一点点记忆,用它就行。 打开「Simple Memory」的配置项,可以配置上下文窗口“Context Window Length”,数字越大记忆力越强,但占用的资源也更多。 根据你业务需求配置就行。 此时我们再测试一次。 它记住了! 以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏 点赞 + 关注 + 收藏 = 学会了整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》





点赞 + 关注 + 收藏 = 学会了 在使用 n8n 搭建自动化工作流时,读写本地文件是最基础也最常用的操作。 比如在互联网上拉了一些数据回来需要保存到本地。 比如上游同事把文件发你,你要将其加载到 n8n 里做一些处理。 如果你使用 Docker 部署 n8n,读写本地文件的配置请参考 《『n8n』一招解决“无法读写本地文件”》 我用一个例子讲讲如何将数据保存到本地。 要实现这两步,在 n8n 中的工作流长这样子⬇️ 先看看「Convert to File」的配置。 我将「HTTP 节点」请求回来的数据转成 Excel 文件,并将输出的对象放到一个 「Write Files from Disk」节点将上个节点传入的数据保存到我指定的位置: 注意, 保存成功后就可以在指定位置找到它了。 读取文件的思路就反过来了。 首先找到文件,然后再将内容解析出来,让其他节点可以看得懂这个文件的内容。 所以工作流长这样⬇️ 其实读取文件和写入文件都是用同一个节点(Read/Write Files from Disk),只是 在这个工作流中,「Read Files from Disk」的 可以看到它输出了一个 要让其他工作流读懂这个 在「Extract from File 节点」里,我们要正确设置 读取成功后,「Extract from File 节点」就会将内容输出给下一个节点。右侧面板就是读取到的内容。 以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏 如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》 点赞 + 关注 + 收藏 = 学会了整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》
写入文件

鼠标点击 -> HTTP请求数据 -> 将数据格式化(Convert) -> 保存到本地(Write Files from Disk)
data 字段里。/home/node/.n8n-files/rw-test/posts.xlsx
posts.xlsx 是我保存的文件名和后缀格式。
读取文件

Operation 属性不一样而已。Operation 选择 Read File(s) From Disk,再指定一个文件路径就行了。data 。
data 里面写了什么内容,需要用到「Extract from File 节点」。Operation 的值,这个参数指的是现在读取到的文件对象它原本是什么格式(比如我这个是 Excel 文件,就用 Extract From XLSX,其他格式就用其他类型)。
点赞 + 关注 + 收藏 = 学会了 aipan(中文名叫“爱盼”)是一款开源免费的搜片工具。 本次使用群晖NAS做演示。 在“Container Manager”的「镜像仓库」里搜索“aipan”,下载“fooololo/aipan-netdisk-search”这个。 下载成功后,切换到「映像」,选择刚刚下载的 aipan,运行它。 「常规设置」这里勾选“启用自动重新启动”,勾选“通过 Web Station 设置网页门户”。 「高级设置」这里什么都不用改。 打开”Web Station“新增一个”网络门户“,相关配置项如下图所示。 这里我设置了 HTTP 的端口为 完成上面的操作后,打开浏览器,输入 比如我这里是 aipan 的搜出来的都是片子~ 以上就是本文的全部内容啦,想了解更多NAS玩法可以关注《NAS邪修》👏 最后推荐一下玩 NAS 的工友,在 NAS 上装一个 n8n 接入大模型,可以帮你定时定候完成各种工作,比如签到啦、写文章啦、生成海报和视频啦、自动发布到各大平台啦~ 想了解 n8n 的工友可以关注我的专栏👉 《n8n修炼手册》 点赞 + 关注 + 收藏 = 学会了整理了一个NAS小专栏,有兴趣的工友可以关注一下 👉 《NAS邪修》





2222,你可以设置要给不跟其他项目冲突的端口。
NAS的IP + aipan的端口 就可以使用 aipan 了。192.168.31.85:2222 。

由 OpenBuild 联合 SegmentFault、VibeFriends 和 Monad 共同发起,并携手 KIMI、智谱 AI、豆包编程、YouWare、阶跃星辰、Rokid、硅基流动、立创开源等多家顶尖 AI 公司举办的「Rebel in Paradise AI 黑客松」已正式拉开帷幕。这场聚焦"智能体时代原生基础设施、产品与市场"的深度探索之旅,现已面向全球开发者开放报名通道。 如果你的桌面还堆满关于 AI Agent 的技术文档却无处实践;如果你的脑海中早已构想出一个能够自动化工作流、创造价值的智能体应用却缺少舞台;如果你渴望与 Kimi、智谱 AI、豆包编程等一线团队的技术专家面对面交流,那么,你的机会来了。 这可能是智能体时代最后的"末班车" 过去一年,AI 智能体从概念走向落地,正在重塑工作方式与商业逻辑。但真正的创新浪潮才刚刚涌起。本次黑客松瞄准三大核心赛道,直击行业最前沿痛点: 赛道一:Agent-native Payments 智能体间的价值流转与支付协议、微支付系统、自动化结算方案------这是构建智能体经济系统的基石。 赛道二:Intelligent Markets 基于智能体的预测市场与交易系统,探索数据市场、算力市场、AI服务市场的全新可能性。 赛道三:Agent-powered Apps 由智能体驱动的下一代应用,从工作流自动化到个性化助手,再到协作工具,用代码定义未来。 👥** 报名与组队期:** 即日起 - 项目提交前均可报名组队 💻** 项目提交截止:** 2026年2月28日 23:59:59 ✅** 最终结果公布:** 2026年3月10日 立即报名 👉:https://rebel.openbuild.xyz 扫码参与 本次 Hackathon 以线上为主,开发者完全可选择全程线上参与,完成项目构思、开发与提交。同时我们也会在线下举办两场 Hacker Camp: 👉北京(1月31日): https://luma.com/irllzbeu?utm_source=ob_gzh 为开发者提供的额外深度交流与实战辅导机会,你可以将此视为一次与导师、队友线下碰撞火花的"加速器"。 无论你身在何处,均可参与线上环节,享受同等技术辅导、资源支持与评奖资格。当然,无论是否报名 Hackathon,也非常欢迎亲临线下活动现场,与数百名开发者同台交流。 💰**总奖池 $40,000:** $20,000现金 + $20,000 资源奖励 🔥稀缺资源支持: 包括 LLM Token、 NVIDIA DGX、顶尖公司参访机会等 🆙成长直通车: 一线AI公司技术专家辅导、投资人对接、项目孵化支持 💬社群与背书: 加入由高质量开发者、创业者和技术领袖组成的创新网络 智能体时代的竞争,已从"是否会使用工具"升级为"能否创造智能体"。这趟驶向未来的列车已经鸣笛,车厢里坐着Monad、Kimi、智谱AI的技术领袖,也坐着与你一样渴望用代码重塑世界的开发者。 别等到2月28日才后悔没报名。最好的开始时间,永远是现在。 扫码添加小助手,进群获取最新资讯、组队招募!! Q:可以纯线上参与,完全不参加线下活动吗? A:完全可以。 线上参与即可完成全部黑客松流程并获得完整资源支持。 Q:没有成型的项目或想法,可以报名吗? A:可以。 线下活动无门槛,线上黑客松最终需提交项目,但我们鼓励从0到1的探索,并设有相应辅导环节。 Q:如何组队? A:建议自行组队,也可在活动社群中招募队友。 Q:可以同时报名北京和深圳两场线下活动吗? A:可以。 Q:资源支持(算力、硬件等)如何申请? A:组队成功后即可提交申请。 Q:能选择多个赛道吗? A:可以多选,组委会将进行简单审核。 我们相信,下一个时代的"一人公司",将由智能体与你共同构建。 阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么
Rebel in Paradise AI 黑客松三大核心赛道
Hackathon 时间
如何参与

👉深圳(2月7日): https://luma.com/je6if25j?utm_source=ob_gzh为什么你必须把握这次机会?

快速答疑(Q\&A)
合作伙伴



在产品研发全生命周期中,需求管理是产品工作的起点与核心,而产品需求池则是所有需求的“统一入口”与“管理中枢”。从客户反馈、业务诉求到用户建议、内部创意,各类需求杂乱分散的问题,往往导致需求遗漏、优先级混乱、落地无追踪,最终让产品研发偏离业务核心。产品需求池管理工具的核心价值,不在于单纯的“需求收纳”,而在于建立从需求汇聚、筛选评估、优先级排序到落地追踪、复盘优化的全流程闭环管理机制,让每一个需求都有迹可循、每一次决策都有据可依,让产品研发始终围绕业务价值与用户需求展开。一套适配的需求池管理工具,能让产品团队的需求管理从“被动应对”变为“主动规划”,从“零散无序”变为“体系化管控”,最终提升产品迭代的效率与价值。 很多中小团队认为“需求少,用表格/文档就能管需求池”,但随着产品迭代深入、需求来源增多、跨团队协作频繁,人工管理的弊端会逐步暴露,最终成为产品研发的“效率瓶颈”。真正有效的产品需求池管理,需要解决需求全生命周期的核心痛点,回答产品团队、业务方、研发团队最关心的关键问题: 这类团队产品模块多、业务线复杂、需求提报量庞大,人工管理无法实现需求的精细化管控,易出现需求遗漏、优先级混乱、落地无追踪的问题。专业的需求池管理工具能实现需求的标准化、体系化管控,提升需求管理效率,让产品研发围绕核心业务展开。 当产品团队与业务、研发团队跨部门、跨地域协作时,线下沟通效率低、信息差明显,人工管理无法实现需求进度的实时同步。需求池管理工具能打破空间与部门壁垒,让所有协作方共享统一的需求信息,实现高效的跨团队协同。 ToB产品的需求多来自企业客户,需求个性化强、关联业务流程复杂,且需要严格的需求评估与价值验证。需求池管理工具能通过标准化的评估维度、全链路的落地追踪、数据化的复盘分析,确保客户需求的落地质量与价值实现,提升客户满意度。 ToC产品研发节奏快、版本迭代频繁,对需求的优先级排序与落地效率要求高。需求池管理工具能实现需求的快速提报、科学排序、实时追踪,让研发团队聚焦高价值、高紧急的需求,保障产品迭代节奏,快速响应市场与用户需求。 这类团队的产品研发需要紧密贴合企业的业务战略,避免研发与业务脱节。需求池管理工具能通过结构化的需求评估维度,将需求与业务战略绑定,确保优先落地符合业务战略的高价值需求,让产品成为实现业务目标的核心载体。 当销售、客服、业务部门等非产品岗位需要频繁提报需求时,人工管理会导致需求提报门槛高、信息不规范、沟通成本高。需求池管理工具能提供快捷的需求提报入口、标准化的录入模板,降低非产品岗位的提报门槛,同时确保需求信息的完整性与规范性。 各类工具的核心能力、易用性与扩展性不同,适配不同团队规模与场景,选择核心是“适配”而非“最优”。 Q1:微型团队需求少,有必要引入专业的需求池管理工具吗? Q2:非产品岗位人员不会用工具,导致需求提报效率低怎么办? Q3:需求优先级经常因业务方要求而变动,工具能解决这个问题吗? Q4:需求上线后的效果复盘难以落地,工具能提供哪些帮助? Q5:如何避免工具中的需求成为“僵尸需求”(提报后无评估、无落地)? 产品需求池管理的本质,是对产品研发源头的管控,而产品需求池管理工具,是实现这一管控的高效载体。在产品研发越来越注重效率与价值的今天,杂乱无章的需求管理,必然会导致产品研发偏离核心、资源浪费、效率低下;而体系化的需求管理,能让产品团队始终围绕业务价值与用户需求展开研发,让每一次迭代都有明确的目标,让每一份研发资源都能发挥最大价值。一、为什么产品团队必须用工具做需求池管理?
• 需求是否全汇聚:内外部所有需求是否都统一收纳,有无遗漏、重复的情况?
• 信息是否标准化:每一条需求的背景、目标、受众、价值是否清晰,是否具备可评估性?
• 优先级是否明确:需求的排序是否贴合业务战略、用户价值,是否让研发团队有清晰的执行方向?
• 落地是否可追踪:需求从立项、开发、测试到上线,每一个阶段的进度是否透明,是否有明确的负责人与时间节点?
• 价值是否可验证:需求上线后的效果是否能复盘,是否实现了预期的业务/用户价值,是否为后续需求决策提供参考?
产品需求池管理工具,正是为解决这些问题而生。它通过标准化的需求录入模板、结构化的评估维度、可视化的优先级排序、全链路的进度追踪、数据化的复盘分析,让需求管理从“人工手动操作”变为“工具化高效管控”,让产品团队、业务方、研发团队对需求形成统一的认知、统一的标准、统一的节奏,避免因需求管理混乱导致的产品研发返工、版本延期、价值偏离。二、哪些团队最需要专业的产品需求池管理工具?
中大型产品研发团队
跨团队/跨地域协作的产品团队
业务场景复杂的ToB产品团队
快速迭代的互联网ToC产品团队
有明确业务战略的企业产品团队
非产品岗位提报需求频繁的团队
三、工具推荐:适配不同场景的产品需求池管理工具
专为需求管理设计,功能精细化,适配对需求管控有高要求的中大型团队、ToB团队。
• ProductPlan:国际主流,核心优势为可视化路线图与科学优先级排序,适配全球化协作团队;
• 需求魔方:国产适配性强,支持多源汇聚、跨团队评审与全链路追踪,适配中大型ToB/ToC团队;
• UserStoryMap:聚焦敏捷研发,以用户故事地图绑定需求与场景,适配敏捷互联网团队。
以看板为核心,操作简单、易上手,满足中小团队核心需求管理与跨团队协同。
• 板栗看板:自定义需求卡片与字段,支持拖拽更新进度,协同便捷,适配中小团队快速落地;
• 飞书项目/钉钉项目:与办公工具无缝集成,适配已使用飞书/钉钉的中小团队;
• Trello/Asana:国际轻量化工具,自定义度高,适配跨地域协作的小型/初创团队。
含Excel、WPS、语雀等,非专用工具,仅具备基础录入、筛选功能,操作门槛极低,适合刚起步、需求极少的微型团队临时使用。优势是零学习成本,劣势是无查重、追踪等功能,需求量增加后易混乱。
多数团队初期最优解:“轻量化协同看板工具+通用文档工具”,兼顾核心需求管控与资料留存;后期可根据团队规模与管理要求,升级为专业工具或一体化研发管理工具。四、常见问题答疑
A:无需引入专业工具,轻量化协同看板工具(如板栗看板)或通用表格工具即可满足核心需求,重点是建立简单的需求管理规范,避免需求遗漏。当团队规模扩大、需求提报量增多后,再逐步升级工具。
A:核心是降低使用门槛:一是选择操作简单、易用性强的工具,如轻量化协同看板工具,无需复杂学习即可上手;二是制作简易的提报教程,通过图文、短视频的形式教非产品岗位人员操作;三是设立专人对接,非产品岗位人员可先将需求口头/文字告知对接人,由对接人统一在工具中录入。
A:工具本身无法直接解决优先级变动问题,但能让优先级变动更科学、更透明:一是通过工具建立结构化的评估维度,让优先级排序有客观标准,减少业务方的主观干预;二是在工具中记录优先级变动的原因、审批人,实现变动可追溯;三是将优先级变动后的影响同步在工具中,如研发任务调整、版本延期等,让业务方清晰了解变动的后果。
A:工具能通过标准化的复盘维度、数据化的记录方式,让复盘落地更简单:一是在工具中为每一条需求设置“价值目标”“验收标准”字段,上线后对照字段验证效果;二是支持将需求与产品核心指标关联,直接录入复盘数据,实现价值量化;三是在工具中记录复盘结果、改进建议,为后续需求决策提供参考,形成闭环。
A:可通过工具设置+流程规范双重管控:一是在工具中为需求设置“有效期限”,超过期限未评估的需求,自动提醒产品负责人;二是建立需求清理机制,定期(如每月)对工具中的“僵尸需求”进行排查,经评估无价值的需求直接关闭,有价值但暂不落地的需求标记为“暂缓”,并记录暂缓原因;三是在工具中明确需求评估的时间节点,确保需求提报后及时得到评估。五、结语
工具本身没有好坏,只有适配与否。对于产品团队而言,无需盲目追求功能复杂的专业工具,而是要根据自身的团队规模、业务场景、工作习惯,选择最适配的工具,同时建立统一的需求管理流程与使用规范,让工具真正成为需求管理的“助力”,而非“负担”。
真正的高效需求管理,从来不是工具的单向作用,而是工具+流程+文化的三者结合。当工具成为全员的工作习惯,当流程成为全员的行为准则,当“以价值为导向、以数据为依据”成为需求管理的核心文化,产品需求池管理才能真正实现体系化、高效化,产品研发才能真正做到“有的放矢”,最终打造出贴合业务、满足用户的优质产品。
摘要:本文以电商物流行业为背景,详细介绍如何运用领域驱动设计(DDD)来设计一款电商物流ERP的系统。从领域识别、上下文界定,到实体、值对象、聚合根、领域事件等领域对象的分析与提取,结合UML图表展示,为架构师提供一套完整的DDD实践方法论。 大家好,我是Kenyon!在前面的文章中,我们探讨了架构设计的原则、方法和工具。今天,我们将聚焦于一个具体的实践场景——如何在电商物流行业中应用领域驱动设计(下文统一使用DDD)这个架构方法来构建一套电商物流ERP这样的系统。 下面,我们会按照DDD的核心设计步骤,先从领域识别开始,然后逐步深入到领域对象的分析与提取,最终通过UML图表来展示一个完整的设计系统设计方案。 在实践开始之前,让我们先回顾一下DDD相关的核心概念,这有助于让我们更好地理解后续的整个设计和落地的过程: 根据上面说举例的DDD的概念示例,我们可以把电商物流ERP这样的系统所涉及的主要业务场景按下面这样的方式来进行划分: 基于上述业务场景,我们可以将电商物流领域划分为以下子域: 根据子域划分,我们可以界定出以下限界上下文: 下面我们开始分析系统中所涉及到的订单上下文的领域对象。 实体: 值对象: 聚合根: 聚合: 订单上下文的示例图如下: 下面我们开始分析系统中所涉及到的物流上下文的领域对象。 实体: 值对象: 聚合根: 聚合: 物流上下文的示例图如下: 下面我们来分析和提取系统中仓储上下文的相关领域对象。 实体: 值对象: 聚合根: 聚合: 仓储上下文的示例图如下: 下面,我们来介绍产品上下文的实体、值对象、聚合根和聚合。 实体: 值对象: 聚合根: 聚合: 以下是产品上下文的类图: 在DDD中,限界上下文之间的集成是一个重要的环节。我们需要设计合理的集成方式,确保各个上下文之间能够顺畅地通信和协作。 上下文映射描述了限界上下文之间的关系和集成方式。对于我们的电商物流系统,主要的上下文映射关系如下: 根据上下文映射关系,我们可以采用以下集成模式: 上下文集成示例图如下: 在将领域模型转换为代码时,我们可以采用经典的DDD分层架构: 如下图所示: 以下是一个简化的代码结构示例,展示了如何组织我们的领域模型代码: 本文以电商物流行业为背景,详细介绍了如何运用领域驱动设计(DDD)来设计一款电商物流ERP的系统。从领域识别、子域划分、限界上下文界定,到实体、值对象、聚合根、领域事件等领域对象的分析与提取,我们构建了一个完整的领域模型。 同时,我们通过一系列的UML图表来辅助整个系统的设计后,我们可以清晰地看到系统的整体结构和各个组件之间的关系。这种可视化的方式不仅有助于团队成员理解系统设计,也为后续的开发和维护提供了重要的参考。 DDD是一种强大的设计方法,它能够帮助我们更好地理解业务需求,设计出更加符合业务本质的系统。在实践中,我们需要结合具体的业务场景,灵活运用DDD的核心概念和方法,不断优化和完善领域模型。 本文是作者通过个人的实践经验得出来的,希望能够通过抛砖引玉,为大家在日常工作中应用DDD的时候提供一些参考和启发。如果你有任何问题或建议,欢迎在评论区留言讨论。 互动话题:您有实践过DDD吗?在实践DDD的时候有遇到过哪些挑战呢?当时是如何解决的?欢迎在评论区分享你的经验! 工具附录: Kenyon,资深软件架构师,15年的软件开发和技术管理经验,从程序员做到企业技术高管。多年企业数字化转型和软件架构设计经验,善于帮助企业构建高质量、可维护的软件系统,目前专注技术管理、架构设计、AI技术应用和落地;全网统一名称"六边形架构",欢迎关注交流。 原创不易,转载请联系授权,如果觉得有帮助,请点赞、收藏、转发三连支持!文 / Kenyon,由于公众号推流的原因,请在关注页右上角加星标,这样才能及时收到新文章的推送。
引言

先简单介绍一下电商物流ERP是什么,它们是一款专门为跨境电商卖家提供订单管理、仓储管理、物流管理等一体化服务的系统。这样的系统涉通常会及到很多个复杂的业务领域,所以如何做到清晰地划分领域和系统的边界、识别核心业务、设计合理的领域模型,是系统是否能成功非常关键的步骤。DDD作为一种专注于业务领域的设计方法,它能很好地帮助我们去做好这些工作。一、DDD是什么?
二、电商物流领域的识别与划分
2.1 业务场景分析
2.2 子域划分
子域类型 子域名称 描述 重要性 核心域 订单管理 处理订单生命周期,是系统的核心价值 高 核心域 物流管理 管理物流渠道和物流状态,直接影响客户体验 高 支撑域 仓储管理 支持订单和物流的执行,管理库存 中 支撑域 产品管理 管理商品信息,为订单和仓储提供基础数据 中 支撑域 采购管理 保证库存充足,支持销售业务 中 支撑域 财务管理 处理财务核算,为决策提供数据 中 支撑域 客户管理 管理客户信息,提升服务质量 中 通用域 平台集成 与外部电商平台对接,获取订单数据 低 通用域 用户管理 系统用户认证和授权 低 2.3 限界上下文界定

三、领域对象分析与提取
3.1 订单上下文
3.1.1 实体与值对象
3.1.2 聚合根与聚合
3.1.3 领域事件
3.1.4 领域服务

3.2 物流上下文
3.2.1 实体与值对象
3.2.2 聚合根与聚合
3.2.3 领域事件
3.2.4 领域服务

3.3 仓储上下文
3.3.1 实体与值对象
3.3.2 聚合根与聚合
3.3.3 领域事件
3.3.4 领域服务

3.4 产品上下文
3.4.1 实体与值对象
3.4.2 聚合根与聚合
3.4.3 领域事件
3.4.4 领域服务

四、限界上下文集成
4.1 上下文映射
源上下文 目标上下文 关系类型 集成方式 订单上下文 物流上下文 上游/下游 事件发布/订阅模式 订单上下文 仓储上下文 上游/下游 事件发布/订阅模式 订单上下文 产品上下文 上游/下游 同步调用模式 仓储上下文 采购上下文 上游/下游 事件发布/订阅模式 物流上下文 财务上下文 上游/下游 事件发布/订阅模式 订单上下文 财务上下文 上游/下游 事件发布/订阅模式 平台集成上下文 订单上下文 上游/下游 同步调用模式 平台集成上下文 产品上下文 上游/下游 同步调用模式 4.2 集成模式

五、领域模型到代码的转换
5.1 架构分层

5.2 代码结构示例
src/
├── application/ # 应用层
│ ├── command/ # 命令处理
│ ├── query/ # 查询处理
│ └── service/ # 应用服务
├── domain/ # 领域层
│ ├── order/ # 订单子域
│ │ ├── aggregate/ # 聚合
│ │ ├── entity/ # 实体
│ │ ├── event/ # 领域事件
│ │ ├── repository/ # 仓储接口
│ │ ├── service/ # 领域服务
│ │ └── valueobject/ # 值对象
│ ├── logistics/ # 物流子域
│ ├── warehouse/ # 仓储子域
│ └── product/ # 产品子域
├── infrastructure/ # 基础设施层
│ ├── persistence/ # 持久化
│ ├── messaging/ # 消息传递
│ └── external/ # 外部系统集成
└── interface/ # 接口层
├── controller/ # 控制器
├── dto/ # 数据传输对象
└── validator/ # 验证器六、实践建议与注意事项
6.1 实践建议
6.2 注意事项
七、总结
关于作者

很久之前已经跑通的路径为:
光猫拨号(光猫带路由功能,此处称为一级路由)
二级路由 wan 口连接光猫 lan 口,一般都是这样连接的吧
二级路由用的是 pandvan 系统,经过简单设置,二级路由下的设备都可以获取 ipv6.
简单来说就是:
最近更换了路由器,刷的是 immortalwrt 。并且需要在原先二级路由下新增一个三级路由,这个三级路由是无线连接(不清楚到底是算中继还是桥接)到二级路由的。并且三级路由还得必须增加一层 nat ,是一个新的网段。 为了让这个三级路由器下面的设备获取到 ipv6 ,折腾了好几天,始终没法成功。 每天都在和 chatgpt 对话 → 重置路由器,反复循环,gpt 也始终给不了好的解决方案。
简单来说就是:
无奈还是想到用 google 搜索一下试试,果然发现了好东西,最终成功解决 ipv6 的问题。
第一个有用的资料是来自一个博客,核心思路就是: [光猫 + 二级路由器] 转换成 [ 光猫 + 交换机] 。原先的二级路由器设置成交换机模式,原先的 [三级路由器] 自动提升成为 [二级路由器] ,和原先跑通的方案很相似。
此时 chatgpt 告诉我, [光猫 + 有线连接路由器] 能成功让子设备获取到 ipv6 ,但是 [光猫 + 无线中继的路由器] 绝无可能,说什么无线中继模式下 RA 通告自动丢弃,sta 接口不会中继 ipv6 前缀到到子设备 balabala 。
我让它就按照有线连接的模式,给我如何让 ipv6 透传到子设备,它给的方案越来越离谱,要上这个插件,那个插件。
无奈还是继续 google 搜索,发现了恩山论坛的一个帖子,原样设置之后,顺利让二级路由下的子设备拿到 ipv6.

在日常生活和工作中,我们经常需要计算日期相关的问题:距离某个重要日子还有多少天?两个日期之间相隔多久?某个日期的前后几天是什么时候?如果手动计算这些问题,不仅费时费力,还容易出错。今天给大家分享一款我使用Vue3开发的在线日期计算器工具,帮助您轻松解决各种日期计算难题。 在线工具网址:https://see-tool.com/date-calculator 工具截图: 日期计算器是一款专门用于处理日期相关计算的在线工具。这款工具基于现代化的Vue3框架开发,采用响应式设计,界面简洁美观,交互流畅。它可以帮助您快速完成日期加减、日期差值计算、工作日计算等常见操作,无需下载安装任何软件,打开浏览器即可使用。 这是最常用的功能之一。您可以在指定日期的基础上,增加或减少天数、月数、年数,快速得到目标日期。 使用场景: 操作方法: 计算两个日期之间相隔的时间,结果可以精确到年、月、日,甚至小时和分钟。 使用场景: 操作方法: 排除周末和法定节假日,计算实际工作日天数,这对于项目管理和工作安排特别有用。 使用场景: 快速查询某个日期是星期几,方便安排活动和会议。 使用场景: 无需注册登录,无需付费,所有功能完全免费使用。 界面简洁直观,无需学习成本,上手即用。只需简单的点击和输入,就能完成复杂的日期计算。 采用标准的日期算法,确保计算结果准确无误,包括闰年、大小月等特殊情况都能正确处理。 支持多种日期格式输入和输出,满足不同使用习惯。 所有计算都在您的浏览器本地完成,不会上传至服务器,完全保护您的隐私。 支持电脑、手机、平板等各种设备,随时随地都能使用。
什么是日期计算器?
主要功能介绍
1. 日期加减计算
2. 日期差值计算
3. 工作日计算
4. 星期几查询
工具特点与优势
✅ 完全免费
✅ 操作简单
✅ 计算精准
✅ 多种格式支持
✅ 隐私安全
✅ 跨平台使用
在线工具网址:https://see-tool.com/date-calculator 工具截图: 日期计算器包含四个独立模块: 关键点: 关键点: 说明: 关键点: 关键点: 说明: 核心原则:
一、核心功能设计
二、日期间隔计算实现
2.1 核心计算逻辑
const dateDiff = computed(() => {
if (!startDate.value || !endDate.value) {
return { days: 0, weeks: 0, months: 0, years: 0 }
}
const start = new Date(startDate.value)
const end = new Date(endDate.value)
// 确保开始日期小于结束日期(自动排序)
const [earlierDate, laterDate] = start <= end ? [start, end] : [end, start]
let diffTime = laterDate.getTime() - earlierDate.getTime()
// 如果包含结束日期,增加一天
if (includeEndDate.value) {
diffTime += 24 * 60 * 60 * 1000
}
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24))
// 计算精确的月数差异
let months = (laterDate.getFullYear() - earlierDate.getFullYear()) * 12
months += laterDate.getMonth() - earlierDate.getMonth()
// 如果日期不足一个月,减去一个月
if (laterDate.getDate() < earlierDate.getDate()) {
months--
}
// 计算年数
const years = Math.floor(months / 12)
return {
days: diffDays,
weeks: Math.floor(diffDays / 7),
months: Math.max(0, months),
years: Math.max(0, years)
}
})Math.max(0, value) 防止负数2.2 辅助工具函数
// 交换开始和结束日期
const swapDates = () => {
const temp = startDate.value
startDate.value = endDate.value
endDate.value = temp
}
// 设置结束日期为今天
const setToday = (type) => {
if (!process.client) return
const today = new Date().toISOString().split('T')[0]
if (type === 'diff') {
endDate.value = today
}
}三、日期加减计算实现
3.1 核心计算逻辑
const calculatedDate = computed(() => {
if (!baseDate.value) {
return ''
}
if (!amount.value || amount.value === 0) {
return baseDate.value
}
const base = new Date(baseDate.value)
// 根据操作类型确定正负
const value = operation.value === 'add' ? parseInt(amount.value) : -parseInt(amount.value)
switch (unit.value) {
case 'days':
base.setDate(base.getDate() + value)
break
case 'weeks':
base.setDate(base.getDate() + (value * 7))
break
case 'months':
base.setMonth(base.getMonth() + value)
break
case 'years':
base.setFullYear(base.getFullYear() + value)
break
}
return base.toISOString().split('T')[0]
})setDate/setMonth/setFullYear 自动处理溢出toISOString().split('T')[0] 获取 YYYY-MM-DD 格式3.2 获取星期几
const getWeekday = (dateStr) => {
if (!dateStr) return ''
const weekdays = tm('dateCalculator.weekdays')
if (!weekdays || !Array.isArray(weekdays)) return ''
const date = new Date(dateStr)
return weekdays[date.getDay()] || ''
}getDay() 返回 0-6,其中 0 代表周日四、年龄计算实现
4.1 精确年龄计算
const age = computed(() => {
if (!birthDate.value || !ageCalculateDate.value) {
return { years: 0, months: 0, days: 0, totalDays: 0 }
}
const birth = new Date(birthDate.value)
const calculate = new Date(ageCalculateDate.value)
// 如果出生日期晚于计算日期,返回0
if (birth > calculate) {
return { years: 0, months: 0, days: 0, totalDays: 0 }
}
// 计算精确年龄
let years = calculate.getFullYear() - birth.getFullYear()
let months = calculate.getMonth() - birth.getMonth()
let days = calculate.getDate() - birth.getDate()
// 调整天数
if (days < 0) {
months--
// 获取上个月的天数
const lastMonth = new Date(calculate.getFullYear(), calculate.getMonth(), 0)
days += lastMonth.getDate()
}
// 调整月数
if (months < 0) {
years--
months += 12
}
// 计算总天数
const totalDays = Math.floor((calculate.getTime() - birth.getTime()) / (1000 * 60 * 60 * 24))
return {
years: Math.max(0, years),
months: Math.max(0, months),
days: Math.max(0, days),
totalDays: Math.max(0, totalDays)
}
})new Date(year, month, 0) 获取上月最后一天4.2 派生数据计算
// 模板中使用
Math.floor(age.totalDays / 30.44) // 总月数(平均每月30.44天)
Math.floor(age.totalDays / 7) // 总周数
age.totalDays // 总天数五、工作日计算实现
5.1 核心计算逻辑
const workDays = computed(() => {
if (!workStartDate.value || !workEndDate.value) {
return { total: 0, weekdays: 0, weekends: 0 }
}
const start = new Date(workStartDate.value)
const end = new Date(workEndDate.value)
// 确保开始日期不大于结束日期
if (start > end) {
return { total: 0, weekdays: 0, weekends: 0 }
}
let weekdays = 0
let weekends = 0
const current = new Date(start)
// 包含开始和结束日期
while (current <= end) {
const dayOfWeek = current.getDay()
if (dayOfWeek === 0 || dayOfWeek === 6) { // 周日=0, 周六=6
weekends++
} else {
weekdays++
}
current.setDate(current.getDate() + 1)
}
return {
total: weekdays + weekends,
weekdays: excludeWeekends.value ? weekdays : weekdays + weekends,
weekends
}
})getDay() 返回 0(周日) 或 6(周六) 为周末excludeWeekends 决定是否排除周末六、状态管理
6.1 响应式状态定义
// Tab 切换
const activeTab = ref('difference')
// 日期间隔计算
const startDate = ref('')
const endDate = ref('')
const includeEndDate = ref(false)
// 日期加减计算
const baseDate = ref('')
const operation = ref('add') // 'add' | 'subtract'
const amount = ref(0)
const unit = ref('days') // 'days' | 'weeks' | 'months' | 'years'
// 工作日计算
const workStartDate = ref('')
const workEndDate = ref('')
const excludeWeekends = ref(true)
// 年龄计算
const birthDate = ref('')
const ageCalculateDate = ref('')6.2 初始化默认值
onMounted(() => {
if (!process.client) return
const today = new Date().toISOString().split('T')[0]
startDate.value = today
endDate.value = today
baseDate.value = today
workStartDate.value = today
workEndDate.value = today
birthDate.value = '' // 不设置默认出生日期
ageCalculateDate.value = today
})process.client 判断避免 SSR 问题七、日期处理技巧
7.1 Date 对象的自动溢出处理
// JavaScript 的 Date 会自动处理溢出
const date = new Date('2024-01-31')
date.setMonth(date.getMonth() + 1) // 自动变为 2024-03-02(2月没有31日)7.2 获取上月最后一天
// 将日期设为0,会自动回退到上月最后一天
const lastDayOfLastMonth = new Date(year, month, 0)7.3 日期格式化
// ISO 格式转 YYYY-MM-DD
const dateStr = new Date().toISOString().split('T')[0]八、核心算法总结
日期间隔计算:
时间戳相减 → 转换为天数
年月日逐级计算 → 处理借位
日期加减计算:
原生 Date API → 自动处理溢出
年龄计算:
年月日分别相减 → 逐级调整借位
工作日计算:
逐日遍历 → 判断星期几 → 统计分类