2026年2月

**这个世界就是一个草台班子
**
这是现在互联网上很流行的一句话
在一些时候、一些情况下,大家心里也会产生类似的想法

可是,这句话是对的吗?为什么呢?能不能改变呢?
希望和大家能就此讨论

在数字化浪潮席卷各行各业的今天,大量信息仍然以图片、扫描件、PDF 甚至手写文稿的形式存在。如何让机器「读懂」这些非结构化的视觉内容,并将其转化为可编辑、可检索、可分析的文本数据?这正是 OCR(Optical Character Recognition,光学字符识别)技术要解决的问题。

从早期基于模板匹配和规则引擎的字符识别方法,到结合机器学习的统计模型,再到如今以深度学习为核心的端到端神经网络系统,OCR 经历了多次技术迭代。进入大模型时代,OCR 也正在与多模态模型深度融合。基于视觉-语言预训练框架的系统,如 OpenAI 推出的 GPT-4V(Vision 版本),以及 Google 的 Gemini 系列,都展示了在文档理解、表格解析、复杂版式分析方面的强大能力。这类模型不仅能识别文字,还能理解页面结构、图表关系和语义逻辑, 实现从「识别字符」到「理解文档」的跃迁。

在实际应用层面,OCR 已广泛渗透至金融票据识别、医疗病历数字化、电商商品信息抽取、自动驾驶路牌识别、档案数字化等场景。随着多语言识别、复杂版式解析、手写体识别等难题逐步被攻克,OCR 正从「文字提取工具」进化为「结构化信息理解引擎」。

目前,OpenBayes 官网上线了多个高质量 OCR 开源模型, 本文将系统梳理当前的主流模型,便于读者选择适合自身需求的技术方案。

点击查看更多优质教程:

https://go.openbayes.com/d34SF

1 GLM-OCR 轻量级多模态 OCR 识别系统

在线运行: https://go.openbayes.com/NUwyL


GLM-OCR 是由智谱 AI 于 2026 年 2 月开源的一款 0.9B 轻量级多模态 OCR 模型,专注于复杂文档场景下的高精度文本识别与结构化解析。该模型的核心优势在于体量小、精度高、部署便捷。 能够原生处理印刷体与手写体混排、多语言内容、跨行跨列合并单元格表格、数学公式、印章等复杂元素。模型最低仅需 4GB 显存即可运行,兼容消费级 GPU 与边缘设备,并支持私有化本地部署, 有效解决了行业中「大模型部署门槛高、小模型精度不足」的痛点问题。

在 OmniDocBench V1.5 基准测试中,GLM-OCR 取得了 94.62 的优异成绩,性能接近 Gemini-3-Pro。其应用场景广泛,包括办公文档解析、教育与科研公式识别、政务与金融文件核验、代码片段提取等。

2 PaddleOCR-VL-1.5:基于 vLLM 的本地 OCR

在线运行: https://go.openbayes.com/6jXzb


PaddleOCR-VL-1.5 是由 PaddlePaddle 团队于 2026 年 1 月发布的 PaddleOCR 系列多模态 OCR 模型之一。它在复杂文档场景(如票据、合同、论文、扫描文档等)下提供了更强的文本识别与版式理解能力。本教程通过 vLLM 的 OpenAI 兼容接口对接该模型,实现了从上传图像到返回识别结果的完整流程。

作为 PaddleOCR-VL 的新一代进阶模型,PaddleOCR-VL-1.5 在仅有 0.9B 参数规模下,在 OmniDocBench v1.5 基准测试中取得了 94.5% 的准确率。 此外,在保持 0.9B 视觉语言模型(VLM)超紧凑高效特性的同时,模型能力也得到了扩展,新增了印章识别与文本定位等任务支持。

3 LightOnOCR-2-1B 轻量级高性能端到端 OCR 模型

在线运行: https://go.openbayes.com/6doa6


LightOnOCR-2-1B 是由 LightOn AI 于 2026 年 1 月发布的最新一代端到端模型。该模型在紧凑架构中统一了文档理解与文本生成功能,拥有 10 亿参数,并可在消费级显卡(约 6GB 显存)上运行。 模型采用 Vision-Language Transformer 架构,并引入 RLVR(Reinforcement Learning from Visual Rationale,基于视觉推理的强化学习)训练技术,在识别准确率与推理速度方面均表现出色。其设计目标是面向需要处理复杂文档、手写文本及 LaTeX 公式等场景。

不同于传统的级联式 OCR 模型(检测 + 识别),LightOnOCR-2-1B 强调端到端处理能力,能够直接将像素映射为结构化文本,支持多语言识别以及表格、公式等结构化内容的提取。

4 DeepSeek-OCR-2 视觉因果流

在线运行: https://go.openbayes.com/BUakA


DeepSeek-OCR 2 是 DeepSeek 团队于 2026 年 1 月推出的第二代 OCR 模型。通过引入 DeepEncoder V2 架构,该模型实现了从固定式扫描向语义推理范式的转变。模型采用因果流查询(causal flow queries)与双流注意力机制,对视觉 token 进行动态重排序,从而更加准确地重建复杂文档的自然阅读逻辑。

在 OmniDocBench v1.5 评测中,该模型取得了 91.09% 的综合得分, 较上一代有显著提升,同时大幅降低了 OCR 结果的重复率,为未来构建全模态编码器提供了一条新的技术路径。

5 MonkeyOCR:基于结构-识别-关系三元组范式的文档解析

在线运行: https://go.openbayes.com/ISZbJ


MonkeyOCR 是由华中科技大学联合金山办公(Kingsoft Office)于 2025 年 6 月 5 日开源的文档解析模型,模型支持高效地将非结构化文档内容转换为结构化信息。基于精确的布局分析、内容识别和逻辑排序,显著提升文档解析的准确性和效率。

与传统方法相比,MonkeyOCR 在处理复杂文档(如包含公式和表格的文档)时表现出色,平均性能提升 5.1%,在公式和表格解析上分别提升 15.0% 和 8.6%。模型在多页文档处理速度上表现出色,达到每秒 0.84 页,远超其他同类工具。 ****MonkeyOCR 支持多种文档类型,包括学术论文、教科书和报纸等,适用多种语言,为文档数字化和自动化处理提供强大的支持。

摘要:
OceanBase seekdb 1.1.0推出Fork Table特性,支持毫秒级创建基于一致性快照的数据表分支。通过写时复制与快照隔离技术,实现零存储成本复制与完全读写隔离,为AI开发、A/B测试、模型训练等场景提供类似Git分支的数据版本管理能力。该特性允许开发者在同一份数据上并行实验、安全迭代,大幅提升数据敏捷性,并预告未来将扩展至Fork Database。

引言

在大模型与 AI 原生开发席卷而来的今天,数据工作流正悄然经历一场静默的危机。数据科学家试图基于一份生产数据集,同时验证三种不同的特征工程方案;开发团队需要对线上推荐表进行 A/B 测试,评估两种全新的算法策略;Vibe Coding 实践中,AI 智能体自动生成并需要验证的数据变更层出不穷。

这些场景都指向一个共同的诉求:我们需要基于同一份数据,快速、廉价地创建出多个完全隔离的“实验沙箱”。

然而,传统的数据管理方式在此刻显露出其笨重的本质。无论是使用 CREATE TABLE ... AS SELECT ... 进行全量拷贝,还是借助 ETL 工具导出再导入,在面对 GB 乃至 TB 级的数据表时,都意味着长达数小时乃至数天的等待时间,以及存储成本的成倍增长。这种模式不仅扼杀了快速迭代的可能性,更让“数据版本管理”沦为空谈。Chroma 的 collection fork 与 Neon 的 branch 功能之所以备受关注,正是因为它们精准地切中了这一时代痛点——为数据提供像 Git 分支一样轻量、即时的复制与隔离能力。

正是在这样的背景下,OceanBase seekdb 1.1.0 带来了全新的 Fork Table 特性。它并非简单的语法糖,而是一种设计哲学的转变:表,不应该仅仅被复制,更应该被“分支”。它旨在让数据团队能以近乎零成本的方式,在某个一致性快照点上,瞬间开枝散叶,创造出可独立演进、并行实验的数据分支,从而无缝适配大模型时代对数据迭代速度与协作模式的极致要求。

核心功能:毫秒级创建数据分支

Fork Table 允许您通过一条简单的 SQL 语句,基于源表在某一时刻的一致性快照,瞬时创建一个逻辑独立、完全可读写隔离的目标表。

从本质上讲,该功能在数据库层面原生实现了 “数据表分支” 。这个新创建的分支表,在诞生的那一刻起就拥有独立的身份和完整的表能力。用户可以对它执行任何在普通表上允许的操作。最关键的是,所有这些操作都被严格限定在这个分支环境内,与创建它的源表互不影响。

Fork Table 核心特性

1.快照一致性:分支定格在创建瞬间的数据状态,后续源表变更不可见。

2.完全读写隔离:每个分支都是独立的沙箱,可安全进行任意实验。

3.渐进可用性:分支立即可用,后台异步完成数据构建,对用户透明。

因此,Fork Table 不仅仅是一个优化过的复制命令。它是一项旨在改变数据工作流的基础能力,通过将 “快照、隔离与渐进可用” 这三个特性紧密结合,为数据资产提供了原生的分支与版本管理支持,直接应对现代数据密集型应用对敏捷性、隔离性和并行实验能力的迫切需求。

技术原理:写时复制与快照隔离协同

Fork Table 实现毫秒级数据分支的核心在于“写时复制”(Copy-on-Write) 策略与一致性快照的精妙结合。这一设计从根本上改变了传统数据复制的方式:不再进行全量物理拷贝,而是通过“逻辑引用”和“渐进式数据构建”来实现高效的数据版本管理。

整个分支创建过程分为两个协同阶段:前台创建分支元数据和后台渐进式构建数据:

当执行 Fork Table 操作时,前台首先会锁定一个全局一致的时间点——fork_snapshot_scn,这个值成为此次分支的“诞生时刻”。随后,系统仅复制源表的结构定义和必要元数据,为目标表建立独立的逻辑身份,并在其元数据中记录对源表的引用关系和快照点,即上图中的 ForkTabletInfo。这个过程仅涉及极少的元数据操作,因此能在百毫秒内完成,新表立即可查询,数据库引擎会通过元数据中的引用关系定位到源表数据层,并严格应用 fork_snapshot_scn 进行过滤,确保返回的数据视图精确对应分支创建时刻的快照。

在前台响应用户的同时,后台 DDL 任务开始进行数据构建。这里的巧妙之处在于:尽可能复用源表数据而非复制。可以这么设计的原因是 OceanBase seekdb 基于 LSM 的存储架构天然保证了持久化的数据不会发生原地更新,这为在特定时间点安全共享数据块提供了可能。在数据构建时会根据 fork_snapshot_scn 进行判断,对于快照点前已完全“冻结”的 SSTable,仅增加其底层数据块(Macro Block)的引用计数,实现零存储成本的跨表共享;对于混合了新旧版本的 SSTable,则通过快照迭代器提取快照点可见数据,重写到新的 SSTable 文件中。

数据隔离性通过两个层面确保。逻辑隔离由 fork_snapshot_scn 这一绝对分割点保证——无论是前台查询还是后台构建,系统都严格以此快照点划分数据归属。物理隔离则通过写时复制和数据库固有的 Compaction 过程自然实现:分支上的新写入进入其私有存储区域;随着时间的推移,系统会像细胞分裂一样,逐渐减少共享数据块,最终完成存储的完全分离。

适用场景:从 Vibe Coding 到多智能体系统

场景 1:Vibe Coding 的“时光机”

在 AI 生成并执行 SQL 的 Vibe Coding 模式下,错误难免。Fork Table 可自动在每次重大变更前创建快照。一旦 AI 的修改引入问题,您可以像在 Git 中切换分支一样,一键将表回滚到任一健康快照,实现“大胆实验,无忧回溯”。

场景 2:A/B 测试的“平行实验场”

基于生产主表,瞬间为不同策略(如 Prompt A/B)创建独立分支。各实验在数据同源、完全隔离的环境下公平运行,结果互不干扰,极大缩短了从“想法”到“结论”的路径。

场景 3:模型训练的“数据版本锁”

在特征工程完成后,Fork 一个版本化快照表(如 features_v1.2)。后续所有模型训练都固定读取此表,确保实验的完全可复现性,根治因底层数据变动导致的“论文炼金术”问题。

场景 4:AI Agent 的“独立工作间”

在多智能体系统中,可为每个 Agent Fork 一个主知识库的私有分支。Agent 在其中学习、记录和试错,避免记忆交叉污染,其产生的有价值知识又可被谨慎合并回主库。

快速上手:多语言接口与最佳实践

实践极其简单,无论是 SQL、Python 还是其他语言,都能轻松使用 Fork Table 功能。

SQL 接口:最直接的方式

Python 接口:Collection.fork in pyseekdb

JavaScript 接口:Collection.fork in seekdb.js

最佳实践

1.合理管理分支生命周期:及时清理不再使用的实验分支,避免存储碎片化;

2.监控分支数量:虽然每个分支初始成本低,但过多分支可能会影响整体管理效率;

