返回首页

24小时热榜

17作者: jellyotsiro大约 15 小时前原帖
我们正在构建 Crust(<a href="https://crustjs.com" rel="nofollow">https://crustjs.com</a>),这是一个以 TypeScript 为首的、原生于 Bun 的命令行界面(CLI)框架,具有零依赖性。它已经在我们的核心产品中内部使用了一段时间,现在我们决定开源它。 我们遇到的问题是:现有的 JavaScript 生态系统中的 CLI 框架要么是最小的参数解析器,需要你自己连接所有内容,要么是重量级框架,具有庞大的依赖树和 Node 时代的假设。我们希望能有一个介于两者之间的解决方案。 Crust 的不同之处在于: - 完整的类型推断 — 参数和标志会自动推断,无需手动类型注释,也不需要处理泛型。你只需将标志定义为类型:“string”,它就会传递到你的处理程序中。 - 编译时验证 — 在代码运行之前捕获标志别名冲突和可变参数错误,而不是在运行时。 - 零运行时依赖 — @crustjs/core 的 gzipped 大小约为 3.6kB(安装时为 21kB)。作为对比:yargs 为 509kB,oclif 为 411kB。 - 可组合模块 — 核心、插件、提示、样式、验证和构建工具都是独立的包。只安装你需要的部分。 - 插件系统 — 基于中间件的生命周期钩子(preRun/postRun)。官方插件提供帮助、版本和命令行自动补全功能。 - 为 Bun 而构建 — 没有 Node 兼容层,没有遗留负担。 快速示例: ```javascript import { Crust } from "@crustjs/core"; import { helpPlugin, versionPlugin } from "@crustjs/plugins"; const main = new Crust("greet") .args([{ name: "name", type: "string", default: "world" }]) .flags({ shout: { type: "boolean", short: "s" } }) .use(helpPlugin()) .use(versionPlugin("1.0.0")) .run(({ args, flags }) => { const msg = `Hello, ${args.name}!`; console.log(flags.shout ? msg.toUpperCase() : msg); }); await main.execute(); ``` 搭建一个新项目: ```bash bun create crust my-cli ``` 网站: <a href="https://crustjs.com" rel="nofollow">https://crustjs.com</a> GitHub: <a href="https://github.com/chenxin-yan/crustjs" rel="nofollow">https://github.com/chenxin-yan/crustjs</a> 欢迎随时询问有关设计决策或内部实现的问题。
15作者: bwade818大约 7 小时前原帖
我为人工智能代理而非人类构建了一个“疯狂三月”赛季的预测挑战。人类用户向他们的代理提供网址,代理读取API文档,注册自身,选择所有63场比赛,并自主提交预测表。一个排行榜跟踪哪个人工智能在整个比赛中选择了最佳预测表。 有趣的设计问题是为代理优先的用户构建。我想出了一个解决方案:访问主页的代理会收到纯文本的API说明,而人类用户则看到正常的视觉网站。早期我发现大多数代理试图使用Playwright浏览网站,而不是直接阅读文档。因此,我进行了调整,以检测HeadlessChrome并提供特定的HTML,以便代理可以读取。这迫使我更加考虑代理的用户体验——我认为有一些非常酷的创意可以借鉴。 时间线引入了一个有趣的动态。我必须在周日下午预测表公布后不久启动挑战,以便在周四早上的截止日期之前开始吸引用户。虽然我可以在2025年的预测表上进行测试,但无法获得关于我的最小可行产品(MVP)的反馈。因此,我使用人工智能创建用户角色,并将代理作为测试用户,进行注册和管理流程。这让我获得了宝贵的经验,使我对启动充满信心。 技术栈包括Next.js 16、TypeScript、Supabase、Tailwind v4、Vercel、Resend,最后是Claude Code,构成了大约95%的构建部分。 该系统可以与任何能够调用API的模型兼容——无论是Claude、GPT、Gemini,还是开源模型。预测表需在第一轮比赛开始前的周四早上提交。 Bracketmadness.ai
10作者: kingcauchy大约 4 小时前原帖
大家好,我很高兴与大家分享 Antfly:一个用 Go 编写的分布式文档数据库和搜索引擎,结合了全文搜索、向量搜索和图搜索。您可以将其用于分布式多模态搜索和记忆,或者用于本地开发和小型部署。 我构建这个项目是为了给开发者提供一个单一二进制文件的部署,具备本地机器学习推理能力(通过一个名为 Termite 的内置服务),这意味着您不需要外部 API 调用来进行向量搜索,除非您希望使用它们。 以下是一些可能会吸引大家的功能: - **功能**:多模态索引(图像、音频、视频)、类似 MongoDB 的原地更新以及流式 RAG(检索增强生成)。 - **分布式系统**:基于 etcd 库构建的多 Raft 设置,后端使用 Pebble(CockroachDB 的存储引擎)。元数据和数据分片各自拥有自己的 Raft 组。 - **单一二进制**:antfly swarm 提供一个单进程的部署,所有功能均在其中运行。适合本地开发和小型部署。需要扩展时可以通过添加节点来实现。 - **生态系统**:配备 Kubernetes 操作器和用于 LLM 工具使用的 MCP 服务器。 - **本地机器学习推理**:Antfly 附带 Termite。可以将其视为一个内置的 Ollama,适用于非生成模型(如嵌入、重排序、分块、文本生成)。不需要外部 API 调用,但也支持它们(如 OpenAI、Ollama、Bedrock、Gemini 等)。 **许可证**:我选择了 Elastic License v2,而不是 OSI 批准的许可证。我知道这是一个有强烈观点的话题。实际的结果是:您可以使用、修改、自己托管它,并在其基础上构建产品,但不能将 Antfly 本身作为托管服务提供。这是为了可持续性而做出的合理权衡,同时仍然保持源代码的可用性。 欢迎大家提出关于架构、Raft 实现或其他任何问题的反馈!
5作者: rufuspollock大约 2 小时前原帖
我是鲁弗斯,Flowershow的创始人之一。我们热爱Markdown,并在网站、文档和知识库等各个地方使用它。此外,现在AI也在各处应用Markdown。 我们厌倦了每次想分享文件或将网站上线时所需的框架、配置和部署的繁琐过程。因此,我们构建了我们想要的工具:文件输入,网站输出。我们的愿景是“内容的Vercel”——让部署(Markdown)内容变得像Vercel为JavaScript所做的那样快速、无缝和简单。 通过命令行,你可以连接到GitHub仓库,使用Obsidian插件,或者拖放文件。 ``` npm i -g @flowershow/publish publish ./my-notes # → https://your-site.flowershow.app 几秒钟内上线 ``` Flowershow是**完全托管**的——无需服务器、构建管道或持续集成/持续部署。只需指向一个Markdown文件夹,即可获得一个URL。 支持完整的Obsidian语法:维基链接、提示框、图表视图、前置信息。 GFM、Mermaid、LaTeX:图表和数学公式原生渲染。 通过Tailwind和CSS变量实现主题:开箱即用的Tailwind。可在不需要构建步骤的情况下进行自定义。 支持HTML:使用HTML、图片等。 目前约有7000个Obsidian插件安装,1400名用户,1100个网站。个人使用永久免费。高级版($5/月)提供自定义域名、搜索和密码保护。 而且它是开源的:[https://github.com/flowershow/flowershow](https://github.com/flowershow/flowershow) 快来试试吧,告诉我们你的想法以及我们可以改进的地方。