下拉刷新
JavaScript 项目

这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub JavaScript 项目 集合。

Star 2.6w
Vol.118
15 小时前

AI 与 Chrome 浏览器之间的桥梁。该项目是 Chrome DevTools 团队开源的官方 MCP 服务实现,将 Chrome DevTools 的能力以 MCP 工具的形式提供给 AI 编程助手,支持自动化操作、调试和性能分析。

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}
2
motia
Star 1.5w
Vol.118
7 小时前

终结后端碎片化的框架。这是一款一站式后端框架,集成了 API、事件驱动、定时任务、实时数据流和 AI Agent 等能力,支持 TypeScript、Python 等多语言混合开发。它内置状态管理、结构化日志、端到端链路追踪与可视化调试器,支持流程图、日志流和实时测试等功能。

motia
Star 3.1k
Vol.118
7 天前

无需上传文件的 PDF 全能工具箱。这是一款基于 Next.js 和 WebAssembly 构建的开源 PDF 工具箱,所有文件操作均在本地浏览器内完成,无需上传到外部服务器。它提供节点式编排 PDF 文件处理工作流,支持合并、拆分、OCR、格式转换等 90 多种功能。

pdfcraft
4
puck
Star 1.2w
Vol.118
7 天前

React 可视化编辑器组件。这是一款基于 TypeScript 和 React 构建的可视化编辑器,可轻松将拖拽式页面构建功能集成到 Next.js、Remix 等 React 应用中,并可直接复用现有 React 组件,将其转化为可拖拽的编辑单元。

puck
5
Rote
Star 853
Vol.118
11 小时前

看起来不太一样的碎碎念本子。这是一款追求极简和优雅体验的个人笔记平台,采用 React 和 Node.js 构建支持 Docker 一键部署,提供开放的 API 接口,方便用户通过多种方式录入或获取数据。

Rote
6
alpine
Star 3.1w
Vol.117
3 天前

极简轻量级 JavaScript 框架。这是一个轻量级、极简的 JavaScript 框架,专为前端交互设计,提供类似 Vue 的声明式语法,但无需构建工具,可直接在 HTML 中使用。适用于为静态页面增强交互体验,如表单处理、模态框、手风琴菜单等,既解决了 jQuery 繁琐的 DOM 操作,又避免了 Vue/React 等框架的复杂性和性能开销,非常适合前后端分离的轻量级项目或仅需少量动态行为的页面。

<div x-data="{ count: 0 }">
    <button x-on:click="count++">Increment</button>
 
    <span x-text="count"></span>
</div>
Star 4.5k
Vol.117
1 天前

开箱即用的聊天记录分析工具。这是一款本地优先的聊天记录分析工具,无需上传数据到云端(AI 功能除外),支持 SQL 查询和 AI 智能挖掘、回顾个人聊天历史。

ChatLab
8
dev
Star 7.6k
Vol.117
1 个月前

多功能 Web 代码编辑器组件。该项目是知名 Web 代码编辑器组件 CodeMirror 的核心开发仓库。通过 npm 即可安装,轻松开发出一个可扩展、易用的代码编辑器,支持语法高亮、自动补全、错误提示、代码折叠等功能。

dev
Star 430
Vol.117
1 个月前

纯文字的太空策略游戏。这是一款基于 TypeScript 和 Vue 3 构建的纯文字太空策略游戏,灵感源自经典的 OGame 银河帝国游戏。玩家将在银河系中建设行星与月球、发展科技、打造舰队和防御系统,并进行进攻星球、军官招募等策略玩法。

ogame-vue-ts
10
tinypdf
Star 1.4k
Vol.117
5 天前

极简零依赖 PDF 生成库。这是一个用 TypeScript 开发的 PDF 生成库,压缩后体积仅 3.3KB,核心代码不到 400 行。它删除了自定义字体、图片、压缩等非必要功能,适用于生成发票、收据、证书等简单文档。

import { pdf } from 'tinypdf'
import { writeFileSync } from 'fs'

const doc = pdf()

doc.page((ctx) => {
  ctx.rect(50, 700, 200, 40, '#2563eb')           // blue rectangle
  ctx.text('Hello PDF!', 60, 712, 24, { color: '#ffffff' })
  ctx.line(50, 680, 250, 680, '#000000', 1)       // black line
})

writeFileSync('output.pdf', doc.build())