3.利用分支标签:为重要分支添加描述性标签,方便后续查找和管理

立即体验:访问 OceanBase seekdb 官方文档(https://www.oceanbase.ai/)了解更多使用方式和技术细节。

下一站:Fork Database

Fork Table 的发布,是 OceanBase seekdb 为应对 AI 时代数据敏捷性挑战投下的第一块基石。它首次在数据库内核层面,为单表数据赋予了原生、毫秒级的 Git 式分支能力,让隔离实验与安全迭代成为数据工作流中的标准操作。

而这仅仅是开始。下一步,我们将把这一范式扩展至整个数据库:Fork Database 即将上线。

通过一条如 FORK DATABASE prod TO staging; 的简单命令,您即可基于全局一致的时间点,毫秒级克隆一个完整的数据库及其所有对象。这将真正实现:

环境即代码:瞬时复制生产环境,用于开发、测试与预发布,极大提升研发运维效率。

业务级回滚:以数据库为原子操作单位,实现跨多表的一致快照与一键恢复,为复杂业务变更提供可靠保障。

安全数据共享:快速生成完整且隔离的数据库副本,支持审计、分析与协作,在确保主库稳定与安全的同时,释放数据价值。

从 Table 到 Database 的分支能力演进,标志着 OceanBase seekdb 正将“数据版本化”与“隔离协作”的敏捷范式,从单表功能系统性地构建为数据库级基础设施。我们坚信,数据的版本化分支协作,必将与代码的版本控制一样,成为未来数据密集型应用的核心开发范式。

OceanBase seekdb 将持续深耕于此,让每一位开发者都能像管理代码一样,轻松、自信、高效地管理持续演进的数据。从一张表的分支,到一个数据库的克隆,我们正在共同构建下一代 AI 原生应用所依赖的创新基座。

波澜已起,未来已来。

更多阅读

Fork Table 特性说明:

https://www.oceanbase.ai/docs/zh-CN/fork-table-overview

Fork Table SQL 参考:

https://www.oceanbase.ai/docs/zh-CN/fork-table-in-sql/

OceanBase seekdb:

https://github.com/oceanbase/seekdb/

pyseekdb:

https://github.com/oceanbase/pyseekdb

OceanBase seekdb.js:

https://github.com/oceanbase/seekdb-js

因为以前留存的时候不注意,受潮了,好多几十年前的照片周围一圈都花了。
最近买了个扫描仪,全部扫成电子版。
想用 ai 修复,随便搜了几个网站效果不佳,有的甚至还会把人物都 p 变形。
----------------------------------------------------------

第一次发图,不知道能不能显示..
----------------------------------------------------------
咨询一下各位,有什么好的方案吗?

有没人用过,推荐不,或者推荐你们现在枕头看看think

原因:枕头发霉要换,然后今年年会有这个奖品(没中)

这两年做跨境的人都有一个明显感受:平台风控越来越严格。无论是做亚马逊铺货、TikTok 运营、独立站广告投放,还是批量数据采集,只要账号行为稍微异常,就可能被限流、验证,甚至直接封号。
问题的核心并不总在账号本身,而是在“网络环境”。
平台判断风险时,会综合分析登录 IP、设备指纹、行为轨迹和历史记录。如果你使用的是数据中心 IP,或者多个账号共用同一出口 IP,那么系统很容易识别出异常关联。这也是为什么越来越多跨境从业者开始使用动态住宅 IP。

什么是动态住宅 IP,本质到底是什么

动态住宅 IP,本质上是来自真实家庭宽带网络的 IP 地址,并且可以按照设定周期自动更换。与机房 IP 不同,住宅 IP 在平台看来就是一个普通家庭用户的正常上网行为。
这里有两个关键点。第一,来源真实。第二,可以动态轮换。
来源真实意味着 IP 不在公开的机房段列表中,不容易被平台标记为代理。动态轮换意味着你可以根据业务需求定时更换出口,降低长期使用单一 IP 带来的风控风险。
这也是它被称为“隐身神器”的原因。不是因为它真的隐形,而是因为它看起来足够“正常”。

为什么跨境人离不开它

跨境业务高度依赖账号环境的稳定性。一旦账号被封,损失的不只是一个登录权限,而是店铺权重、广告数据、历史评价,甚至整个供应链节奏。
使用动态住宅 IP,可以有效解决几个核心问题。
第一,避免账号关联。如果多个账号使用不同住宅出口,平台很难通过 IP 建立关联模型。
第二,降低登录异常概率。真实住宅网络更符合用户行为特征,不容易触发二次验证。
第三,支持多地区运营。你可以选择目标国家的 IP,让账号环境更贴近当地用户,提高广告审核通过率和内容推荐权重。
第四,适配自动化和数据采集。动态轮换 IP 能减少频繁请求带来的封锁风险。
说白了,如果你做的是长期业务,而不是短期投机,网络环境一定要“像真实用户”。

动态住宅 IP 和普通代理的差别

很多人以为只要用了代理就安全,其实差别很大。
数据中心 IP 最大的问题是容易被识别。它们集中在特定 ASN 段,平台风控数据库里通常都有记录。一旦检测到异常访问频率或自动化行为,很容易被封。
住宅 IP 则分散在真实家庭网络中,从概率模型上看更自然。动态机制又进一步降低了持续暴露风险。
但需要注意,动态住宅 IP 的质量差异很大。如果 IP 池规模不足、纯净度低、节点稳定性差,反而会增加风险。

动态住宅 IP 到底“香”在哪里

它“香”的地方,不是技术炫酷,而是降低风险。
你可以把它理解为给账号穿上一层“正常用户外衣”。平台看到的是普通家庭宽带,而不是批量操作的痕迹。它不会让你为所欲为,但会大幅减少因为网络异常导致的误伤。
真正专业的团队,往往不会等封号后才去补救。他们会在一开始就搭建合规、稳定的网络环境,把风险控制在最低。

最后

如果你只是偶尔操作一个账号,也许感觉不出差别。但只要你开始批量运营、多地区布局、或者做自动化工具,动态住宅 IP 几乎是必选项。
跨境不是靠运气,是靠系统。账号体系、支付体系、物流体系、网络环境,每一个环节都要可控。
当越来越多跨境人把动态住宅 IP 当作基础设施,而不是“外挂工具”时,你就会明白,它不是锦上添花,而是底层配置。如果你准备长期做跨境,先把网络环境搭好。很多问题,其实在封号之前就已经埋下了。

在电商行业蓬勃发展的当下,搭建属于自己的多用户商城成为许多创业者和企业的目标。而多用户商城源码免费这一资源,为他们提供了一条低成本切入电商领域的有效途径。

图片

OctShop大型多用户商城源码: https://pc.opencodetiger.com

多用户商城源码免费的价值

多用户商城源码是搭建多用户电商平台的核心基础,它包含了商城的各种功能模块、数据库结构以及运行逻辑等。免费获取这样的源码,对于资金有限的创业者来说,无疑是一大福音。无需花费高额费用购买源码,就能节省大量的前期投入,将资金更多地用于商城的运营、推广和用户获取上,大大降低了创业风险。对于企业而言,免费的多用户商城源码可以帮助企业快速搭建自己的电商平台,拓展线上销售渠道。企业可以根据自身的业务需求对源码进行二次开发和定制,打造具有独特品牌特色的商城,提升企业在电商市场的竞争力。多用户商城源码免费的优势降低成本这是免费源码最显著的优势。传统的商城开发需要聘请专业的开发团队,开发成本高昂,而且后期的维护和升级也需要持续投入资金。而免费的多用户商城源码,能让企业和创业者在不支付源码费用的情况下,拥有搭建商城的基础,极大地降低了项目的启动成本。灵活性高免费的多用户商城源码通常具有较高的开放性,用户可以根据自己的需求对源码进行修改和定制。无论是界面设计、功能模块添加还是业务逻辑调整,都可以按照自己的想法进行操作,使商城更符合自身的业务模式和用户需求。快速上线使用免费的多用户商城源码,省去了从无到有进行开发的漫长过程。开发者可以在现有的源码基础上进行修改和配置,大大缩短了商城的开发周期,使商城能够快速上线运营,抢占市场先机。

图片

免费多用户商城源码的挑选要点

功能完整性在挑选免费的多用户商城源码时,首先要关注其功能是否完整。一个完善的多用户商城应具备用户注册登录、商品管理、订单管理、支付系统、评价系统、权限管理等基本功能。如果源码在功能上存在缺失,可能会影响商城的正常运营,后期补充功能也会增加成本和难度。安全性网络安全对于电商平台来说至关重要,商城源码的安全性直接关系到用户信息、交易数据等的安全。在选择免费源码时,要查看源码是否存在安全漏洞,比如 SQL 注入、XSS 跨站脚本攻击等。可以通过一些安全检测工具对源码进行扫描,或者参考其他用户的使用反馈,了解源码的安全性能。可扩展性随着业务的发展,商城的功能和规模可能会不断扩大,因此源码的可扩展性也很重要。挑选时要考虑源码的架构是否合理,是否便于后期添加新的功能模块和进行系统升级。如果源码的架构僵化,难以扩展,可能会限制商城的发展,到时不得不重新开发或更换源码,造成更大的损失。技术支持和社区活跃度虽然是免费源码,但如果有活跃的技术社区和一定的技术支持,会给用户带来很大的便利。在使用过程中遇到问题时,可以在社区中寻求帮助,与其他开发者交流经验。查看源码的更新频率和社区的活跃度,选择那些持续更新和有较多用户参与的源码,这样可以保证源码能够跟上技术发展的步伐,及时修复 bug。免费多用户商城源码的获取渠道开源社区像 GitHub、Gitee 等知名的开源社区,是获取免费多用户商城源码的重要渠道。这些社区上有大量的开发者分享自己的开源项目,其中不乏优质的多用户商城源码。用户可以在社区中搜索相关的关键词,找到合适的源码后进行下载和使用。在使用开源社区的源码时,要注意遵守相应的开源协议。电商平台服务商一些电商平台服务商会提供免费的多用户商城源码试用版或基础版,以吸引用户使用他们的服务。这些源码通常经过了一定的测试和优化,功能相对稳定。用户可以在服务商的官方网站上了解相关信息,下载源码进行体验。如果后期需要更高级的功能,可以选择付费升级服务。技术论坛和博客许多技术论坛和博客上,开发者会分享自己开发的多用户商城源码,或者推荐一些优质的免费源码资源。用户可以在这些平台上浏览相关的文章和帖子,获取源码的下载链接。同时,还可以在论坛上与其他开发者交流使用心得,了解源码的优缺点。

图片

使用免费多用户商城源码的注意事项

遵守相关法律法规在使用免费多用户商城源码时,要确保自己的使用行为符合国家的法律法规和相关的开源协议。不得将源码用于非法用途,也不能侵犯源码作者的知识产权。对于有开源协议的源码,要严格按照协议的要求进行使用、修改和分发。进行二次开发和测试免费的多用户商城源码虽然可以直接使用,但通常需要根据自身的需求进行二次开发和定制。在开发过程中,要做好代码的版本控制,避免出现混乱。同时,要对修改后的源码进行充分的测试,包括功能测试、性能测试、安全测试等,确保商城能够稳定、安全地运行。做好后期维护商城上线后,后期的维护工作必不可少。要定期对商城进行备份,防止数据丢失。同时,要关注源码的更新情况,及时修复发现的 bug 和安全漏洞,保证商城的正常运营。如果自身技术能力有限,可以考虑聘请专业的技术人员进行维护。总之,多用户商城源码免费为创业者和企业搭建电商平台提供了便利,但在获取和使用过程中,要谨慎挑选,注意相关的要点和事项,才能充分发挥其价值,打造出成功的多用户商城。

在数字化转型的深水区,2026年的企业面临着前所未有的协作挑战。无论是IT行业的敏捷迭代、制造行业的精密流程,还是创意行业的灵活多变,选择一款契合团队基因的项目管理软件已成为提升核心竞争力的关键。市面上的工具琳琅满目,盲目跟风往往导致“水土不服”。本文基于中立客观的视角,为您梳理18款主流项目管理工具,涵盖从国产老牌到国际新锐,助您根据岗位特性精准选型,构建高效协作闭环。

一、研发与工程领域:严谨流程与敏捷开发的平衡

对于IT互联网及高端制造企业而言,需求管理、缺陷追踪及版本控制是生命线。这一领域的工具通常具备强大的逻辑性和可配置性。

  1. 禅道 (ZenTao)

作为国产项目管理软件的常青树,禅道专为研发团队设计,完美融合了Scrum敏捷开发与瀑布模型。其核心优势在于​原生支持产品、项目、测试三大维度的闭环管理​。2026年的最新版本进一步强化了自动化测试集成与DevOps流水线对接,特别适合中大型制造企业的研发部门及追求自主可控的IT团队,以极高的性价比实现了从需求到发布的全链路追踪。

  1. Jira

全球敏捷开发的标杆,Jira以其无与伦比的插件生态和自定义工作流著称。它适合复杂度高、需要极度灵活配置的大型跨国团队,能够轻松应对大规模并发需求管理,是许多国际范儿IT团队的首选。

  1. Redmine

这款开源界的经典之作,以免费、灵活、多项目并行管理见长。虽然界面略显复古,但其强大的Gantt图功能和权限控制系统,使其在预算有限但流程规范的中小型工程团队中依然占据重要地位。

  1. Azure DevOps

微软出品的全能型选手,不仅包含看板管理,更深度集成了代码仓库、CI/CD流水线及测试计划。对于全面拥抱微软技术栈的企业,它能提供​无缝衔接的一站式研发体验​。

  1. GitLab

以代码托管起家,如今已进化为完整的DevOps平台。GitLab强调“单一数据源”,将项目管理直接嵌入代码提交与合并请求中,极大缩短了开发到反馈的周期,深受极客团队喜爱。

二、通用协作与任务管理:灵活适配多场景需求

这一类工具打破了行业壁垒,以直观的看板和列表视图,服务于市场、运营及部分轻量级研发团队。

  1. Trello

看板管理的鼻祖,Trello以“卡片”为核心,操作极其简单直观。它非常适合创意构思、内容排期等非线性工作流程,让团队成员一眼看清任务状态,降低上手门槛。

  1. Asana

兼顾美观与功能,Asana在任务依赖关系和时间线展示上表现出色。其智能字段和自动化规则功能,能帮助团队减少重复性操作,特别适合跨部门协作复杂的中型企业。

  1. Monday.com

以高自由度的色彩化界面闻名,Monday.com允许用户像搭积木一样构建自己的工作流。它在资源管理和可视化报表方面表现优异,深受非技术背景的管理者青睐。

  1. ClickUp

号称“一个App替代所有”,ClickUp集成了文档、目标、聊天及任务管理。其丰富的视图模式(列表、看板、日历、甘特图等)和极高的自定义程度,使其成为追求"All in One"团队的热门选择。

  1. Teambition

阿里旗下的协作平台,Teambition深度融合了钉钉生态。其在文件协作、日程安排及任务分发上具有本土化优势,特别适合已使用钉钉作为办公基座的中国企业。

三、创意设计与内容生产:视觉化与灵感碰撞

创意行业需要的是激发灵感而非束缚思维,因此工具更侧重于视觉呈现、素材管理及评审流程。

  1. Notion

不仅是笔记工具,更是​知识库与项目管理的结合体​。Notion的块状编辑器和数据库功能,让创意团队可以自由搭建Wiki、头脑风暴墙及内容日历,是知识密集型团队的最爱。

  1. Airtable

电子表格与数据库的完美融合,Airtable强大的关联字段和视图切换功能,使其在处理大量素材库、选题库及排期表时游刃有余,特别适合媒体与广告公司。

  1. Wrike

以动态请求表单和实时协作证明功能著称,Wrike能有效管理创意审批流程,减少邮件往来,确保设计稿的修改意见清晰可追溯。

  1. Basecamp

倡导“冷静工作”理念,Basecamp摒弃了繁杂的通知打扰,聚焦于消息板、待办清单和自动签到。它非常适合远程办公的创意小组,营造专注的创作氛围。

四、企业级综合管控与新兴力量:宏观视野与智能化

面向大型集团或特定垂直领域,这些工具提供了更宏观的资源调度与智能化分析能力。

  1. Microsoft Project

传统项目管理的王者,Microsoft Project在复杂甘特图绘制、关键路径分析及资源负载均衡方面依然无可替代,是大型基建与制造业制定严密计划的标配。

  1. Smartsheet

拥有电子表格的熟悉界面,却具备企业级的项目管理能力。Smartsheet在自动化工作流和数据汇总方面表现强劲,适合习惯Excel操作但需要协同管理的财务或运营团队。

  1. OmniPlan

macOS生态下的专业项目管理工具,OmniPlan以其精美的界面和强大的关键路径算法,深受苹果生态设计师及独立项目管理专家的推崇。

  1. 飞书项目 (Meego)

字节跳动推出的新一代研发管理工具,飞书项目深度融合了即时通讯与文档协作。其流畅的交互体验和智能化的效能洞察,正在成为新生代互联网团队的新宠。

结语

工欲善其事,必先利其器。从禅道的专业研发闭环,到Jira的生态广度,再到Notion的灵动创意,这18款工具各有千秋。企业在选型时,不应盲目追求功能最全或名气最大,而应回归业务本质:​IT团队重流程严谨,制造团队重计划落地,创意团队重协作灵活​。希望这份2026年的专属清单,能助您在纷繁的工具海洋中找到那把开启高效之门的钥匙,让项目管理真正成为推动业务增长的引擎。

之前发帖聊过一次,不过那个号被盗了,我直接把原文贴出来吧:

人该如何面对无尽虚空中的孤独与恐惧

我设想,当人死亡之后,或者是因重伤、重症丧失所有感官功能时,将会切断与世界的一切连接,独留下思维意志,在无尽的虚空中飘零,甚至可能还伴有残存的肉体痛苦,每每想到这里,就会有不可控的窒息感和恐惧,让我不得不停下来。

它的可怕之处,就在于极致的孤独,以及无尽的时间,让人绝望。

然而这可能是每个人又终将面对的终局,或者至少是个过程。

那么各位是否有思考过如何排解这种恐惧呢?

我认真想了一些方法,也许能一定程度抵抗和消解这种折磨,也许能够在虚空中达成自洽,抛砖引玉,期待共同探讨:

  1. 编剧式幻想。就是给自己编造故事,比如环球旅行,甚至星际旅行,先设立一个远大目标,然后可以给自己赋予背景和一点超能力,接着幻想自己一个接一个地前往各个地方,了解当地风土,在当地结识伙伴,产生羁绊……这样可以在自己幻想的世界里生活下去,但也不用强迫自己一直幻想,只要在想进入幻想中的时候继续就可以。
  2. 唱歌或念咒。心中吟唱你喜欢的歌,听过的歌,自己瞎编的歌,或者诵念佛教六字大明咒这类简单好记又容易进入禅定状态的咒语,以此来获得情感体验,或是平静安宁。
  3. 坚信会等到新世界。想象自己是在等公交车,你确实无法确知公交车何时会来,但是可以相信它一定会来。时间并不是无限的,结合 1 和 2 ,你的思想和咏唱都一定是有时间尺度的,每刻都会离新世界更近一步,你可以在此畅想新世界的美好与挑战。
  4. 死后世界的信仰。可以从现在开始,多了解,并选择那么几个你觉得靠谱又比较正面的信仰来尝试,不一定是宗教,像我比较倾向于“大圣灵”这种说法,大意是说人类本质上是纯粹的能量体,以肉体诞生的使命是获取宇宙中的不同的体验,在人死亡之后,会以能量的形式回到宇宙中的“大圣灵”那里,在那里你会与所有归来的人类共处,并可以共享他们的生命体验,你可以肆意游走在你喜欢的体验中。唯一需要注意的是,如果你在你创造的体验中,对别人造成了伤害,那么你在接入“大圣灵”的时候也会体会到同样的痛苦。

另外,死亡是不可避免的,却也是相对而言更容易坦然面对的,因为终究逃不掉,而且至少还会有故去的所有生灵与我们相伴,就算需要经过一段孤独的旅程,也愿意充分相信终将团聚。而因重伤、重症导致切断与世界连接的情况,是更让人担忧的,我觉得我们所能做的,更多的是利用生前嘱形式,告诉家人,当我们陷入这类情况时,不要再做无谓抢救,那样只会平添苦痛折磨,应该坦然接受死亡,并希望通过充足的止痛、安眠类药物,帮我们度过生命末期这些痛苦的时刻。

最后,本文虽不成体系,不够完备,但也愿意被任意转载,无需署名,你也可以根据自己的想法随意删改内容,只希望能够有更多思考、探讨,或是抚慰。

昨晚突然头疼到睡不着,还伴随着鼻塞,继而又触发了对死亡、窒息的恐惧,而且在头疼难忍和极度恐惧之下,是很难诱导自己思考别的事转移注意力的,这时候我发现最好的办法就是心里从 1 到 8 不断重复数数,只管数就行,如果有余力就暗示自己:可以接受死亡,这是所有生物都会有的归宿,经历过死亡之后的世界是更令人期待的,痛苦只是人生必要的体验,所有人都与我同在。

我觉得最重要的就是用数数的方法给自己时间感,让自己确信痛苦再多也不是无尽的,时间终会将之结束,但也不要真的去计数来放大绝望感,就在 1-8 之间循环就可以,不用在意实质经过多少时间,只活在当下就行。

希望这点经验能对大家有用,也欢迎一起探讨。

PS:我日常身体心理都挺健康的;这种头痛现象之前也出现过一两次,原因不明,猜想和流感之类的有关,因为基本都是受凉后夜间出现,捂着被子保暖几小时往往就没事了;死亡恐惧是有时候晚上胡思乱想的时候容易触发,但近期也很少出现了。

  • 自卑,农村孩子,家庭条件不是很好,很小父母就外出打工,从小学到大学好像父母的印象都很淡。做事都要考虑自己能不能承受起,比如小时候别人欺负我,我怕把别人打了医药费付不起。
  • INFP
  • 巨蟹
  • 牡丹
  • 普通程序员
  • 周末基本在跑山

大学

大学时暗恋同班的一个女生,平常总是关注她,都是主动帮忙。但是从没表达过喜欢。

那天全班聚餐,她没有来,问她,她说和 xx 再一起了,来不了了。xx 也是我认识的人,我其实挺惊讶的。那天晚上喝多了,在宿舍的阳台上给她语音,

:你们什么时候开始的(强装冷静)

:xxx

:那我们还是朋友吧

:嗯

……

还说了什么我已经记不清了。

之后我们依然保持着很好的关系,参加了他们的婚礼。

工作三年 四五线城市

大学社团认识的一个妹子,不知道是不是和我的同学都是高颅顶的缘故,我感觉我是有点喜欢的,暗恋。平常也一起约饭(不是单独)

有次吃饭偶尔提起说一个化妆品三四百,我在想,我两三千的工资(三年一直在这个公司),买几个化妆品就会变得拮据,怎么能给别人幸福呢。

恰巧现在公司经营不好,请假出去完了一趟,回来找工作也不太好找。

思来想去,就奔赴上海投奔我大学舍友(他刚毕业就进入了软件行业)了。现在看来,虽然入门有点晚了,但是还算赶上了

工作四五年

过来自学、找工作的那段时间及之后的一两年,基本上断断续续,我早上嘘寒问暖,晚上一起玩游戏。就这样过了几个月?有一天她好朋友留言给我说,你来北京吧(那个妹子也去了北京),你俩能成。

那一刻,我忽然感觉像做坏事被发现了一样

我是没有勇气再换个城市的,是不是要放手

那晚 我写下了当时难受和点点滴滴,然后将他们锁到了柜子里。

后来联系少了。

工作八九年

正好疫情放开,那会为了去雨崩,专门买了个相机。

之后再参加上海周边游的时候遇到了一个姑娘

恰好当时对摄影有兴趣,恰好她当时也喜欢被拍

后面接触的多了,经常约着去徒步 citywalk ,

我经常关注她,我拍的照片她也喜欢,她也经常批评

有一天晚上吃饭,她说你们还记的那次我们一起徒步的 xx 吗 我们在一起了

那种感觉又来了。

工作十几年

现在室友,大学就认识,一个省的,中间她有过男朋友,差点结婚的那种。

有天在朋友圈看到她骨折了,想着去看看她,才知道她分手了

之后我陪着她出院、复诊

后面很长一段时间都没有联系了

又是在朋友圈,她找室友,之前室友要离开了。

我和她约好一起找房子。

住在一起(不是同居)后,我经常做饭(其实之前我虽然有厨具,但是也不咋做饭的)

她说她平常也不这么温柔的,有点暴躁的,但是聊天的时候我一点也没有感觉出来。

我们从小时候聊到大学,从过去聊到现在,从自己的家庭聊到对方的家庭,有一次聊到了三点多。春节在家,也基本上每天都在聊天。

好久没有人和我聊这么久了,后来我会莫名的盯着她看,就是时不时的想看

有一瞬间,我感觉我是不是喜欢她了。

看到很多人说过,人生的一大错觉就是以为她也喜欢你,确实是,我也有这种感觉。

前天的时候,她就说要试试相亲网站(害怕失去?(可是拥有过吗?))

昨天晚上特地买了蛋糕(她喜欢吃),当吃饭聊天的时候,她说,等我先加一个小弟弟,她在小红书发相亲贴来着。

过了一会说,他们约了周日见面。

虽然我早有心理预期,但是听到这个消息时,我去拿蛋糕过来分,然后吃蛋糕的时候,我身体竟然在抖,我都不敢看她眼睛。努力的保持镇静,她也问过,今天为啥买蛋糕,我也不知道怎么回答。过了好一会 我吃完蛋糕才敢看她。

症结

感觉我很难(不敢)进入一个亲密关系

不知道是不是喜欢的感觉

so,我要怎么办呢

PS ,求轻喷

坐标上海,程序员,2 年前这里的老板喊我过来全职(之前是甲乙方关系),到 3 月就整整 2 年了,沪漂 2 年,还是跟老婆异地,决定离职了。
目前的情况是,我现在做的事情是老板想做的一个平台,还在起步阶段,目前就我一个程序员,平台大部分已经完成了,可能有很多需要优化的地方。老板也是年轻人,同事也都是年轻人,大家人都挺好的,对我也都挺好的,所以我感觉我如果提离职就像临阵退缩一样,很对不起他们。
很苦恼该怎么跟他们说,以及我走了后这个程序该怎么办。

在工业物联网改造项目中,将传统 RS-485、Modbus 等有线接口传感器接入 LoRaWAN 网络,是一个高频且现实的需求。然而,在实际工程中,常见的三种协议转换方案各有局限,往往在网络容量、功耗、扩展性或开发成本之间做出妥协。

本文将系统分析三种主流方案的技术瓶颈,并介绍门思科技推出的 EdgeBus(EB)如何以“边缘智能运行时”的方式,从架构层面重构 LoRaWAN 终端的能力边界,实现真正低成本、可持续演进的协议对接模式。


一、传统三种 LoRaWAN 协议转换方案的局限

Plan A:Server 侧轮询模式

由网络服务器(NS)或应用服务器(AS)周期性下发读取指令至终端,终端响应后再上传数据。

核心问题在于 LoRaWAN 上下行链路的天然不对称性。

LoRaWAN 的设计强调超低功耗与大规模并发接入能力,其上行容量远高于下行容量。下行信道资源极为稀缺,频繁轮询会:

  • 大量占用下行窗口
  • 降低网络整体容量
  • 影响其他终端通信
  • 削弱 LoRaWAN 在“海量终端接入”场景中的优势

高频 Server 轮询,本质上违背了 LoRaWAN 低功耗广覆盖的设计初衷。


Plan B:DTU 定时透传模式

DTU 预设定时任务,主动读取传感器数据,并以透传方式上报原始数据。

该方案避免了下行压力,但存在明显技术短板:

  • 无本地数据解析能力
  • 无法提取特定寄存器值
  • 不支持数据裁剪与压缩
  • 不支持 COV(Change of Value)触发
  • 无法实现动态周期调整
  • 难以进行多设备数据聚合

本质上,它只是“无线数据管道”,而非“智能终端”。


Plan C:裸机 MCU 嵌入式开发

基于 MCU 编写 C/C++ 固件,实现协议栈与业务逻辑。

虽然灵活,但代价极高:

  • 驱动适配复杂
  • 协议解析耗时
  • LoRaWAN 协议栈集成难度大
  • 低功耗优化成本高
  • 测试周期长
  • OTA 升级风险高

一旦业务逻辑变更,往往需要整包固件升级,运维成本与项目风险显著增加。


二、EdgeBus:面向 LoRaWAN 的轻量级边缘智能运行时

EdgeBus 并非对上述方案的简单优化,而是一次架构重构。

它将 LoRaWAN 终端升级为“可编程智能节点”。


1 稳定可靠的执行基座

EdgeBus 基于超低功耗 MCU 构建轻量级 JavaScript 虚拟机(VM),内嵌:

  • TypeScript 运行时
  • LoRaWAN 协议栈
  • 内存安全机制
  • 工业级稳定性验证框架

相比裸机开发,它避免了指针错误、内存溢出等不确定性风险。


2 真正的边缘智能能力

使用 TypeScript,即可实现:

  • 多协议接入(Modbus RTU / ASCII / DL/T645 / 自定义串口协议)
  • 本地数据解析与清洗
  • 计算与融合(如能耗积分、温湿度融合)
  • 数据重组与物模型映射
  • COV 触发上传
  • 动态周期调整
  • 多设备数据聚合打包
  • 异常优先上报

终端不再只是“数据搬运工”,而成为具备决策能力的边缘节点。


3 极简集成与持续演进

典型 RS-485 + Modbus 传感器接入流程:

协议对接 → 数据逻辑开发 → ThinkLink 物模型绑定 → OTA 部署

≤ 30 分钟即可完成。

核心优势包括:

  • 插件化架构(EdgeBus 插件可热插拔)
  • JSON/YAML 声明式配置
  • FUOTA 远程升级支持
  • 无需返厂,无需更换硬件

真正实现:

一次部署,持续进化。


三、EdgeBus 的核心价值

EdgeBus 将 LoRaWAN 终端从“哑设备”升级为“智能计算节点”,在不牺牲电池寿命与网络容量的前提下释放边缘计算能力。

它带来的改变包括:

  • 支持非标协议与异构设备
  • 扩展 LoRaWAN 可接入传感器类型
  • 从基础抄表延伸至预测性维护
  • 支持能效优化与状态感知
  • 降低开发与运维门槛

四、TKL + EB:存量市场改造的新范式

ThinkLink(TKL)与 EdgeBus(EB)组合方案,实现:

硬件先行
软件后置
远程可控
快速迭代

这种模式特别适用于:

  • 传感器厂商
  • 系统集成商
  • 智慧城市解决方案商
  • 能源管理与工业物联网项目

它不仅解决了传统设备无线化接入问题,更构建了可规模复制的物联网项目模型。


合作与体验

如果您有将传统设备接入 LoRaWAN 网络的需求,我们诚挚邀请您与门思科技合作。

我们提供:

  • 免费技术支持
  • 免费协议对接服务
  • 无需支付费用
  • 提供设备样品与说明书即可启动对接

ThinkLink 体验地址:
https://thinklink.manthink.cn

ThinkLink 官网:
https://www.think-link.net

先看一道题,先自己看是否能做出来,有一定的难度哦。

console.log('1');

// 宏任务 A
setTimeout(() => {
  console.log('2');
  Promise.resolve().then(() => {
    console.log('3');
  });
}, 0);

async function task1() {
  console.log('4');
  await task2(); 
  console.log('5');
}

async function task2() {
  console.log('6');
  // 关键点:返回一个尚未 resolve 的 Promise
  return new Promise((resolve) => {
    // 宏任务 B
    setTimeout(() => {
      console.log('7');
      resolve();
    }, 0);
  });
}

task1();

new Promise((resolve) => {
  console.log('8');
  resolve();
}).then(() => {
  // 微任务 1
  console.log('9');
  // 宏任务 C
  setTimeout(() => {
    console.log('10');
  }, 0);
});

console.log('11');

正确答案最后揭晓。

先给出做出这道题所需要用到的知识点:

  1. 宏任务与微任务的“入队门票”
    同步代码:是第一个宏任务,永远拥有最高执行权。
    微任务 (Promise.then/await):只要被触发(Resolve),就立即进入微任务队列,在当前宏任务结束前清空。
    宏任务 (setTimeout):被调用时只是在排队,必须等前面的宏任务及其产生的微任务全部处理完,才轮到下一个。
  2. await 的“转化分水岭”
    这是最容易犯错的地方。记住你的通关公式:
await fn();
console.log('后续');

// 等价于
fn().then(() => {
  console.log('后续');
});

如果 fn() 是同步的:后续代码立即进微任务队列。
如果 fn() 包含异步(如 setTimeout):后续代码必须等那个异步操作执行完并调用 resolve 后,才会被推入微任务队列。

  1. 宏任务的“排队竞争”
    宏任务之间比的是 “谁先到达计时终点”(在 0ms 延迟下,就是比谁的代码先被执行到)。
    即便一个宏任务是在微任务里产生的(比如题中的 10),它也必须排在已经存在的宏任务队列末尾。
  2. 终极执行模型:套娃逻辑
    宏任务 A -> 执行 A -> 清空 A 产生的微任务 -> 渲染 UI -> 执行下一个宏任务 B。
    如果微任务里又产生了宏任务,它不会“插队”,而是去宏任务队列最后排队。

最后只需要记住一个中级规则,是先执行微任务,在执行宏任务,执行完一个宏任务,必须要清空他所产生的所有微任务
比如这个 3 就是紧跟2 后面的

// 宏任务 A
setTimeout(() => {
  console.log('2');
  Promise.resolve().then(() => {
    console.log('3');
  });
}, 0);

在数字化办公与企业数据处理中,Excel早已成为不可或缺的工具,而“格式化”看似是基础小功能,却是让数据从杂乱无章变得清晰规范、直观易懂的关键——无论是财务报表的货币精准显示,还是考勤表的日期规范,亦或是重点数据的颜色标注,格式化都在默默发挥作用。对于企业而言,当需要将本地Excel报表迁移至Web端、移动端,实现在线协同编辑时,“格式化能否完美还原”成为核心痛点之一。

作为葡萄城推出的纯前端表格控件,SpreadJS始终以“极致兼容Excel”为核心优势,兼容Excel 90%以上常用功能,其中仅单元格格式化就支持Excel 53项核心格式,实现了从基础显示到特殊场景的全维度兼容。今天,我们就以Excel格式化功能为切入点,详细拆解其常用用法,并对比SpreadJS的兼容能力,带你看清“小功能背后的大兼容”,读懂SpreadJS为何能成为企业级Excel迁移的首选方案。

一、Excel格式化核心用法全解析

Excel的格式化功能,本质是“不改变数据本身,仅调整其显示形态”,核心分为五大类——数字格式、日期格式、Era格式、DBNum格式、颜色格式,每一类都对应着不同的办公场景,是提升数据可读性与专业性的关键。

(一)数字格式:让数值呈现更精准、更规范

数字格式是Excel中最常用的格式化功能,用于调整数值的显示形式,避免因数值杂乱导致的误解,常见于财务报表、统计分析、数据汇总等场景。其核心用法分为5类,覆盖绝大多数办公需求:

  1. 常规格式:Excel默认格式,自动识别数值类型(整数、小数),不添加任何额外标识,例如输入“12345”显示“12345”,输入“12345.678”显示“12345.678”,适合无需特殊规范的临时数据。
  2. 数值格式:可自定义小数位数、是否显示千分位分隔符,例如将“1234567.89”设置为“数值(2位小数,千分位)”,显示为“1,234,567.89”;将“0.1234”设置为“数值(1位小数)”,显示为“0.1”,适合大额数据、精准统计场景。
  3. 货币格式:添加货币符号(人民币¥、美元$等),可自定义小数位数,例如将“12345.67”设置为“人民币货币格式”,显示为“¥12,345.67”,是财务报销、账单统计的必备格式。
  4. 百分比格式:将数值转化为百分比形式(自动乘以100并添加“%”),例如输入“0.12”,设置后显示为“12%”;输入“1.5”,显示为“150%”,适合增长率、占比等场景。
  5. 自定义数字格式:满足特殊需求,例如将“0”显示为“-”(避免空白尴尬)、将“123456”显示为“123,456.000”(固定3位小数+千分位),甚至可结合文本,例如“¥0.00 元”,让数值显示更贴合业务场景。

操作方式:选中单元格 → 右键“设置单元格格式” → 选择“数字”选项卡,按需选择格式或自定义格式代码。
在这里插入图片描述

(二)日期格式:让时间呈现更清晰、更统一

Excel中的日期本质是“序列号”,但通过日期格式化,可转化为人类易读的形式,常用于考勤表、报表日期、项目进度等场景,核心用法分为2类:

  1. 默认日期格式:Excel内置多种常用格式,例如“2026/02/04”“2026-02-04”“2月4日 2026”“2026年2月4日”,可根据办公习惯选择,避免日期格式混乱(例如既有“2026.2.4”,又有“2026-02-04”)。
  2. 自定义日期格式:满足特殊场景需求,例如显示星期(“2026年2月4日 星期三”)、显示时分秒(“2026-02-04 09:52:00”)、显示季度(“2026年Q1”),甚至可自定义简化格式(“26/02/04”),适配不同报表的显示需求。

操作方式:选中单元格 → 右键“设置单元格格式” → 选择“日期”选项卡,按需选择默认格式;若需自定义,选择“自定义”选项卡,输入格式代码(如“yyyy年mm月dd日 aaaa”显示带星期的完整日期)。

在这里插入图片描述

(三)Era格式:适配特殊纪年场景的小众但关键格式

Era格式(纪年格式)是Excel中相对小众但不可或缺的格式,主要用于适配特定地区的纪年方式(如日本的平成、令和纪年,中国的民国纪年等),核心应用于涉外办公、特殊行业报表场景。

Excel中的Era格式用法:通过自定义格式代码,结合地区纪年规则,实现纪年显示。例如,将“2026年2月4日”设置为日本令和纪年格式,显示为“令和8年2月4日”;设置为民国纪年格式,显示为“民国115年2月4日”。其核心是通过Locale ID(地区标识)关联对应纪年规则,确保纪年换算精准。

操作方式:选中单元格 → 右键“设置单元格格式” → 选择“自定义”选项卡,输入包含Era规则的格式代码(如“[$$-411]gg年mm月dd日”,其中$$-411”为日本地区标识,“gg”代表纪年)。

在这里插入图片描述

(四)DBNum格式:中文数字格式,适配中文办公场景

DBNum格式(中文数字格式)是Excel专为中文办公设计的格式,用于将阿拉伯数字转化为中文数字(小写、大写),核心应用于财务票据、中文报表、法律文书等场景,避免数字篡改,提升专业性。其核心用法分为2类:

  1. DBNum1(中文小写):将阿拉伯数字转化为中文小写数字,例如“123”显示为“一百二十三”,“1234.56”显示为“一千二百三十四点五六”,适合普通中文报表场景。
  2. DBNum2(中文大写):将阿拉伯数字转化为中文大写数字,例如“123”显示为“壹佰贰拾叁”,“1234.56”显示为“壹仟贰佰叁拾肆点伍陆”,是财务票据的必备格式(如支票、报销单),因为中文大写数字难以篡改。

操作方式:选中单元格 → 右键“设置单元格格式” → 选择“自定义”选项卡,在格式代码中输入“[DBNum1]General”(小写)或“[DBNum2]General”(大写),即可完成转化。

在这里插入图片描述

(五)颜色格式:让重点数据更突出、更易识别

颜色格式用于调整单元格的字体颜色、背景颜色,以及基于数据规则的条件颜色,核心作用是“突出重点、区分层级”,常用于异常数据标注、数据分类、报表美化等场景,核心用法分为2类:

  1. 普通颜色格式:手动设置单元格字体颜色、背景颜色,例如将报表表头设置为“蓝色字体+灰色背景”,将重点数据(如最大值、最小值)设置为“红色字体”,让报表层级清晰、重点突出。Excel内置多种标准颜色,也支持自定义颜色(精准匹配企业品牌色)。
  2. 条件颜色格式:基于数据规则自动调整颜色,无需手动操作,是高效办公的核心技巧。例如:将“大于1000的数值”设置为“红色背景+白色字体”,将“小于0的数值”设置为“黄色背景”,将“重复数据”设置为“粉色背景”;还支持色阶、数据条、图标集(如箭头、星级),直观呈现数据大小关系(如数值越大,背景色越深)。

操作方式:普通颜色格式——选中单元格 → 点击顶部菜单栏“字体颜色”“填充颜色”按钮,按需选择;条件颜色格式——选中单元格区域 → 点击顶部菜单栏“条件格式” → 选择对应规则(如“突出显示单元格规则”“色阶”),设置条件与颜色。

在这里插入图片描述

二、SpreadJS vs Excel:格式化功能的极致兼容

SpreadJS作为葡萄城推出的纯前端表格控件,核心优势之一就是“极致兼容Excel”,其中对格式化功能的兼容,更是做到了“形态一致、操作一致、体验一致”——无论是常用的数字、日期格式,还是小众的Era、DBNum格式,甚至是复杂的条件颜色格式,SpreadJS都能完美还原,无需修改任何格式设置,即可实现Excel文件的无损导入导出,彻底解决企业Web端报表迁移时的格式错乱痛点。

以下是五大格式化功能的详细兼容对比,用“小功能”见证SpreadJS的兼容实力:

(一)数字格式:全量兼容,支持自定义扩展

SpreadJS完全兼容Excel所有数字格式,包括常规、数值、货币、百分比格式,以及自定义数字格式,具体兼容细节如下:

  • Excel中所有默认数字格式(如货币符号、千分位、小数位数设置),SpreadJS可1:1还原,导入Excel文件后,数值显示形态与Excel完全一致,例如Excel中“1,234,567.89”的数值格式,在SpreadJS中无需调整,直接显示为相同形态。
  • 支持Excel所有自定义数字格式代码,包括特殊符号、文本结合、条件数字格式(如“0;-0;;@”),例如Excel中“0显示为-”的自定义设置,导入SpreadJS后可正常生效;同时,SpreadJS还支持自定义格式的二次扩展,可结合业务需求,在Excel格式基础上新增自定义规则,兼顾兼容性与灵活性。
  • 兼容Excel数字格式的批量操作逻辑,例如通过格式刷复制数字格式、通过选择性粘贴“仅粘贴格式”,操作方式与Excel完全一致,降低用户学习成本,让习惯Excel操作的用户可无缝切换至SpreadJS。

核心优势:SpreadJS内置53项单元格格式,完全覆盖Excel数字格式需求,导入导出过程中无格式丢失、无形态错乱,即使是复杂的自定义数字格式,也能实现“零差异”还原,满足财务、统计等对数值格式要求极高的场景。

(二)日期格式:精准兼容,适配多地区场景

SpreadJS对Excel日期格式的兼容,不仅实现了“显示形态一致”,更做到了“纪年规则、时区适配一致”,具体细节如下:

  • 全量兼容Excel默认日期格式与自定义日期格式,包括带星期、时分秒、季度的格式,例如Excel中“2026年2月4日 星期三 09:52:00”的自定义格式,在SpreadJS中可完美还原,无任何显示偏差。
  • 支持Excel日期格式的“自动识别”功能,例如在Excel中输入“2026-02-04”,自动识别为日期并应用对应格式,SpreadJS同样支持该功能,输入相同内容后,可自动匹配Excel的日期格式规则,无需手动设置。
  • 支持多地区日期格式适配,可通过设置Culture(文化),适配不同地区的日期显示习惯(如en-us的“MM/dd/yyyy”、ja-jp的“yyyy/MM/dd”),与Excel的地区适配逻辑完全一致,满足涉外办公场景需求。

核心优势:SpreadJS的日期格式化逻辑与Excel同源,不仅能还原显示形态,更能还原操作逻辑,无论是手动设置还是自动识别,都与Excel体验一致,同时支持多地区适配,让跨地区协作的报表格式统一。

(三)Era格式:小众场景全覆盖,纪年精准无偏差

尽管Era格式应用场景小众,但SpreadJS依然做到了“极致兼容”,完美覆盖Excel中所有Era纪年格式,具体细节如下:

  • 支持Excel中所有Era纪年规则,包括日本令和、平成纪年,中国民国纪年等,通过匹配Excel的Locale ID(如“$-411”对应日本地区),实现纪年格式的1:1还原,例如Excel中“令和8年2月4日”的格式,导入SpreadJS后可正常显示,纪年换算精准无偏差。
  • 兼容Excel Era格式的自定义设置,可通过格式代码调整纪年显示形态(如“令和8年”“R8年”),与Excel的自定义逻辑完全一致,满足不同涉外场景的纪年显示需求。

核心优势:SpreadJS是少数能实现Era格式全兼容的前端表格控件,无需额外开发,即可直接支持Excel中的特殊纪年格式,解决涉外企业、特殊行业的报表迁移痛点,体现产品的专业性与细致度。

(四)DBNum格式:中文场景适配,财务级精准兼容

针对中文办公场景的DBNum格式,SpreadJS实现了“财务级精准兼容”,完美还原Excel中中文小写、大写数字的转化规则,具体细节如下:

  • 全量兼容Excel的DBNum1(中文小写)、DBNum2(中文大写)格式,阿拉伯数字与中文数字的转化规则与Excel完全一致,例如“1234.56”在Excel中设置为DBNum2格式显示为“壹仟贰佰叁拾肆点伍陆”,在SpreadJS中导入后显示完全相同,无任何错别字、格式偏差。
  • 兼容Excel中DBNum格式与其他格式的组合使用,例如“[DBNum2]General 元”(显示为“壹仟贰佰叁拾肆点伍陆 元”),导入SpreadJS后,组合格式可正常生效,满足财务票据的显示需求。
  • 支持DBNum格式的批量应用,通过格式刷、选择性粘贴等操作,与Excel操作逻辑一致,提升财务人员的办公效率。

核心优势:SpreadJS深度适配中文办公场景,DBNum格式的转化精准度达到财务级标准,可直接用于支票、报销单等关键财务文档,彻底解决中文数字格式迁移时的错乱问题,让财务报表迁移更安心。

(五)颜色格式:像素级还原,条件规则全兼容

SpreadJS对Excel颜色格式的兼容,做到了“像素级还原”,无论是普通颜色还是复杂的条件颜色,都能完美复刻,具体细节如下:

  • 普通颜色格式:兼容Excel所有内置颜色、自定义颜色(包括RGB、HEX颜色值),Excel中设置的字体颜色、背景颜色,导入SpreadJS后,颜色精准无偏差,例如企业自定义的品牌色(如#1E40AF),可完全还原,保证报表美化效果一致。
  • 条件颜色格式:全量兼容Excel 18种条件格式规则,包括突出显示单元格规则、最前/最后规则、色阶、数据条、图标集等,条件逻辑、颜色搭配与Excel完全一致。例如Excel中“大于1000显示红色背景”“数值越大背景色越深”的条件设置,导入SpreadJS后,数据变化时颜色会自动调整,与Excel的触发逻辑完全相同。
  • 兼容Excel颜色格式的编辑操作,例如修改条件颜色规则、调整背景色透明度、清除颜色格式等,操作方式与Excel完全一致,用户无需学习新操作,即可快速上手。

核心优势:SpreadJS的颜色渲染引擎与Excel同源,颜色还原度达到像素级,同时支持条件颜色的实时联动,让Web端报表不仅“长得和Excel一样”,功能体验也完全一致,满足报表美化与重点数据标注的需求。

三、小功能见真章:兼容背后的企业价值

格式化看似是Excel中的“小功能”,但却是企业报表迁移、在线协同办公的“关键痛点”——很多企业在将本地Excel报表迁移至Web端时,往往会出现格式错乱(如千分位丢失、日期显示异常、颜色偏差),导致报表无法正常使用,需要投入大量人力手动调整,增加研发成本与办公成本。

而SpreadJS对Excel格式化功能的极致兼容,恰恰解决了这一痛点:无论是常用的数字、日期格式,还是小众的Era、DBNum格式,亦或是复杂的条件颜色格式,都能实现“零差异”还原,Excel文件导入导出无损,无需手动调整格式。这背后,是SpreadJS对Excel内核的深度解析与复刻,也是其“高兼容、高性能、强扩展”核心优势的具体体现——截至目前,SpreadJS已兼容Excel 90%以上常用功能,支持513种Excel公式、32种图表、182种形状,成为华为、苏宁易购、天弘基金等行业龙头企业的首选前端表格控件。

对于市场从业者而言,SpreadJS的高兼容性的是核心竞争力,可帮助企业快速实现Excel报表的Web化迁移,无需改变用户使用习惯,降低推广与培训成本;对于产品经理而言,SpreadJS可快速集成至Web应用、H5小程序、APP等各类终端,适配Vue、React、Angular等主流前端框架,无需投入大量研发成本开发格式化功能,即可为用户提供原生Excel体验;对于大众用户而言,无论是日常办公的简单报表,还是复杂的财务、统计报表,都能在SpreadJS中实现与Excel一致的格式化操作,无缝切换,提升办公效率。

四、总结:以兼容之力,重塑Web端表格体验

Excel格式化功能的价值,在于让数据更规范、更直观、更专业;而SpreadJS的价值,在于让这份“规范与专业”,能够无缝迁移至Web端、移动端,打破本地Excel的使用局限。从常用的数字、日期格式,到小众的Era、DBNum格式,再到复杂的颜色格式,SpreadJS用每一个“小功能”的极致兼容,证明了其“业界领先的Excel兼容度”。

在数字化转型加速的今天,企业对表格工具的兼容性、性能和扩展性需求日益严苛,SpreadJS作为纯前端表格控件,不仅实现了Excel格式化的全量兼容,更具备跨平台、强扩展、高性能的优势,可支持万级以上数据的快速加载与计算,满足企业复杂报表、大数据填报等高性能需求。

小功能见真章,格式化的兼容,只是SpreadJS Excel兼容能力的一个缩影。未来,SpreadJS将持续深耕Excel兼容技术,还原更多Excel核心功能,让Web端表格体验无限接近原生Excel,为企业数字化转型提供更高效、更便捷的解决方案,助力企业实现“本地Excel体验+在线协同能力”的完美结合。

(注:文档部分内容可能由 AI 生成)

上期回顾( 2026 年 1 月)👉 https://v2ex.com/t/1189698

二月的交易日太少了,薅羊毛战术以短线为主,交易日少了对收益有影响。



如图,平均持股 13 天,还是做的短线。虽然收益比前两期差,但也满意了。

收益是已清仓的收益,但还没清仓的持仓多数都是亏的,因此可以说现在赚的这些钱都是“假”的。
我的想法是,只要我的持仓熬到回本,那这几个月赚的钱就会变成真的。注意,不是持仓回本等于回本,而是持仓回本就真的赚钱了。熬回本还是有可能、有信心的,因此心理压力不大。


另外,几个月前我参与了一个“幸福小目标”计划,前两天达到目标自动回款了。



投入 500 元,时长三个月,年化收益约 10%,收益金额才 8 元,大多数人都会嫌少吧。但这几个月我除了股票薅羊毛,其实也有玩基金薅羊毛,几个月下来我已经对风险与收益有了更多思考和感受(这也是玩薅羊毛的目的之一,而不是单纯为了赚钱),知道这样的收益已经算比较理想了,我也渐渐戒掉了“太贪”的人性弱点。


最后是笨蛋炒股原则,这是我自创的,目前只悟出了两个原则(后续可能增加):

1. 我是笨蛋,我是笨蛋,我是笨蛋
2. 笨蛋只知道,涨的时候卖是赚的

在实际操作中,我有“两笨”,一是底仓做长线拿着不动,涨也不卖跌也不卖,二是羊毛仓做短线只要有赚就卖不嫌少。

多元且赋权的团队,才是有影响力的团队。Natan Žabkar Nordberg 在QCon 伦敦场关于打造高影响力软件团队的演讲中提到这一点。他表示,“Session 0”可以帮助设定预期,确保团队成员以兼容一致的方式开展合作。

 

多样性,尤其是思维方式、背景、知识和人生经历的多样性,有助于我们创造更优质、更周全的解决方案,更好地解决问题。它还能帮助我们在问题出现之前进行预测,并找到改进方案的方法。

 

Žabkar Nordberg 解释说,当团队拥有多种思维方式和沟通风格时,也会带来新的或被放大的挑战。

 

当每个人的思考和表达方式都相似时,误解很少发生。但当情况并非如此时,很容易出现“你说的是一件事,对方听成了另一件事”的情况。这也增加了工作方式不一致的可能性。在这种情况下,假设和预期会变得更加危险,因为它们更容易出现错位。

 

他指出,沟通和相互理解至关重要——需要明确预期,讨论角色与职责,建立对“我们要实现什么、为什么要做”的共同理解。常见做法包括团队启动或阶段对齐会议(例如开展一次 Session 0)、定期回顾会议,以及传统的非工作类交流,无论是一对一还是团队形式。

 

这些做法对于任何团队来说都是健康且有益的,不论团队是否多元。只是当环境更加多样化时,它们的重要性会显著提升,Žabkar Nordberg 称这是因为成功应对潜在问题所带来的正面影响也更大。

 

Žabkar Nordberg 提到,“Session 0”这一概念借鉴自《龙与地下城》(简称 D&D)。

D&D 是一种桌色扮演桌游,一个非常有趣的特点是它本质上没有预设目标。一名玩家(“地下城主”或 DM)创建并运行整个世界,其余玩家在其中扮演角色。除此之外,游戏的发展完全取决于玩家群体。

 

由于玩家可能希望从 D&D 游戏中获得不同体验,而加入游戏又是一种长期承诺,因此玩家之间的兼容性和目标一致性非常重要。Session 0 就是在第一次正式游戏之前进行的一次会议,核心问题是:“我们希望从接下来的游戏中获得什么?”

可能包括如下问题:

我们更关注战斗打怪,还是角色扮演与政治博弈?

是否有某些主题、行为或情境是我们不希望出现在游戏世界中的?

我们想要严肃的游戏风格,还是轻松搞笑的?

我们是否严格遵守规则,还是采用“酷规则”(rule of cool)——只要足够酷,就可以突破规则限制?

 

Žabkar Nordberg 表示,我们也可以在工作中开展 Session 0,可以是一对一(与直属下属、经理或同事),也可以是团队形式。

理念是相同的,只是问题变成了:“我们如何高效合作?”或“我们希望从一对一沟通中获得什么?”

 

他建议在参加 Session 0 时,提前准备好自己的答案。因为他经常听到的回应是:“我不太确定,你能先说吗?”或者类似的表达。他提醒,不要把 Session 0 变成一场关于“别人应该如何配合你工作”的讲座。可以用少量例子作为开场,然后将重点放在对方身上。

 

InfoQ 就职场多样性与 Session 0 采访了Natan Žabkar Nordberg

 

InfoQ:多样性如何影响团队动态?

Natan Žabkar Nordberg:举个简单的例子,我记得曾参加一次面试复盘会议(所有面试官一起讨论候选人,以确保评估公平一致)。其中两位面试官认为,这位候选人的表达清晰直接,令人耳目一新。而另外两位面试官却觉得这名候选人很无礼。

 

这并不是四场不同的面试——实际上,每对持相同观点的人中都有一人参加了同一场面试。我们坐在同一场面试中,却得出了完全不同的结论。我第一时间想到的是:认为候选人无礼的两位面试官都是英国人,而我们另外两人都来自欧洲斯拉夫地区——候选人也是。

 

想一想这个现象。同样的语言、肢体动作,却被如此不同地解读。这让我反思:有多少次我在无意中显得无礼?是否有人试图给我反馈,但因为他们表达得太过委婉,我反而没有意识到?因为我习惯的是更直接的沟通方式。又有多少小小的挫败感和误解,是由于我们天生不同的沟通风格(无论是性格差异还是文化差异)而不断累积的?

 

InfoQ:“Session 0”中你通常会问哪些问题?

Žabkar Nordberg:具体问题很大程度上取决于参与者之间的关系。例如,一个完整的产品工程团队,与经理和直属下属之间的对话,或者产品经理与工程经理之间的对话,讨论内容都会不同。

 

以下是我在一些 Session 0 中使用过的问题:

你的自然沟通风格是什么?

你更喜欢高度结构化的方式,还是更有机、灵活的方式?

你希望被如何表扬?私下还是公开?

你希望我给予多少支持?以什么方式?

我们如何一起留意新的机会?

 

这些问题更适用于经理与直属下属之间的对话,但其中一些也可以用于其他场景。如果你不知道该讨论什么,可以先思考这次 Session 的目的——帮助你和对方(或团队)更轻松、愉快、高效地合作。什么样的话题能帮助你们达到这个目标?

原文链接:

https://www.infoq.com/news/2026/02/create-impactful-teams-diversity/

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣!

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python 、Java 、Go 、C/C++、Swift...让你在短时间内感受到开源的魅力,爱上开源!


以下为本期内容|每月 28 号更新

C 项目

1 、voidImageViewer:比图片还小的免费看图工具。这是一款用 C 语言编写的 Windows 轻量级图片查看工具,让你几乎感受不到等待。它体积小、启动快,拥有极快的图片加载和切换速度,支持 JPG 、PNG 、WEBP 、BMP 、GIF 、ICO 、TIF 等主流图片格式。来自 @刘睿华 的分享

2 、Zen-C:像高级语言一样写 C 代码。这是一个现代系统编程语言,写起来像高级语言又能像 C 语言一样运行。它通过编译生成 GNU C/C11 代码,兼容 C ABI (应用程序二进制接口),支持无缝集成到现有的 C 语言生态,在保持 C 语言运行效率的基础上,提升开发体验。

import "std/net/tcp.zc"

fn main() {
    "Echo Server listening on :8080";
    let listener = TcpListener::bind("127.0.0.1", 8080).unwrap();

    loop {
        // Accept new connections
        let stream = listener.accept().unwrap();
        let buf: char[1024];
        
        while true {
            let n = stream.read(&buf[0], 1024).unwrap();
            if n == 0 { break; }
            stream.write(&buf[0], n);
        }
    }
}

C# 项目

3 、ParquetViewer:快速查看 Parquet 文件的桌面应用。这是一款专为 Windows 用户设计的 Parquet 文件查看与查询工具,支持浏览文件元数据、执行简单的 SQL 查询、打开单个文件或文件夹内的多个文件。

4 、Winhance:开箱即用的 Windows 系统优化工具。这是一款基于 C# 开发的 Windows 10/11 一站式系统优化工具,无需重装系统即可定制、精简系统。它集成了软件管理、系统优化、界面定制等功能,支持一键卸载预装应用、性能调优和界面美化,适用于重装系统或新机初始化。来自 @只是肚子太寂寞 的分享

C++ 项目

5 、MFCMouseEffect:Windows 鼠标特效增强工具。这是一款轻量级的 Windows 桌面鼠标/光标特效工具,支持点击波纹、粒子拖尾、悬停发光、漂浮文字等多种鼠标特效。来自 @sqmw 的分享

6 、zvec:轻量级进程内向量数据库。该项目是阿里开源的进程内向量数据库,无需独立部署即可直接使用。它基于 Proxima 引擎构建,提供本地化、低延迟的向量数据管理和语义检索能力,支持混合搜索、数据持久化、重排序等功能。

import zvec

# Define collection schema
schema = zvec.CollectionSchema(
    name="example",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)

# Create collection
collection = zvec.create_and_open(path="./zvec_example", schema=schema)

# Insert documents
collection.insert([
    zvec.Doc(id="doc_1", vectors={"embedding": [0.1, 0.2, 0.3, 0.4]}),
    zvec.Doc(id="doc_2", vectors={"embedding": [0.2, 0.3, 0.4, 0.1]}),
])

# Search by vector similarity
results = collection.query(
    zvec.VectorQuery("embedding", vector=[0.4, 0.3, 0.3, 0.1]),
    topk=10
)

# Results: list of {'id': str, 'score': float, ...}, sorted by relevance
print(results)

Go 项目

7 、lazyssh:终端交互式 SSH 管理工具。这是一款 Go 写的终端交互式 SSH 管理工具,基于 OpenSSH 执行连接安全可靠。它提供直观易用的终端界面,支持模糊搜索、排序、Ping 检查和一键连接等功能。来自 @孤胆枪手 的分享

8 、sql-tap:实时监控 SQL 流量的工具。这是一款基于 Go 开发的实时 SQL 流量监控工具,无需修改代码即可使用。它作为代理部署在应用与数据库之间,通过解析数据库 wire 协议捕获所有查询,提供 TUI 和 Web 两种使用方式,支持 PostgreSQL 、MySQL 和 TiDB 数据库。

9 、Surge:终端里的高速下载工具。这是一款采用 Go 语言开发的终端下载工具,可将下载文件自动切分为多个数据块并行下载,支持从多个镜像源下载、自动故障转移、顺序下载模式等功能。来自 @Meet Mehta 的分享

10 、task:告别 Makefile 复杂语法的构建工具。这是一款基于 Go 语言开发的现代化构建工具,可作为 GNU Make 的替代品。它采用更简单的 YAML 语法,支持跨平台、依赖管理、并行执行和条件触发等功能,适用于项目构建、开发环境管理和 CI/CD 集成。来自 @DeShuiYu 的分享

Java 项目

11 、jquick-curl:直接运行 curl 命令的 Java 库。这是一款轻量级 HTTP 客户端 Java 库,可直接将 curl 命令转换为 Java 中可执行的 HTTP 请求逻辑,无需手动改写代码。适用于从 Chrome 浏览器开发者工具、API 文档等复制 curl 命令后,快速集成到 Java 项目中。来自 @paohaijiao 的分享

import java.util.List;
// 示例 UserService 接口定义
public interface UserService {

    /**
     * 获取所有用户
     * @param req 请求参数载体
     * @return 所有用户列表
     */
    @JCurlCommand("curl -X GET --location 'http://localhost:8080/api/users/all'")
    List<JUser> all(JQuickCurlReq req);

    /**
     * 根据 ID 获取单个用户
     * @param req 请求参数载体
     * @return 单个用户信息
     */
    @JCurlCommand("curl -X GET http://localhost:8080/api/users/1")
    JUser getUserById(JQuickCurlReq req);

    /**
     * 创建新用户( POST 请求)
     * @param req 请求参数载体
     * @return 创建后的用户信息
     */
    @JCurlCommand("curl -X POST http://localhost:8080/api/users/createUser \\\n" +
            "-H \"Content-Type: application/json\" \\\n" +
            "-d '{\"name\":\"John Doe\",\"email\":\"[email protected]\"}'")
    JUser users(JQuickCurlReq req);
}

12 、pokemon-tbje:Java 写的文字版宠物小精灵游戏。这是一款基于 Java 游戏开发框架 LibGDX 构建的终端文字版宠物小精灵游戏,通过 Unicode 盲文字符作为像素点渲染画面,支持对战机制和完整的单人剧情。

JavaScript 项目

13 、cloud-mail:基于 Cloudflare 的轻量级邮箱服务。这是一款基于 Cloudflare 的轻量级、响应式邮箱服务,只需一个域名即可在 Cloudflare Workers 上低成本快速搭建邮件服务平台,支持群发、收发附件和人机验证等功能。来自 @eoao 的分享

14 、folio-2025:当个人主页变成 3D 游戏。该项目是前端大神 Bruno Simon 的开源新作,他将个人主页打造成一个可以驾车探索的沉浸式 3D 开放世界游戏,融入了物理模拟、天气系统、植被、昼夜交替等元素。来自 @卷卷卷 的分享

15 、hanzi-writer:让汉字在网页上动起来。这是一款用于展示汉字笔画顺序和交互式书写练习的 JavaScript 库,支持简/繁体字、调节播放速度、循环方式、实时检查笔画正确性等功能。

var writer = HanziWriter.create('character-target-div', '国', {
  width: 100,
  height: 100,
  padding: 5,
  showOutline: true
});
document.getElementById('animate-button').addEventListener('click', function() {
  writer.animateCharacter();
});

16 、streamdown:专为流式输出而生的 Markdown 渲染组件。该项目是专为流式传输场景设计的 React Markdown 组件,可用于解决大语言模型逐字输出 Markdown 内容时出现的闪烁、渲染错误和安全等问题。

export default function Chat() {
  const { messages, status } = useChat();

  return (
    <div>
      {messages.map(message => (
        <div key={message.id}>
          {message.role === 'user' ? 'User: ' : 'AI: '}
          {message.parts.map((part, index) =>
            part.type === 'text' ? (
              <Streamdown
                key={index}
                animated
                plugins={{ code, mermaid, math, cjk }}
                isAnimating={status === 'streaming'}
              >
                {part.text}
              </Streamdown>
            ) : null,
          )}
        </div>
      ))}
    </div>
  );
}

17 、taoyuan:文字版田园模拟经营游戏。这是一款名为《桃源乡》的纯前端文字版田园模拟经营游戏,灵感来自《星露谷物语》。它采用像素与中国风相结合的视觉设计,玩家可以按照自己的想法经营农场,体验种植、钓鱼、烹饪、畜牧养殖和矿洞探险等多种玩法。来自 @谦君 的分享

Kotlin 项目

18 、Compass:极简的 Android 指南针。这是一款基于 Kotlin 开发的 Android 指南针应用,界面简洁、体积小、无广告,支持实时显示基本方位、传感器状态和震动反馈。来自 @ewiro 的分享

19 、PixelPlayer:高颜值多功能的 Android 音乐播放器。这是一款本地优先、注重隐私的 Android 音乐播放器,拥有美观的 Material You 动态主题 ,界面可随专辑封面或手机壁纸自动变化,支持歌词显示、自定义歌曲过渡、桌面小部件、投屏播放、听歌统计等功能。

Python 项目

20 、freemocap:免费开源的动作捕捉系统。这是一款基于 Python 开发的动作捕捉系统,无需标记点和 GPU ,仅用普通摄像头即可实现全身 3D 动作数据采集,适用于动画制作、游戏开发和教育等场景。

21 、gh-space-shooter:基于 GitHub 贡献生成太空射击动图。该项目能够根据用户的 GitHub 贡献图生成太空射击游戏风格的动图,支持自定义动图帧率以及通过 GitHub Actions 定时生成并自动更新到个人主页。来自 @Zane ChenPEc8I 的分享

22 、great_expectations:像写单元测试一样验证数据质量。这是一个基于 Python 的数据质量验证框架,可通过简洁的代码定义验证规则,就像为数据编写单元测试,支持 pandas 、Spark 和 SQLAlchemy 等多种数据接入方式。来自 @Ashraf Haress 的分享

import great_expectations as gx

context = gx.get_context()

file_path = "./data/folder_with_data/yellow_tripdata_sample_2019-01.csv"
batch = context.data_sources.pandas_default.read_csv(file_path)

expectation = gx.expectations.ExpectColumnMaxToBeBetween(
    column="passenger_count", min_value=1, max_value=6
)
validation_results = batch.validate(expectation)
print(validation_results)

23 、InvenTree:开源的库存管理系统。这是一款基于 Python 和 Django 开发的库存管理平台,内置 Web 管理界面和 REST API 服务,支持扫码入库、零件追踪、物料清单和供应商管理等功能。

24 、pycparser:纯 Python 实现的 C 语言解析器。这是一个纯 Python 实现、无第三方依赖的 C 语言解析器,可将 C 代码解析为抽象语法树,从而实现用 Python 轻松分析与操作 C 语言代码,支持完整的 C99 标准和部分 C11 特性。

Rust 项目

25 、FaceWinUnlock-Tauri:开源的 Windows 人脸识别解锁工具。这是一款基于 Tauri 框架开发的 Windows 面容识别解锁增强工具,为没有红外摄像头的普通 Windows 电脑提供类似 Windows Hello 的刷脸解锁体验。

26 、monty:启动速度极快的 Python 解释器。该项目是 Pydantic 团队用 Rust 开发的 Python 解释器,具有启动快、安全隔离、状态快照等特点,适合在 AI Agent 中运行大模型生成的 Python 代码。

27 、weathr:Rust 写的实时 ASCII 天气动画。这是一款用 Rust 编写的终端查看天气工具,可通过 ASCII 动画实时展示当前天气情况,支持下雨、下雪、闪电和昼夜变化等动画效果。

Swift 项目

28 、AppPorts:一键将 macOS 应用迁移到外部硬盘。该项目通过 Contents 链接的方式,将 macOS 应用迁移到外部存储设备(移动硬盘、SD 卡或 NAS ),并在原位置保留应用入口,让用户能够像之前一样启动应用,在不影响使用的前提下释放宝贵的 macOS 存储空间。来自 @Zehua Wang 的分享

29 、DebugSwift:开源的 iOS 移动端调试工具箱。这是一款专为 iOS 应用开发设计的端侧调试工具包,仅需几行代码即可在应用中启动调试面板,支持查看网络流量、性能分析、界面调试和文件浏览等功能。

30 、dorso:矫正坐姿的 macOS 应用。这是一款用 Swift 开发的 macOS 坐姿监测应用,可通过摄像头或 AirPods 实时检测坐姿。当发现用户驼背或前倾时,应用会逐渐模糊屏幕,从而提醒用户及时纠正坐姿。

人工智能

31 、daily_stock_analysis:基于 LLM 的智能股票分析系统。这是一个由 LLM 驱动的智能股票分析工具,支持 A 股、港股和美股的每日自动分析与推送。它通过 AkShare 、Tushare 、YFinance 等数据源获取实时行情,并借助 DeepSeek 等大模型 API 服务,对自选股票进行多维度分析(技术面、筹码分布、舆情),生成决策仪表盘,支持 GitHub Actions 定时执行(无需服务器)或 Docker 一键部署。

32 、learn-claude-code:从零开始动手实现 AI Agent 。该项目是讲解如何从零构建类似 Claude Code 的 AI Agent 工具,共计 12 节课,每节课都有一个可运行的 Python 文件。内容从最基础的 Agent 循环,逐步叠加工具调用、任务规划、子智能体、上下文压缩、多智能体协作和自主执行等功能,最终构建出一个完整的 AI Agent 系统。来自 @喜 BFoCE 的分享

def agent_loop(messages):
    while True:
        response = client.messages.create(
            model=MODEL, system=SYSTEM,
            messages=messages, tools=TOOLS,
        )
        messages.append({"role": "assistant",
                         "content": response.content})

        if response.stop_reason != "tool_use":
            return

        results = []
        for block in response.content:
            if block.type == "tool_use":
                output = TOOL_HANDLERS[block.name](**block.input)
                results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": output,
                })
        messages.append({"role": "user", "content": results})

