首页 文章 精选 留言 我的

精选列表

搜索[star],共5479篇文章
优秀的个人博客,低调大师

36.8k Star! 一款小而美的自动化运维监控工具——Uptime Kuma

自动化运维是指利用计算机科学和信息技术来实现系统和应用程序的自动化管理、监控、维护以及问题解决的过程。它的目标是减少人工干预、提高效率、降低错误率,并确保系统的稳定性和可靠性。 应用简览 Uptime-Kuma 是一个轻量级的监控工具,其独特之处在于其优美的监控 Dashboard 面板。仅需几分钟的时间,便可快速搭建一个高效的监控应用。该工具具备开源免费的特性,并支持基于 Docker 的部署方式。总之,Uptime-Kuma 是一个出色的监控工具,为用户提供了简便、美观且高效的监控解决方案。 主要功能 监控 HTTP(s) / TCP / HTTP(s) 关键字 / Ping / DNS 记录 / 推送 / Steam 游戏服务器的正常运行时间。 花哨的、反应式的、快速的 UI/UX。 通过 Telegram、Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 和 70 多种通知服务发送通知。 提供代理支持。 支持多种语言。 Ping 图(Ping Chart)。 证书信息(Certificate Info)。 应用特色 一、外观精美:令人赏心悦目的用户界面设计,为操作体验增添视觉享受。 Uptime-Kuma在外观设计方面精雕细琢,致力于为用户提供令人愉悦的操作界面。其界面布局优雅简洁,元素排列有序,确保用户能够迅速找到所需功能。精心挑选的配色方案不仅令人眼前一亮,还有助于减少用户疲劳感。同时,交互元素的动画和效果恰到好处,使用户与应用的互动更加流畅自然。无论是初次使用者还是有经验的开发者,都能在Uptime-Kuma的界面中感受到专业与美学的完美融合。这样的精致设计不仅提升了用户的使用体验,还为应用增添了一层视觉的享受。 二、监控多样:广泛支持多种监控类型配置 Uptime-Kuma为您提供了丰富多样的监控类型配置选项,无论您需要监控网络服务的HTTP(s)、TCP、Ping、DNS状态,还是对其他系统指标进行监测,都能轻松实现。您可以根据具体需求,自定义监控任务,并设置阈值以触发警报。这种多元化的监控类型配置,让您能够深入了解应用和系统的运行状况,从而更好地管理和维护。 三、多种通知方式:便捷的警报通知机制 Uptime-Kuma提供丰富的监控配置选择,同时还支持透过Telegram、Discord、Gotify、Slack、Pushover、电子邮件(SMTP)等90多种通知服务进行通知。无论您选择将警报信息通过Webhook传送至其他系统,还是通过电子邮件通知关键人员,甚至将多种通知方式结合使用,您都可以根据需求进行定制。这样多元的通知机制,确保您在关键时刻能够即时获得重要信息,从而迅速采取适当措施,保障系统的稳定性和可靠性。 四、多语言支持:50+种全球主要语言的支持 Uptime Kuma独具特色的功能之一是其覆盖范围广泛的多语言支持,涵盖了50多种全球主要语言。这项功能的重要性在于,用户可以根据自己的母语偏好,进行监控工具的操作和配置。通过消除语言障碍,Uptime Kuma极大地提升了用户界面的易用性和人性化体验,为用户带来了便捷无比的使用过程。这个特性不仅使用户能够更轻松地掌握工具的使用,还确保了他们能够更准确地设置监控,从而最大程度地发挥其功能,提升工作效率。Uptime Kuma 提供了50+种语言的支持,这意味着用户可以使用自己的母语来操作和配置监控工具,极大地提高了用户的易用性和便利性。 安装指南 进入云原生应用商店 搜索Uptime Kuma 进入详情,选择包类型(本应用支持,docker安装,helm安装) 点击安装,执行相应命令即可。如有疑问可参阅使用文档 关于云原生应用市场 云原生应用市场是一个汇聚了各类开源软件的应用市场,不仅可以作为你自己的 Helm Chart 仓库,提供丰富多样的Helm应用,还有 Docker 应用、Rainbond 应用模板、信创应用等多种选择。

优秀的个人博客,低调大师

28.7k Star! 加速应用开发,让开发者专注于业务的低代码平台——Appsmith

低代码开发是一种可视化应用开发方法。通过低代码开发,不同经验水平的开发人员能够通过图形用户界面,使用拖放式组件和模型驱动逻辑来创建 Web 和移动应用。 应用简览 ​ 于2019年创立的Appsmith,是一款引人注目的开源低代码框架。其主要应用领域涵盖了管理面板、内部工具以及仪表板等,通过简化流程,允许用户轻松拖放UI组件以构建页面。借助与各类API、数据库或GraphQL源的连接,并结合JavaScript编程,用户能够以高效方式编写逻辑,从而在短时间内完成内部应用程序的开发。近年来,Appsmith以其迅猛的发展势头广受瞩目,在GitHub上脱颖而出,斩获28.7kStar,成为最受欢迎的低代码开发平台之一。 ​ 当然,除了其令人瞩目的发展轨迹,Appsmith还以一系列引人入胜的特点而备受推崇。让我们深入探讨一下这些特点,突显其在低代码开发领域的独特价值。 突出特色 一、多数据库连接与便捷数据操作:Appsmith的无缝数据整合方案 ​ Appsmith广泛支持多种数据库类型,包括SQL、NoSQL、OLTP,同时也提供对REST API和GraphQL的全面支持。无论数据存储在何种系统中,Appsmith均提供了模板化的便捷指令,使用户能轻松地访问这些数据源。这种数据库和API的本地操作有助于即时地验证连接,以及为开发提前准备数据。用户只需一次性建立与数据源的连接,随后可在工作区中的所有应用程序中反复使用该连接。 二、无缝构建:Appsmith内的拖放式UI定制与功能整合 ​ 在Appsmith内,用户可以借助45多个现成的小部件,通过简单的拖放和点击操作,轻松构建应用程序的用户界面。通过仅需点击一下,您便能够快速查看功能性的UI设计,或者将自己的界面与提供的预制构建块相融合。您还可以为文档查看、媒体展示、代码扫描甚至自定义图表等功能添加额外的特性。通过美化主题和自定义品牌,您能够贯穿整个应用程序,而无需涉及繁琐的自定义代码。 三、增强功能:Appsmith内的JavaScript定制与代码重用 ​ 在Appsmith内,您可以编写内联JavaScript代码或可重用的代码块,以进一步扩展您的应用功能。举例来说,您可以利用JavaScript实现动态数据绑定,或者在小部件属性中添加逻辑。借助类似于IDE的编辑器,该编辑器内置了自动完成、多行编辑、调试和代码审查等功能,您可以轻松地编写可重复使用的代码块。此外,您还可以使用内置的JavaScript库来进行数据操作和转换。 安装指南 进入云原生应用市场 搜索应用Appsmith 点击详情选择包类型,本应用支持Docker,Helm,RAM等三种不同的安装方式 点击安装,执行相应命令即可。如有疑问可参阅使用文档或加入社区