33 、no-magic:零依赖单文件实现现代 AI 主流算法。这是一个专为学习 AI 算法设计的教学项目,包含 30 个零依赖、单文件、可直接运行的 Python 实现,涵盖从基础的 GPT 到微调( LoRA 、PPO )以及推理优化( Flash Attention )等内容。通过简单易懂的代码实现每个算法,并配有对应的 Manim 动画,方便理解和学习。

34 、openclaw:开箱即用的个人 AI 助手。这是一款用 TypeScript 开发的开源个人 AI 助手,可快速部署在 macOS 、Windows 和 Linux 系统,并支持通过 WhatsApp 、Telegram 、Slack 等即时通讯应用进行交互。只要你的 token 额度充足,它就能 7*24 不停歇地执行任务,持续为你“打工”。来自 @喜 BFoCE 的分享

35 、pi-mono:极简的 AI Agent 工具箱。这是一款基于 TypeScript 开发的 AI Agent 工具箱,爆火的 OpenClaw 就是基于该项目开发出来的。它提供开发 AI Agent 所需的基础功能,包括统一多 LLM 服务接口、Agent 状态管理、工具调用、交互式命令行界面、WebUI 和 Slack 机器人集成等。

36 、qmd:本地运行的智能知识库搜索工具。这是一款完全本地运行的智能搜索引擎,可用于检索个人文档、知识库、会议记录和 Markdown 文件。它集成了本地运行轻量化模型、BM25 全文检索、向量语义搜索和重排序等功能,开箱即用、无需联网、支持 MCP 协议,可作为 AI 助手和 Agent 工作流中的知识搜索工具。

其它

37 、fishes:手绘鱼类的在线虚拟水族馆。该项目是让用户通过手绘创作鱼类涂鸦,并通过 AI 技术判定作品与鱼的相似度,通过审核的鱼会被放入一个全球共享的虚拟水族箱中。

38 、minichord:开源的掌上电子乐器。这是一个口袋大小的迷你电子乐器,配备 21 个和弦按钮降低演奏门槛,并设有竖琴触控区用于弹奏不同音符,还支持通过 USB 连接作为 MIDI 控制器使用。

39 、pakku.js:拯救 B 站弹幕体验的浏览器插件。这是一款专为提升哔哩哔哩网站弹幕体验的浏览器插件,能够自动合并重复或相似的弹幕内容,还你清爽的弹幕视频体验。

40 、quickemu:让小白也能玩转虚拟机的工具。这是一个用于快速创建和运行 QEMU 虚拟机的工具,通过 quickget 和 quickemu 两个命令,能够自动完成系统镜像下载、配置文件生成和启动虚拟机,支持近千种操作系统版本,但仅限于在 Linux 和 macOS 宿主机上使用。来自 @c-hui 的分享

41 、skills:Claude 官方开源的 Skills 教程。该项目是 Anthropic 官方开源的 Agent Skills 仓库,介绍如何通过标准化的 SKILL.md 文件结构,将提示词和工具调用封装为插件形式,为 AI 助手提供可动态加载的技能包,以可复用的方式更好地完成特定任务。