优秀的个人博客,低调大师

我参与了两个接近100k+star的开源项目!聊聊开源项目贡献指南

给 SkyWalking 以及 JavaGuide 项目贡献后的总结 JavaGuide: https://github.com/Snailclimb/JavaGuide SkyWalking: https://github.com/apache/skywalking 1. 本地开发 以 SkyWalking 举例。在本地编译源码前,先查看相关的文档:https://github.com/apache/skywalking/blob/v8.0.1/docs/en/guides/How-to-build.md 。大致了解后,我们就可以开始操作了。 在 Github 上 fork 你想要贡献的项目 接着在本地拉取自己的项目: git clone --recurse-submodules https://github.com/$Name/skywalking.git 这是因为 SkyWalking 它包含了子仓库,因此加入了 --recurse-submodules 参数,它可以把主仓库和子仓库源码都同时拉取。 代码拉到本地后,接着我们使用 idea 打开该项目。但是可能我们网络不够给力或有“奇怪的力量”干扰,我们则需要改动一些配置以方便快速编译。对 maven 来说一般都是设置 maven 加速器,如果你拉的是 docker 相关,还需要配置 docker 容器阿里云地址加速。而我们这里主要是设置 maven 阿里云镜像以及 npm 设置淘宝镜像。 1.1 设置 maven 加速 当你执行 ./mvnw clean package -DskipTests 会发现以下很慢: 说明从 apache.snapshots 仓库拉的很慢,因此我们对它使用镜像仓库代理,其中 mirrorOf 指定对某个仓库镜像做镜像代理加速,建议 mirrorOf 做明确指定代码的镜像仓库,避免直接使用 * 代理所有镜像,导致你公司的私仓或其它仓库出现拉不到包的情况: <?xmlversion="1.0"encoding="UTF-8"?><settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd"><mirrors><mirror><id>aliyun-apache.snapshots</id><mirrorOf>apache.snapshots</mirrorOf><name>aliyun-for-apahce.snapshots</name><url>https://maven.aliyun.com/repository/apache-snapshots</url></mirror></mirrors></settings> 接着再执行 ./mvnw clean package -DskipTests,就发现开始使用我们代理仓库下载了: 同理对 center 仓库也做代理: <mirror><id>aliyun-center</id><mirrorOf>center</mirrorOf><name>aliyun-for-center</name><url>https://maven.aliyun.com/repository/public</url></mirror> 1.2 设置 npm 加速 因为有些项目里面包含前端项目(例如 Skywalking-ui),并且前端使用了 node 技术,则建议用淘宝镜像加速,在这个案例中,如下 skywalking/apm-webapp 模块中代码如下:它使用了插件来执行 npm 命令用于生成前端代码,但是 npm 拉依赖包会比较慢,因此这里修改为淘宝镜像地址:将 registry.npmjs.org 修改为:registry.npm.taobao.org。 1.3 编译 还有其它的设置,例如在 SkyWalking 中需要设置 gRPC 为源码包等,因为在官方的文档有详细步骤,就不做说明了。而 JavaGuide 项目不用编译,打开即可,都是 md 类型的文档。 2. 提 Issue 本地代码编译后,接着你可能会有两个操作: 你发现仓库中有个地方的代码写的不好,而且你正好对这块代码所涉及的技术深有研究,那么你先不用直接写代码,而是先去对应的仓库提 Issue,因为很多的仓库,不会莫名其妙的接收用户的 PR,需要先有对应的 Issue,便于作者了解需要改进的地方或知道你即将发起 PR 的缘由。 Issue 一般会有模板并用 markdown 语法,只需要清楚的表达自己的问题描述就可以了。 你发现仓库已有了某个 Issue,而且你知道怎么解决该问题,以 JavaGuide 举例,里面有时候会有些文字描述不当或文章有错别字等这些错误,这对大家来说改进比较容易,因此你可以直接在本地新建分支做对应的改动。 2.1 Issue 艺术 Issue 本质也类似于提问,因此需要清楚的表达你的疑惑并能让别人看得懂。假如你是作者,你看到你的仓库有如下两个 Issue,你更加中意哪个? 但是很多项目都是要求英语交流,我都是先通过谷歌翻译,接着看下翻译之后的地方哪里表述有问题,再自己手动调整,其实表述大家都看得懂,还能顺便学英语,例如我之前的 Issue: 2.2 Issue 的交流 一般 Issue 提出后,都会有相关的人做讨论和交流。以 JavaGuide 举例,里面有些 Issue 讨论也可以学到很多的东西的,如下: 上图可以看出作者对这类文章标记了 discuss 标签,这样你可以更加方便的搜索该标签查找有价值的 Issue 了。 2.3 本地基本操作 这时候我们可以撸起袖子敲代码了。定位你想要修改的代码块,你可以动手本地新建分支,修改,测试代码。注意:秉承一个分支改动一个功能点的理念。你改动代码时,建议只改动 Issue 提及的相关的代码,如果你想这个分支做多个改动,记得同步到 Issue 中。但是如果你发现了另一个改进点,但是这两个改进点无任何联系,建议再新建个 Issue,并再建个分支,在两个分支分别做改动。这样主要是如下理由: 假如你在改动点 1 的代码有问题,而在改动点 2 的代码没问题。但是由于它们是两个独立的分支,因此就不会互相影响,作者可以先 merge 你的分支 2(在公司也建议如下操作,一个分支一个改动点,方便出问题回滚)。 如果你本地做了多个提交,建议使用 git rebase 命令将多个提交合并为一个提交(仅建议)。 涉及到的基本命令: 本地新建分支: git checkout -b feature/word_typo 本地所有改动加入暂存区: git add . 将暂存区提交: git commit -m "commit message" 增加原仓库上游地址: git remote add upstream https://github.com/apache/skywalking.git 与远程 master 分支合并: git merge upstream/master 提交到自己的远程仓库: git push --set-upstream origin feature/word_typo 对第 4 步的解释:因为你本地仓库的远程地址默认为你自己的远程仓库,但是你需要实时和源仓库做同步更新,因此你额外需要保存源仓库的地址,用于与源 master 合并,同步来自源仓库的最新代码。 3. 准备 PR 3.1 PR 通过 当你 push 当你的远程仓库后,此时你打开源仓库,你会发现多了如下提示:我们点击 Compare & pull request 按钮,就会到 PR 界面了,如果作者配置了 PR 模板,我们跟着提示输入即可,PR 界面主要做两个事: 查看你本次提交代码与源仓库主干的改动点。 与作者讨论此时 PR 的代码,以及你此时 PR 的理由(在这里你可以使用 #111 来与你之前的 Issue 做关联)。 做对应的持续集成。 如果跟作者进行友好的交流讨论后,没什么问题,你的 PR 就会被合并接着在源仓库中就会显示当前的 PR 标题,以及你 PR 对应的 Issue。 3.2 PR 不通过 但是更多时候 PR 会不通过,一般大概有两种: 代码审核不通过:你提交的 PR 代码有问题,审核你代码的作者会在 PR 讨论跟你说哪里有问题,哪个地方需要改进,我们只需要跟着改动即可。 CI(持续集成) 有问题。这表明你的代码没问题,但是单元测试或持续集成验证没通过:在大型项目中,都会集成持续集成方案,如果你公司已经在使用了 CI,那就比较熟练了,跟着 Docker 报错日志仔细看看哪个地方有问题就行了。以 SkyWalking 举例,它有个持续集成的测试步骤是这样的:启动 Docker 模拟项目启动,模拟对应的请求,并与预期结果文件做对比,如果发现响应与预期结果文本对比异常,就会报错不通过。这种情况我们可以通过 Github 的 Action 日志做排查。 这里建议了解如下: Github Action:持续集成方案。公司一般会用 GitLab/ Jenkins 多点。大概是监听你的代码某个分支的提交/合并来做一系列的事,比如触发某个脚本等。 Codecov:测试覆盖率方案。公司一般会用 Sonar 比较多。 Checkstyle:如果你代码没问题,但是规则检查没通过,也会不允许合并。具体是注释不规范还是代码格式不规范查看具体的报错即可。 4. 跟踪项目进度 我们想实时跟进项目的进度或讨论的话,可以有以下方式(国外的讨论方式就不做列举了)分别以 JavaGuide 和 SkyWalking 举例: RSS 订阅 Issue 相关信息,例如: https://rsshub.app/github/issue/Snailclimb/JavaGuide 。最后两个为变量,可以自由修改,规则为:UserName/RepositoryName 加入群/关注 B 站,探(mo)讨(yu)技术 邮件订阅,具体参考 dubbo: http://dubbo.apache.org/zh-cn/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.html。适用于任何 apahce 项目,记得把 dubbo 改为具体项目即可(这里改为 skywalking)。 参加线下活动:例如和某个社区伙伴面基、在活动行 APP 里面中关注项目线下宣传什么的(而且阿里云相关的线下活动都有抽奖和零食)。 5. 额外 实际上,我们需要额外的插件来提高我们的效率。 Github 插件推荐两个: Octotree用于可视化 Github 项目文件层级,你不用一个一个点进去就能看到全貌了。 GitZip 用于单独下载某个文件/文件夹,不用为了下载某个文件,要把整个项目下载下来。 idea 插件推荐一个:Maven Help:分析某个 maven 项目的依赖关系,以及查找某个包被哪几个依赖给同时依赖的,在复杂项目中,分析项目的依赖关系很方便。 其实关注 JavaGuide 微信公众号的都会了解 JavaGuide 项目,但是项目贡献的人很少,也有很多人很久没有再继续贡献和讨论了。这篇文章只是做抛砖引玉,希望大家能能了解 JavaGuide 原项目,当然能参与进来贡献那肯定是最好的。毕竟 JavaGuide 是我贡献的开源项目里坚持最久的~希望它能一直活力四射~ 最后 我整理的4本PDF文档,本公众号后台回复“面试突击”即可免费获取。 文章有帮助可以点个「在看」或「分享」,都是支持,我都喜欢! 我是Guide哥,Java后端开发,会一点前端知识,喜欢烹饪,自由的少年。一个三观比主角还正的技术人。我们下期再见! 往期推荐 大白话带你认识 ZooKeeper !重要概念一网打尽! 简单聊聊为什么有些大公司技术弱爆了? 入职外包3个月,我离职了... 为什么我要从 Windows 切换到 Linux? 以 B 站为例,聊聊站内消息系统的设计 来吧!手写一个 RPC 框架。毕设/项目经验稳了! 本文分享自微信公众号 - JavaGuide(JavaGuide)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