最后

感谢您的阅读 ❤️

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣!

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python 、Java 、Go 、C/C++、Swift...让你在短时间内感受到开源的魅力,爱上开源!


以下为本期内容|每月 28 号更新

C 项目

1 、voidImageViewer:比图片还小的免费看图工具。这是一款用 C 语言编写的 Windows 轻量级图片查看工具,让你几乎感受不到等待。它体积小、启动快,拥有极快的图片加载和切换速度,支持 JPG 、PNG 、WEBP 、BMP 、GIF 、ICO 、TIF 等主流图片格式。来自 @刘睿华 的分享

2 、Zen-C:像高级语言一样写 C 代码。这是一个现代系统编程语言,写起来像高级语言又能像 C 语言一样运行。它通过编译生成 GNU C/C11 代码,兼容 C ABI (应用程序二进制接口),支持无缝集成到现有的 C 语言生态,在保持 C 语言运行效率的基础上,提升开发体验。

import "std/net/tcp.zc"

fn main() {
    "Echo Server listening on :8080";
    let listener = TcpListener::bind("127.0.0.1", 8080).unwrap();

    loop {
        // Accept new connections
        let stream = listener.accept().unwrap();
        let buf: char[1024];
        
        while true {
            let n = stream.read(&buf[0], 1024).unwrap();
            if n == 0 { break; }
            stream.write(&buf[0], n);
        }
    }
}

C# 项目

3 、ParquetViewer:快速查看 Parquet 文件的桌面应用。这是一款专为 Windows 用户设计的 Parquet 文件查看与查询工具,支持浏览文件元数据、执行简单的 SQL 查询、打开单个文件或文件夹内的多个文件。

4 、Winhance:开箱即用的 Windows 系统优化工具。这是一款基于 C# 开发的 Windows 10/11 一站式系统优化工具,无需重装系统即可定制、精简系统。它集成了软件管理、系统优化、界面定制等功能,支持一键卸载预装应用、性能调优和界面美化,适用于重装系统或新机初始化。来自 @只是肚子太寂寞 的分享

C++ 项目

5 、MFCMouseEffect:Windows 鼠标特效增强工具。这是一款轻量级的 Windows 桌面鼠标/光标特效工具,支持点击波纹、粒子拖尾、悬停发光、漂浮文字等多种鼠标特效。来自 @sqmw 的分享

6 、zvec:轻量级进程内向量数据库。该项目是阿里开源的进程内向量数据库,无需独立部署即可直接使用。它基于 Proxima 引擎构建,提供本地化、低延迟的向量数据管理和语义检索能力,支持混合搜索、数据持久化、重排序等功能。

import zvec

# Define collection schema
schema = zvec.CollectionSchema(
    name="example",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)