contenteditable 还在边改边变形,5k Star Canvas Editor 把网页文档“画”成了 Word

嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍! > 做过网页富文本的人都懂:同一段内容,在不同浏览器里可能行高不一样、分页不一样、打印又是另一套样子。 > **Canvas Editor 的反差是:它不把浏览器排版完全交给 ****`contenteditable**`**,而是自己接管渲染,把网页文档“画”出来。** > 这篇不深入源码,只用几分钟讲清:它为什么适合合同、病历、报告这类文档场景,以及程序员接入前必须知道的取舍。 ![](https://developer.qcloudimg.com/http-save/yehe-3875637/e65754070885de933a50dcc9b5b80e6a.jpg) ## 先说痛点:富文本最难的不是加粗 做一个能输入文字的编辑器并不难,真正麻烦的是当需求变成: - 页面要稳定分页,不能因为浏览器或字体变化就乱跳; - 页眉、页脚、页码、边距和水印要保持一致; - 表格、图片、代码块、公式、表单控件要放在同一份文档里; - 屏幕预览和打印、PDF 导出不能差太多; - 用户拖拽、选区、快捷键、撤销重做都要有可预测的行为。 如果完全依赖浏览器原生编辑能力,很多细节会落到 CSS、DOM 和浏览器实现差异上。**内容能写出来,只是第一关;文档像不像一份稳定的“成品”,才是更难的部分。** ## Canvas Editor 到底是什么? 一句话理解:**Canvas Editor 是一个基于 HTML ****`**`** API 的 WYSIWYG 文档编辑器,它自己控制绘制、分页、交互和导出。** 官方 README 将它定位在 Word-like 文档体验,目标场景包括电子病历、法律合同、报告和其他文档型应用。当前仓库已发布 1.0.0,GitHub 页面显示约 5k stars,并采用 MIT License。 ![](https://developer.qcloudimg.com/http-save/yehe-3875637/6c7ad575d7ce8de25083e975268a96e0.jpg) ## 它和普通 `contenteditable` 编辑器差在哪? |对比项|传统 contenteditable 编辑器|Canvas Editor| | --- | --- | --- | |渲染控制|交给 DOM 和浏览器|自己控制 Canvas 绘制| |跨浏览器表现|可能有差异|目标是更一致的排版结果| |分页|需要额外实现|文档级原生分页方向| |打印输出|屏幕和打印可能不一致|以统一渲染和导出为目标| |字体与布局|受浏览器排版限制|可以控制更细的布局参数| |扩展方式|依赖 DOM 插件生态|提供插件系统和命令式能力| |接入成本|相对轻量|需要理解 Canvas 文档模型| ![](https://developer.qcloudimg.com/http-save/yehe-3875637/5853d4fab70cdc8bacb240b86156e63a.jpg) 所以它不是“更漂亮的输入框”,而是换了一条路线:**把文档当成一块需要精确绘制和管理的画布。** ## 它最值得关注的 5 个能力 ### 1. 分页、页眉页脚和页码是核心能力 文档型产品经常不是无限长网页,而是 A4、A3、信纸等固定页面。Canvas Editor 支持分页、连页、页边距、页眉、页脚和页码等文档要素。 这让它更适合病历、合同、报告这类“用户最终要打印或导出”的场景,而不是只在网页里滚动阅读的内容编辑。 ### 2. 不只是文字,还能放进复杂元素 README 列出的可插入元素包括表格、图片、超链接、代码块、分页、LaTeX 公式、日期选择器和块元素;同时还提供文本、数值、日期、复选框、单选框等表单控件。 也就是说,它的目标不是把 Markdown 变成一个编辑框,而是让一份文档里同时存在正文、结构化控件和可交互区域。 ### 3. 表单模式让文档可以“填”起来 项目提供编辑、清洁、只读、表单、打印、设计、涂鸦和留痕等模式。对于电子病历、审批表、问卷、合同模板,这些模式比单一的“编辑/预览”更贴近业务。 这也是 Canvas Editor 和普通富文本编辑器差异比较明显的地方:它不只处理“用户正在输入什么”,还考虑“这份文档之后要怎么被填写、打印和交付”。 ### 4. 打印和导出从渲染链路出发 官方说明支持通过 Canvas 转图片或 PDF 的方式生成适合打印的输出。它的思路是先让屏幕和文档布局稳定,再从同一套渲染结果导出。 这里需要注意,**导出效果是否满足你的生产要求,仍然要拿真实字体、真实表格和真实打印机做回归测试**,不能只看 Demo。 ### 5. 插件、Web Worker 和命令模式给了继续扩展的空间 项目结构里可以看到 `command`、`plugin`、`worker` 等模块:常见编辑操作可以走命令模式,插件用于扩展功能,字数统计、目录生成和异步取值等工作可以交给 Web Worker。 对二次开发者来说,这比把所有逻辑塞进一个巨大组件更容易找到扩展入口。 ![](https://developer.qcloudimg.com/http-save/yehe-3875637/268fea111dda5a32933aa23717cb285d.jpg) ## 3 行代码能不能跑起来? 官方 Quick Start 的接入思路很直接:安装包、准备容器、创建 `Editor` 实例。 ``` npm install @hufe921/canvas-editor ```bash ``` ``` import Editor from '@hufe921/canvas-editor' const container = document.querySelector('.canvas-editor') const editor = new Editor(container, { main: [{ value: 'Hello, Canvas Editor!' }] }) ```bash ``` 真正复杂的部分不是初始化,而是后面如何设计你的文档数据、控件、保存格式、权限和导出流程。 ## 它适合哪些项目? 比较适合: - 电子病历、检验报告和医疗文书; - 法律合同、审批单、报价单和业务表单; - 需要严格分页、页眉页脚和打印效果的报告系统; - 需要水印、目录、批注、留痕或复杂控件的文档产品; - 想在浏览器里做 Word-like 编辑体验的前端团队。 不太适合: - 只需要 Markdown 输入和实时预览的内容站; - 只要几个加粗、列表按钮的轻量评论框; - 强依赖原生 DOM 语义、无障碍树或简单复制粘贴的场景; - 希望直接获得成熟多人实时协作的项目。 ## 项目边界与限制 Canvas 路线换来了更强的渲染控制,也带来更高的工程成本: - 选区、光标、复制粘贴和输入法适配都需要自己处理; - Canvas 内容不像普通 DOM 那样天然可被浏览器搜索、读取和无障碍工具理解; - 复杂文档的字体、分页和打印效果必须在目标设备上验证; - README 中的 CRDT 协作属于 experimental,不应直接当成成熟的多人协作方案; - SVG 渲染层、PDF 导出、AI 文本处理等生态方向要以当前分支和实际文档为准; - 这不是“把 contenteditable 换成 canvas 就全部解决”的魔法,业务层仍要设计数据持久化和安全边界。 ## 我的判断 Canvas Editor 值得关注的地方,不只是它支持多少工具栏按钮,而是它把浏览器文档编辑从“让 DOM 自己排版”,推进到了“应用自己掌控文档渲染”。 **当你的产品需要稳定分页、复杂布局、打印导出和可填写文档时,Canvas 不是炫技,而是一种架构选择。** 如果你准备接入,建议先用真实业务样本文档做一轮验证:表格、长文本、中文字体、页眉页脚、控件、复制粘贴和 PDF 输出都要测。后续我会继续拆它的文档数据结构、插件机制和 Canvas 选区实现。 ## 项目地址 [https://github.com/Hufe921/canvas-editor](https://github.com/Hufe921/canvas-editor)

优秀的个人博客,低调大师

太牛了,github上收获20.4k+star的宝藏项目,老视频一键变高清

![](https://developer.qcloudimg.com/http-save/yehe-12670711/3d8904112bba43c979fa1e68842c56e4.png) 你在做影视剪辑时,是否因为有些影视素材拍摄时间过早,清晰度和分辨率太低,剪好的视频上传平台后,因为清晰度不够高而被平台限流?今天就给大家带上github上超火的利用AI提升清晰度,流畅度和帧率的宝藏项目。 目前版本已经更新至6.0.0 当前版本Video2X 6.0.0亮点: 在C/C++ 中对Video2X项目进行了彻底重写。 更快且更高效的架构。 对Windows和Linux的跨平台支持。 大幅提升的输出质量。 全新图形用户界面(GUI)和安装程序,便于在Windows上轻松设置。 ![](https://developer.qcloudimg.com/http-save/yehe-12670711/747244c0647041162453a335014b26d0.png) 硬件要求: 要运行Video2X,您的系统必须满足以下最低硬件要求: 中央处理器(CPU) 预编译二进制文件要求CPU支持AVX2。 英特尔:Haswell(2013年第二季度)或更新版本 超威半导体(AMD):Excavator(2015年第二季度)或更新版本 图形处理器(GPU) GPU必须支持Vulkan。 英伟达(NVIDIA):Kepler(GTX 600系列,2012年第二季度)或更新版本 超威半导体(AMD):GCN 1.0(Radeon HD 7000系列,2012年第一季度)或更新版本 英特尔:HD Graphics 4000(2012年第二季度)或更新版本 如何安装: windows:可以直接在页面下载安装。我将地址放在文章最下方了。 视频效果演示: ![](https://developer.qcloudimg.com/http-save/yehe-12670711/831a1798ba8677bd19ba598298d24efb.png) 左侧是原视频,右侧是经过Video2X修复后的效果,已经从360p修复至4K了。 项目地址:https://github.com/k4yt3x/video2x

优秀的个人博客,低调大师

刚刚开源就斩获 2.7K Star!吴恩达老师开源了一个 AI 员工 OpenWorker!

昨天刷 X 的时候,我看到一条推文瞬间坐直了——吴恩达老师发了个新项目 **OpenWorker**。 ![](https://developer.qcloudimg.com/http-save/yehe-2946312/a16ede73384312e41da1620fca32f020.png) 说实话,我第一反应是"又来了"。这半年来,桌面端 AI Agent 像雨后春笋一样冒出来,cowork、trae work、workbuddy... **OpenWorker** 则是一款对标这些闭源 Agent 的开源桌面 Agent。 ![](https://developer.qcloudimg.com/http-save/yehe-2946312/932d3a29b85a2e9db351eccf5539e7bd.png) ### **从"对话"到"交付",差的不是一点** 我们平时用的 AI 工具,不管是 GPT 还是 Claude,本质上都是"问答"模式。 你说"帮我写个客户简报",它给你一段文字,你还得自己复制粘贴、自己排版、自己找数据、自己发出去。 OpenWorker 不是这样。 你说"帮我准备一份客户简报",它会: 1. 1. 打开你电脑上相关的文件 1. 2. 去 HubSpot 查客户数据 1. 3. 到 GitHub 看最近的产品更新 1. 4. 自己整理排版成一份文档 1. 5. 然后问你"要不要把这份简报发给客户?" **它给你的是成品,不是待办清单。** 这是一个根本性的区别。 ### **三大核心亮点** #### **① 交付成品,不是给你一张待办清单** 这是 OpenWorker 最核心的理念。官方原话是"要一个结果,而不只是一个答案"。 你说要的"结果"——"准备一份客户简报"、"把我这周日历理顺"、"看看这个 release 在 Jira 和 GitHub 上到哪步了"——它拆成步骤、跨桌面/文件/连接的 app 去做,最后给你能打开能分享的交付物。 文档、表格、报告、网页,直接落地成文件。不用你再做任何中间工作。 #### **② 本地优先 + 任意模型** 市面上的 AI 员工产品,几乎都是云端的。你的数据要传到他们的服务器,你的密钥要存在他们那里。用着总是有点不放心。 OpenWorker 完全相反: - • Agent 循环、对话、连接器 token、模型 key 全在你本机的密钥库里 - • 唯一的云端部件只是个帮你走 OAuth 握手的小服务 - • 支持任意模型:OpenAI、Anthropic、Google Gemini、DeepSeek、Kimi、Qwen、Mistral、xAI,甚至 Ollama 本地模型 **你有哪个 key 就用哪个,数据不出你电脑。** #### **③ 每个重要动作都有审批** 这是安全性的底线。 发消息、改日历、跑命令——任何要紧的操作都以"check-in"形式停下来等你点头。无人值守的定时任务不会自作主张,而是把"请求"停进一个收件箱等你处理。 这跟"给它全权限让它自己跑"是两种安全观。 一个是"让它跑,出事我负责",一个是"它提议,我拍板"。后者明显更稳妥。 ### **25+ 连接器,打通你的整个工作流** OpenWorker 支持超过 25 个连接器,几乎覆盖了你日常工作的所有工具: - • **协作工具**:GitHub、Slack、Jira、Notion、Linear - • **客户管理**:HubSpot - • **邮件日历**:Gmail、Outlook、Google Calendar - • **文件存储**:Google Drive、Dropbox、Box - • **项目管理**:Asana、monday.com 再加上终端和本地文件访问,任何 MCP 工具也能插进来。 最实用的是 Slack 集成——你可以在 Slack 里 @ OpenWorker 触发任务,结果直接回到线程里。 ### **定时任务,让它每天上班** OpenWorker 还支持定时任务,这意味着你可以把它当成一个真正的"员工"来用: - • **晨报**:每天早上 8 点,自动整理昨天的邮件、Slack 消息、GitHub 更新,给你一份简报 - • **周报**:每周五自动生成项目进度报告 - • **频道监控**:盯着某个 Slack 频道,有重要消息就提醒你 所有定时任务都会留下完整的 transcript,方便你复盘和审计。 ### **内置角色模板,开箱即用** OpenWorker 内置了几套角色模板,覆盖不同场景: - • **Sales**:销售助理,帮你准备客户简报、跟进线索 - • **行政助理**:帮你打理日历、安排会议、处理邮件 - • **市场**:帮你写营销文案、整理数据、分析竞品 - • **Ops 值班**:帮你监控系统、处理告警、生成报告 不用自己从零开始训练,直接选一个角色就能用。 ### **快速上手** #### **安装方式** 目前 OpenWorker 提供两个版本的下载: - • **macOS(Apple Silicon)**:https://download.openworker.com/mac - • **Windows 10/11(x64)**:https://download.openworker.com/windows 打开应用,添加一个模型 key(或指向 Ollama),就可以开始使用了。 #### **从源码运行** 如果你想自己编译,也很简单: ``` # 克隆仓库 git clone https://github.com/andrewyng/openworker cd openworker # 初始化开发环境(创建 Python venv) bash packaging/setup_dev_env.sh # 启动本地 agent 服务器 .venv/bin/openworker-server --cwd ~/some/project --port 8765 # 启动 UI(另一个终端) cd surfaces/gui npm install npm run dev ``` #### **配置模型** 你只需要在设置里粘贴你的 API key,或者指向本地的 Ollama 服务即可。 ![](https://developer.qcloudimg.com/http-save/yehe-2946312/3e9bca026fe336604621d87bfa009727.png) ### **写在最后** AI 员工这个赛道,之前的玩家都是"云端派"——把你的工作搬到他们的服务器上处理。 吴恩达老师这次反其道而行之,打了一张"本地牌"。 这背后其实是一个很深刻的洞察:**对于真正要干活的人来说,安全感和控制权比什么都重要。** 你愿意把公司的代码库、客户数据、邮件内容交给一个云端服务吗?至少我不愿意。但如果所有数据都在我自己的电脑上,我会放心得多。 **项目地址**:https://github.com/andrewyng/openworker **体验地址**:https://openworker.com/

优秀的个人博客,低调大师

狂揽2.1K Star!基于Claude Code开发的神器,这款开源在线编辑器太强了

Web业务嵌入文档编辑功能长期存在格式错乱、数据上传泄露、AI联动困难三类痛点。docx-editor采用原生OOXML解析架构,纯前端完成docx读写,配套完整AI Agent交互工具,适配主流前端框架,开源协议允许商用开发,大幅降低在线文档模块开发成本。 ![](https://developer.qcloudimg.com/http-save/yehe-11919542/ad275e3ab10a57bc190f2e45a534ae78.png) ## **📌 一、项目核心亮**点 ### **✨ 1.1 核心架构优势** |特性|详细说明| | --- | --- | |原生格式解析|不经过HTML中转,直接读写OOXML标准,导出文档在Word打开无排版丢失| |纯客户端运行|文件数据仅留存浏览器本地,无需后端中转,减少隐私泄露风险| |全框架适配|独立核心引擎,配套React/Vue/Nuxt三套官方适配器| |商用友好协议|Apache 2.0开源,无商用版权限制| |AI原生集成|内置14套文档操作工具,兼容MCP、各类大模型SDK| ### **✨ 1.2 常规文档能力** 1. 完整文字排版:字体、高亮、多级列表、分页、页眉页脚全兼容; 1. 表格处理:支持合并单元格、浮动图文、批量数据填充; 1. 审阅体系:修订追踪、线程式批注,每条修改可单独采纳/驳回; 1. 多人协同:基于Yjs对接实时同步,实时光标与评论互通; 1. 多语言界面:内置9种地区语言包,轻量化按需加载。 ![](https://developer.qcloudimg.com/http-save/yehe-11919542/d120983eabfcaec1d64545c2a699ce42.png) ### **✨ 1.3 AI联动特色能力** 区别普通在线编辑器,该项目配套独立Agent工具包,大模型可直接定位段落、插入批注、生成修改建议,依靠Word原生paraId稳定定位文本,多轮对话不会出现内容错位。同时支持三种运行模式:网页实时交互、服务端批量审阅、MCP标准化服务对接,适配代码智能体自动审稿场景。 ## **📌 二、快速安装部**署 ### **✨ 2.1 React项目接入** 执行安装指令 ``` npm install @eigenpal/docx-editor-react ``` 最简页面示例 ``` import { useState } from 'react'; import { DocxEditor } from '@eigenpal/docx-editor-react'; import '@eigenpal/docx-editor-react/styles.css'; export default function EditorDemo() { const [fileBuf, setFileBuf] = useState(null); const upload = async (e) => { const file = e.target.files[0]; setFileBuf(await file.arrayBuffer()); }; return ( <> {fileBuf && } ) } ``` ### **✨ 2.2 Vue 3接入** ``` npm install @eigenpal/docx-editor-vue ``` 模板代码 ``` ``` ### **✨ 2.3 Nuxt专用模块** ``` npm install @eigenpal/nuxt-docx-editor ``` 仅需在配置文件注册,自动处理客户端渲染,无需额外包装组件 ``` // nuxt.config.ts export default defineNuxtConfig({ modules: ['@eigenpal/nuxt-docx-editor'] }) ``` ## **📌 三、AI Agent配置实**操 ### **✨ 3.1 前端对话联动** 引入配套Agent钩子,将文档操作工具注入AI对话链路,模型可自动读取全文、标注修改意见 ``` import { useRef } from 'react'; import { DocxEditor } from '@eigenpal/docx-editor-react'; import { useDocxAgentTools } from '@eigenpal/docx-editor-agents'; import { useChat } from '@ai-sdk/react'; export function AIDocEditor() { const editorRef = useRef(null); const agentTools = useDocxAgentTools(editorRef); const chat = useChat({ tools: agentTools }); return } ``` ### **✨ 3.2 服务端批量审阅** 无头模式无需浏览器环境,Node中直接解析文档批量校验合同、报告,适配CI自动化文档审查流程。 ### **✨ 3.3 MCP服务暴露** 工具可封装为标准MCP服务,Cursor、Claude Code等编程智能体可远程调用文档读写、批注能力,实现代码生成后同步撰写配套需求文档。 ![](https://developer.qcloudimg.com/http-save/yehe-11919542/afce24ce19b343c70473a930f06bc384.png) ## **📌 四、适用业务场**景 ### **✨ 4.1 企业SaaS系统** 合同审批平台、报价系统、内部OA文档模块,用户在线修改文件无需下载上传,修订痕迹完整留存用于审核溯源。 ### **✨ 4. 内容创作工具** 简历生成、报告模板填充、自媒体稿件在线润色,搭配AI自动梳理逻辑、修正表述,无需切换第三方文档软件。 ### **✨ 研发智能体配套** 代码项目配套需求文档、接口说明自动生成,AI写完逻辑后同步生成标准化Word交付材料,减少人工复制粘贴。 ### **✨ 法律金融类业务** 合规文件、协议编辑,严格保留每一处修改记录,满足行业文档留痕规范。 ## **📌 五、同类工具横向对**比 |工具|解析方式|是否纯前端|AI原生支持|商用授权|包体积| | --- | --- | --- | --- | --- | --- | |docx-editor|原生OOXML|是|完整14套工具|Apache2.0|轻量分拆| |Syncfusion DocIO|HTML中转|否|仅基础生成|付费商业|大体积套件| |Tiptap|HTML转换|是|无原生文档工具|开源|仅基础文本| |OnlyOffice组件|云端渲染|否|第三方插件|AGPL|服务依赖| docx-editor填补前端轻量化原生Word编辑方案空白,依托无转换解析机制解决格式丢失常见痛点,内置AI工具链打通智能体与文档交互链路。多框架适配降低接入成本,宽松开源协议适配各类商业项目,适合文档编辑为次要功能的SaaS、开发工具配套开发,重度复杂排版场景可搭配专业办公组件补充能力。 #docx-editor #前端开源工具 #AI文档编辑器 #WebWord #ClaudeCode项目

优秀的个人博客,低调大师

3.6k Star 的开源游戏模拟器,Delta 冲上 App Store 免费榜

一直以来,苹果设备的应用商店(App Store)都是禁止游戏模拟器上架,所以 iPhone/iPad 用户不能直接安装 GBA、红白机之类的模拟器应用,这也让想在 iPhone 上重温童年游戏机的机友们,十分羡慕 Android 用户。 现在,**iPhone/iPad 用户终于可以光明正大地在国服「App Store」下载游戏机模拟器了!**因为,苹果公司在 4 月初对《应用商店审核指南》第 4.7 条款的修改,一举推翻了苹果设备禁止安装游戏机模拟器的规定。 4.7 迷你 App、迷你游戏、流媒体游戏、聊天机器人、插件和游戏仿真器 App 中可以提供未嵌入二进制文件的某些软件,尤其是 HTML5 迷你 App 和迷你游戏、流媒体游戏、聊天机器人以及插件。此外,古游戏主机仿真器 App 可以提供游戏下载服务。 这一改动生效后,有一批游戏机模拟器已成功上架「App Store」,其中引爆这一个消息的是一款名为「Delta」的任天堂复古游戏机模拟器,上架不到 12 小时,直接登顶 iOS 应用商店免费榜第一! 作为一个 90 后,FC、GBA...游戏机就是我的童年回忆。所以我第一时间就去下载体验了,体验后就一个字爽!它支持运行 FC、GBA、NDS 等游戏,而且完全免费无内购、清爽没广告、运行游戏不卡顿。惊喜远不止于此,Delta 还是开源的! GitHub 地址:github.com/rileytestut/Delta 现在,直接在 App Store 搜索“delta”就可以安装了,因为它只是个模拟器并不提供游戏,所以安装后需要导入游戏才能愉快地玩耍。如果你装完游戏后一脸懵,就请继续往下看。 一、快速上手 下面我将逐一介绍,如何安装 Delta、导入游戏、游戏资源和常用功能说明。 1.1 安装 首先,Delta 是一款已上架的 iOS 应用,所以安装十分简单,在 App Store 内搜索“delta”,搜索结果第一个点进去直接安装即可,也许是第二个,因为第一个可能是广告,也可以搜应用的全称:Delta - Game Emulator。 1.2 游戏资源 因为 Delta 只是一个游戏机模拟器,所以对应模拟器的游戏 ROM(游戏卡)需要自行下载。这里我用的是老男人游戏网(oldmantvg.net),它上面有很多游戏模拟器的中文游戏 ROM 资源。 需要注意的是下载的游戏是压缩包,需要自行解压后才能得到 .nes、.gba 等文件(游戏 ROM),建议在电脑上解压好,这样方便在手机上导入游戏到 Delta。 1.3 导入游戏 刚安装好的 Delta 里面什么游戏都没有,需要自行下载/导入游戏,导入游戏就是想办法把下载好的游戏 ROM 文件传到手机里,可以用 iTunes、AirDrop、iCloud 云盘、隔空投送等工具,然后通过右上角的“+”找到传到手机里的游戏文件。 我用的是微信里的「文件传输助手」方法,首先在电脑上登录微信,接着把游戏 ROM 文件(.nes、.gba)扔进“文件传输助手”,然后在手机微信里找这个文件,点开后点击“其他应用打开”找到“Delta”,点击后会自动导入游戏,界面也会自动切换回 Delta。 注意:导入游戏后 Delta 会根据模拟器游戏的种类,分成 NES、GBA 等 Tab 左右滑动即可查看。 但上面这种方法,只适用于少量、逐一导入游戏,如果是批量导入游戏 ROM 的话,我推荐用 iCloud 云盘。 1.4 功能介绍 虽然 Delta 界面语言是英语但不影响使用,常用的功能也就那么几个,一图胜千言不再赘述。 Tips:手机开启自动横屏,横屏后自动改变按键布局。 Delta 默认不能运行 NDS 游戏,需要自行下载 3 个 bios 文件,搜一下就能找到。我没玩过 NDS 游戏,因为我小时候 GBA 就是天花板了,NDS 我连摸都没摸过,所以对它没有感情。时至今日,我可以不玩 Switch 让它吃灰,但不能没有😂 二、作者是高中生? 饮水思源,体验完 Delta 后我就对这款神器产生了好奇,这么“纯粹”的应用果不其然是个开源项目,我竟然没想起来《HelloGitHub》第 91 期推荐过它。 Delta 是一款无需越狱、适用于 iOS 设备的游戏模拟器,支持 NES、GBA、Nintendo 64 等游戏。它是 GBA4iOS 的精神继承者,GBA4iOS 是作者和 Paul Thorsen 在高中时一起制作的 iOS 设备 GBA 模拟器。 随后,我读完作者(Riley Testut)写的《GBA4iOS 十岁生日快乐》博文,才知道 Delta 是 Riley Testut 在 2015 将 Obj-c 写的 GBA4iOS 用 Swift 重构后的产物,而他编写 GBA 模拟器可以追溯到 10 年前的高中时期,这真是一段让人热血沸腾经历。 远在 2011 年 Riley 还是个高二(四年制)的学生,第一次看到同学在越狱后的 iPhone 上玩口袋妖怪,直接震惊到他了,因为《口袋妖怪》系列是 Riley 最喜欢的游戏,这也为他开发 GBA 模拟器埋下了种子。 2012 年,Riley 在 GitHub 上发现了一个名为 gpSPhone 的 iOS 开源项目:一款适用于越狱 iPhone 的 GBA 模拟器。他就想能不能修改该项目,让它成功运行在非越狱的设备上。说干就干,但 Riley 动手做后才发现这一切并不简单,这也点燃了他的斗志,仅仅几个月后,他成功了!他给同学们分享他的应用:GBA4iOS,这在同学间掀起了一波口袋妖怪游戏的浪潮。时间如梭,终于在 2014 年的时候,他在自己构建的网站上正式发布了适用于 iPhone 的 GBA 模拟器 GBA4iOS,这真是个令人激动的时刻。 之后,GBA4iOS 走出教室,成为了数百万人使用的应用,但好景不长 iOS 8.1 阻止了允许 iPhone 和 iPad 上模拟器运行的‘date trick’漏洞,因为 GBA4iOS 违反了苹果的规则,所以 Riley 随即宣布 GBA4iOS “落下帷幕”,他当时还不知道这只是一段新故事开始。 时间来到 2015 年,Apple 刚刚发布了一种名为 Swift 的编程语言,Riley 也成为了一名 USC 的大学生,为了学习 Swift 他用 Swift 语言重写了 GBA4iOS,这是 GBA4iOS 的重生同时也是 Delta 新生。 如今,距离 Riley 发布 GBA4iOS 已经过去了 10 年(2014-2024),Delta 终于上架了 App Store 并一举登上了免费榜! 然而,故事还没有结束...他还用另外一种方式复活了 GBA4iOS——GBA4vOS,一款原生 VisionOS 应用程序,可以让你在 Apple Vision Pro 上玩 GBA 游戏。 GitHub 地址:github.com/rileytestut/GBA4vOS 三、最后 Delta 的作者(Riley Testut)在过去 10 年被问到最多的话题就是:“你为什么不开发一款 App Store 允许的应用呢?” 时至今日,他已经不用再回答这个问题。但他自述的这段开发、发布应用和开源的经历,仿佛在告诉我们:他因兴趣而开始,坚持和热爱,让他与众不同。上架即封神不是一个偶然,而是 10 年沉淀的结果。也希望这段经历也能为徘徊在做与不做、牙咬坚持的你,打上一针“强心剂”。 时间会让「平凡的事」变得「与众不同」 与君共勉。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册