# Create collection
collection = zvec.create_and_open(path="./zvec_example", schema=schema)

# Insert documents
collection.insert([
    zvec.Doc(id="doc_1", vectors={"embedding": [0.1, 0.2, 0.3, 0.4]}),
    zvec.Doc(id="doc_2", vectors={"embedding": [0.2, 0.3, 0.4, 0.1]}),
])

# Search by vector similarity
results = collection.query(
    zvec.VectorQuery("embedding", vector=[0.4, 0.3, 0.3, 0.1]),
    topk=10
)

# Results: list of {'id': str, 'score': float, ...}, sorted by relevance
print(results)

Go 项目

7 、lazyssh:终端交互式 SSH 管理工具。这是一款 Go 写的终端交互式 SSH 管理工具,基于 OpenSSH 执行连接安全可靠。它提供直观易用的终端界面,支持模糊搜索、排序、Ping 检查和一键连接等功能。来自 @孤胆枪手 的分享

8 、sql-tap:实时监控 SQL 流量的工具。这是一款基于 Go 开发的实时 SQL 流量监控工具,无需修改代码即可使用。它作为代理部署在应用与数据库之间,通过解析数据库 wire 协议捕获所有查询,提供 TUI 和 Web 两种使用方式,支持 PostgreSQL 、MySQL 和 TiDB 数据库。

9 、Surge:终端里的高速下载工具。这是一款采用 Go 语言开发的终端下载工具,可将下载文件自动切分为多个数据块并行下载,支持从多个镜像源下载、自动故障转移、顺序下载模式等功能。来自 @Meet Mehta 的分享

10 、task:告别 Makefile 复杂语法的构建工具。这是一款基于 Go 语言开发的现代化构建工具,可作为 GNU Make 的替代品。它采用更简单的 YAML 语法,支持跨平台、依赖管理、并行执行和条件触发等功能,适用于项目构建、开发环境管理和 CI/CD 集成。来自 @DeShuiYu 的分享

Java 项目

11 、jquick-curl:直接运行 curl 命令的 Java 库。这是一款轻量级 HTTP 客户端 Java 库,可直接将 curl 命令转换为 Java 中可执行的 HTTP 请求逻辑,无需手动改写代码。适用于从 Chrome 浏览器开发者工具、API 文档等复制 curl 命令后,快速集成到 Java 项目中。来自 @paohaijiao 的分享

import java.util.List;
// 示例 UserService 接口定义
public interface UserService {

    /**
     * 获取所有用户
     * @param req 请求参数载体
     * @return 所有用户列表
     */
    @JCurlCommand("curl -X GET --location 'http://localhost:8080/api/users/all'")
    List<JUser> all(JQuickCurlReq req);

    /**
     * 根据 ID 获取单个用户
     * @param req 请求参数载体
     * @return 单个用户信息
     */
    @JCurlCommand("curl -X GET http://localhost:8080/api/users/1")
    JUser getUserById(JQuickCurlReq req);

    /**
     * 创建新用户( POST 请求)
     * @param req 请求参数载体
     * @return 创建后的用户信息
     */
    @JCurlCommand("curl -X POST http://localhost:8080/api/users/createUser \\\n" +
            "-H \"Content-Type: application/json\" \\\n" +
            "-d '{\"name\":\"John Doe\",\"email\":\"[email protected]\"}'")
    JUser users(JQuickCurlReq req);
}

12 、pokemon-tbje:Java 写的文字版宠物小精灵游戏。这是一款基于 Java 游戏开发框架 LibGDX 构建的终端文字版宠物小精灵游戏,通过 Unicode 盲文字符作为像素点渲染画面,支持对战机制和完整的单人剧情。

JavaScript 项目

13 、cloud-mail:基于 Cloudflare 的轻量级邮箱服务。这是一款基于 Cloudflare 的轻量级、响应式邮箱服务,只需一个域名即可在 Cloudflare Workers 上低成本快速搭建邮件服务平台,支持群发、收发附件和人机验证等功能。来自 @eoao 的分享

14 、folio-2025:当个人主页变成 3D 游戏。该项目是前端大神 Bruno Simon 的开源新作,他将个人主页打造成一个可以驾车探索的沉浸式 3D 开放世界游戏,融入了物理模拟、天气系统、植被、昼夜交替等元素。来自 @卷卷卷 的分享

15 、hanzi-writer:让汉字在网页上动起来。这是一款用于展示汉字笔画顺序和交互式书写练习的 JavaScript 库,支持简/繁体字、调节播放速度、循环方式、实时检查笔画正确性等功能。

var writer = HanziWriter.create('character-target-div', '国', {
  width: 100,
  height: 100,
  padding: 5,
  showOutline: true
});
document.getElementById('animate-button').addEventListener('click', function() {
  writer.animateCharacter();
});

16 、streamdown:专为流式输出而生的 Markdown 渲染组件。该项目是专为流式传输场景设计的 React Markdown 组件,可用于解决大语言模型逐字输出 Markdown 内容时出现的闪烁、渲染错误和安全等问题。

export default function Chat() {
  const { messages, status } = useChat();

  return (
    <div>
      {messages.map(message => (
        <div key={message.id}>
          {message.role === 'user' ? 'User: ' : 'AI: '}
          {message.parts.map((part, index) =>
            part.type === 'text' ? (
              <Streamdown
                key={index}
                animated
                plugins={{ code, mermaid, math, cjk }}
                isAnimating={status === 'streaming'}
              >
                {part.text}
              </Streamdown>
            ) : null,
          )}
        </div>
      ))}
    </div>
  );
}

17 、taoyuan:文字版田园模拟经营游戏。这是一款名为《桃源乡》的纯前端文字版田园模拟经营游戏,灵感来自《星露谷物语》。它采用像素与中国风相结合的视觉设计,玩家可以按照自己的想法经营农场,体验种植、钓鱼、烹饪、畜牧养殖和矿洞探险等多种玩法。来自 @谦君 的分享

Kotlin 项目

18 、Compass:极简的 Android 指南针。这是一款基于 Kotlin 开发的 Android 指南针应用,界面简洁、体积小、无广告,支持实时显示基本方位、传感器状态和震动反馈。来自 @ewiro 的分享

19 、PixelPlayer:高颜值多功能的 Android 音乐播放器。这是一款本地优先、注重隐私的 Android 音乐播放器,拥有美观的 Material You 动态主题 ,界面可随专辑封面或手机壁纸自动变化,支持歌词显示、自定义歌曲过渡、桌面小部件、投屏播放、听歌统计等功能。

Python 项目

20 、freemocap:免费开源的动作捕捉系统。这是一款基于 Python 开发的动作捕捉系统,无需标记点和 GPU ,仅用普通摄像头即可实现全身 3D 动作数据采集,适用于动画制作、游戏开发和教育等场景。

21 、gh-space-shooter:基于 GitHub 贡献生成太空射击动图。该项目能够根据用户的 GitHub 贡献图生成太空射击游戏风格的动图,支持自定义动图帧率以及通过 GitHub Actions 定时生成并自动更新到个人主页。来自 @Zane ChenPEc8I 的分享

22 、great_expectations:像写单元测试一样验证数据质量。这是一个基于 Python 的数据质量验证框架,可通过简洁的代码定义验证规则,就像为数据编写单元测试,支持 pandas 、Spark 和 SQLAlchemy 等多种数据接入方式。来自 @Ashraf Haress 的分享

import great_expectations as gx

context = gx.get_context()

file_path = "./data/folder_with_data/yellow_tripdata_sample_2019-01.csv"
batch = context.data_sources.pandas_default.read_csv(file_path)

expectation = gx.expectations.ExpectColumnMaxToBeBetween(
    column="passenger_count", min_value=1, max_value=6
)
validation_results = batch.validate(expectation)
print(validation_results)

23 、InvenTree:开源的库存管理系统。这是一款基于 Python 和 Django 开发的库存管理平台,内置 Web 管理界面和 REST API 服务,支持扫码入库、零件追踪、物料清单和供应商管理等功能。

24 、pycparser:纯 Python 实现的 C 语言解析器。这是一个纯 Python 实现、无第三方依赖的 C 语言解析器,可将 C 代码解析为抽象语法树,从而实现用 Python 轻松分析与操作 C 语言代码,支持完整的 C99 标准和部分 C11 特性。

Rust 项目

25 、FaceWinUnlock-Tauri:开源的 Windows 人脸识别解锁工具。这是一款基于 Tauri 框架开发的 Windows 面容识别解锁增强工具,为没有红外摄像头的普通 Windows 电脑提供类似 Windows Hello 的刷脸解锁体验。

26 、monty:启动速度极快的 Python 解释器。该项目是 Pydantic 团队用 Rust 开发的 Python 解释器,具有启动快、安全隔离、状态快照等特点,适合在 AI Agent 中运行大模型生成的 Python 代码。

27 、weathr:Rust 写的实时 ASCII 天气动画。这是一款用 Rust 编写的终端查看天气工具,可通过 ASCII 动画实时展示当前天气情况,支持下雨、下雪、闪电和昼夜变化等动画效果。

Swift 项目

28 、AppPorts:一键将 macOS 应用迁移到外部硬盘。该项目通过 Contents 链接的方式,将 macOS 应用迁移到外部存储设备(移动硬盘、SD 卡或 NAS ),并在原位置保留应用入口,让用户能够像之前一样启动应用,在不影响使用的前提下释放宝贵的 macOS 存储空间。来自 @Zehua Wang 的分享

29 、DebugSwift:开源的 iOS 移动端调试工具箱。这是一款专为 iOS 应用开发设计的端侧调试工具包,仅需几行代码即可在应用中启动调试面板,支持查看网络流量、性能分析、界面调试和文件浏览等功能。

30 、dorso:矫正坐姿的 macOS 应用。这是一款用 Swift 开发的 macOS 坐姿监测应用,可通过摄像头或 AirPods 实时检测坐姿。当发现用户驼背或前倾时,应用会逐渐模糊屏幕,从而提醒用户及时纠正坐姿。

人工智能

31 、daily_stock_analysis:基于 LLM 的智能股票分析系统。这是一个由 LLM 驱动的智能股票分析工具,支持 A 股、港股和美股的每日自动分析与推送。它通过 AkShare 、Tushare 、YFinance 等数据源获取实时行情,并借助 DeepSeek 等大模型 API 服务,对自选股票进行多维度分析(技术面、筹码分布、舆情),生成决策仪表盘,支持 GitHub Actions 定时执行(无需服务器)或 Docker 一键部署。

32 、learn-claude-code:从零开始动手实现 AI Agent 。该项目是讲解如何从零构建类似 Claude Code 的 AI Agent 工具,共计 12 节课,每节课都有一个可运行的 Python 文件。内容从最基础的 Agent 循环,逐步叠加工具调用、任务规划、子智能体、上下文压缩、多智能体协作和自主执行等功能,最终构建出一个完整的 AI Agent 系统。来自 @喜 BFoCE 的分享

def agent_loop(messages):
    while True:
        response = client.messages.create(
            model=MODEL, system=SYSTEM,
            messages=messages, tools=TOOLS,
        )
        messages.append({"role": "assistant",
                         "content": response.content})

        if response.stop_reason != "tool_use":
            return

        results = []
        for block in response.content:
            if block.type == "tool_use":
                output = TOOL_HANDLERS[block.name](**block.input)
                results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": output,
                })
        messages.append({"role": "user", "content": results})

33 、no-magic:零依赖单文件实现现代 AI 主流算法。这是一个专为学习 AI 算法设计的教学项目,包含 30 个零依赖、单文件、可直接运行的 Python 实现,涵盖从基础的 GPT 到微调( LoRA 、PPO )以及推理优化( Flash Attention )等内容。通过简单易懂的代码实现每个算法,并配有对应的 Manim 动画,方便理解和学习。

34 、openclaw:开箱即用的个人 AI 助手。这是一款用 TypeScript 开发的开源个人 AI 助手,可快速部署在 macOS 、Windows 和 Linux 系统,并支持通过 WhatsApp 、Telegram 、Slack 等即时通讯应用进行交互。只要你的 token 额度充足,它就能 7*24 不停歇地执行任务,持续为你“打工”。来自 @喜 BFoCE 的分享

35 、pi-mono:极简的 AI Agent 工具箱。这是一款基于 TypeScript 开发的 AI Agent 工具箱,爆火的 OpenClaw 就是基于该项目开发出来的。它提供开发 AI Agent 所需的基础功能,包括统一多 LLM 服务接口、Agent 状态管理、工具调用、交互式命令行界面、WebUI 和 Slack 机器人集成等。

36 、qmd:本地运行的智能知识库搜索工具。这是一款完全本地运行的智能搜索引擎,可用于检索个人文档、知识库、会议记录和 Markdown 文件。它集成了本地运行轻量化模型、BM25 全文检索、向量语义搜索和重排序等功能,开箱即用、无需联网、支持 MCP 协议,可作为 AI 助手和 Agent 工作流中的知识搜索工具。

其它

37 、fishes:手绘鱼类的在线虚拟水族馆。该项目是让用户通过手绘创作鱼类涂鸦,并通过 AI 技术判定作品与鱼的相似度,通过审核的鱼会被放入一个全球共享的虚拟水族箱中。

38 、minichord:开源的掌上电子乐器。这是一个口袋大小的迷你电子乐器,配备 21 个和弦按钮降低演奏门槛,并设有竖琴触控区用于弹奏不同音符,还支持通过 USB 连接作为 MIDI 控制器使用。

39 、pakku.js:拯救 B 站弹幕体验的浏览器插件。这是一款专为提升哔哩哔哩网站弹幕体验的浏览器插件,能够自动合并重复或相似的弹幕内容,还你清爽的弹幕视频体验。

40 、quickemu:让小白也能玩转虚拟机的工具。这是一个用于快速创建和运行 QEMU 虚拟机的工具,通过 quickget 和 quickemu 两个命令,能够自动完成系统镜像下载、配置文件生成和启动虚拟机,支持近千种操作系统版本,但仅限于在 Linux 和 macOS 宿主机上使用。来自 @c-hui 的分享

41 、skills:Claude 官方开源的 Skills 教程。该项目是 Anthropic 官方开源的 Agent Skills 仓库,介绍如何通过标准化的 SKILL.md 文件结构,将提示词和工具调用封装为插件形式,为 AI 助手提供可动态加载的技能包,以可复用的方式更好地完成特定任务。

最后

感谢您的阅读 ❤️