开源项目
🔥 swagger-api / swagger-ui - Swagger UI is a collection of HTML, JavaScript, and CSS asse
GitHub热门项目 | Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. | Stars: 28,855 | 6 stars today | 语言: JavaScript
开源项目
🔥 vercel-labs / agent-skills - Vercel's official collection of agent skills
GitHub热门项目 | Vercel's official collection of agent skills | Stars: 28,276 | 32 stars today | 语言: JavaScript
开源项目
🔥 pshenok / server-survival - Tower defense game that teaches cloud architecture. Build in
GitHub热门项目 | Tower defense game that teaches cloud architecture. Build infrastructure, survive traffic, learn scaling. | Stars: 6,038 | 35 stars today | 语言: JavaScript
开源项目
🔥 arunbhardwaj / LeetHub-2.0 - Automatically sync your leetcode solutions to your github ac
GitHub热门项目 | Automatically sync your leetcode solutions to your github account - with some updates to keep it working | Stars: 559 | 12 stars today | 语言: JavaScript
开源项目
🔥 microsoft / power-platform-skills - A plugin marketplace for Claude Code/GitHub Copilot that pro
GitHub热门项目 | A plugin marketplace for Claude Code/GitHub Copilot that provides Power Platform development plugins, including reusable skills, agents, and commands for building and deploying solutions. | Stars: 388 | 7 stars today | 语言: JavaScript
开源项目
🔥 BerriAI / litellm - Python SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs
GitHub热门项目 | Python SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, VLLM, NVIDIA NIM] | Stars: 51,382 | 152 stars today | 语言: Python
开源项目
🔥 wshobson / agents - Multi-harness agentic plugin marketplace for Claude Code, Co
GitHub热门项目 | Multi-harness agentic plugin marketplace for Claude Code, Codex CLI, Cursor, OpenCode, GitHub Copilot, and Gemini CLI | Stars: 37,124 | 43 stars today | 语言: Python
开源项目
🔥 ariadng / metatrader-mcp-server - Model Context Protocol (MCP) to enable AI LLMs to trade usin
GitHub热门项目 | Model Context Protocol (MCP) to enable AI LLMs to trade using MetaTrader platform | Stars: 561 | 8 stars today | 语言: Python
开源项目
🔥 flutter / flutter - Flutter makes it easy and fast to build beautiful apps for m
GitHub热门项目 | Flutter makes it easy and fast to build beautiful apps for mobile and beyond | Stars: 177,123 | 44 stars today | 语言: Dart
开源项目
🔥 andreknieriem / headunit-revived - Headunit App for displaying Android Auto
GitHub热门项目 | Headunit App for displaying Android Auto | Stars: 1,359 | 79 stars today | 语言: Kotlin
开源项目
🔥 google-labs-code / design.md - A format specification for describing a visual identity to c
GitHub热门项目 | A format specification for describing a visual identity to coding agents. DESIGN.md gives agents a persistent, structured understanding of a design system. | Stars: 16,759 | 504 stars today | 语言: TypeScript
AI 资讯
Google Home Speaker review: A modest update for the Gemini era
Google's new speaker is a modest update, but the question is whether Gemini is a good smart home assistant.
开发者
Some of our favorite Switch 2 accessories are cheaper during Prime Day
The Switch 2’s price is set to increase by $50 on September 1st, starting at $499.99, so if you’re purchasing one before that (or you already own one), now’s a good time to also save on accessories while you can. Amazon’s Prime Day has delivered many great game deals, but some of the best sales […]
AI 资讯
The Google Home Speaker sounds good and looks great — but it’s finicky
Right out of the box, the new Google Home Speaker passed a couple of important tests. Even with the volume at 100 percent and music blaring out of the speaker, it quickly ducked the audio and listened every time I said "Hey, Google." In fact, in two days of testing, the speaker's three microphones haven't […]
AI 资讯
I ran one API response through two JSON-to-Zod converters. One silently turned every field into z.string().
You have an API response. You want a Zod schema. So you paste the JSON into a JSON-to-Zod converter, copy the output, and ship it. Here's the trap: a lot of those converters infer basic types only . Your email , your uuid , your url , your ISO timestamp — they all come out as z.string() . The schema compiles, the types look right, and your validator quietly accepts "not-an-email" , "ftp://nope" , and "2026-99-99" forever. I wanted to see exactly how much gets lost, so I ran the same payload through two tools and diffed the output. Everything below is real, copy-pasteable output — nothing edited. The input A pretty ordinary user object: { "id" : "3f2a9c1e-5b7d-4e8a-9f1c-2d3e4f5a6b7c" , "email" : "ada@example.com" , "website" : "https://ada.dev" , "age" : 34 , "rating" : 4.7 , "created_at" : "2026-03-04T10:15:30Z" , "is_active" : true , "address" : { "city" : "Lyon" , "zip" : "69001" }, "tags" : [ "early-adopter" , "beta" ] } Tool 1 — json-to-zod (npm) const user = z . object ({ id : z . string (), email : z . string (), website : z . string (), age : z . number (), rating : z . number (), created_at : z . string (), is_active : z . boolean (), address : z . object ({ city : z . string (), zip : z . string () }), tags : z . array ( z . string ()), }); Structurally correct. But every meaningful field is a bare z.string() / z.number() . This schema will happily validate email: "lol" and created_at: "yesterday" . Tool 2 — TypeMorph import { z } from " zod " ; export const userAddressSchema = z . object ({ city : z . string (), zip : z . string (). regex ( /^ [ A-Z0-9 ][ A-Z0-9 \s\-]{1,8}[ A-Z0-9 ] $/i ), }); export type UserAddress = z . infer < typeof userAddressSchema > ; export const userSchema = z . object ({ id : z . uuid (), email : z . email (), website : z . url (), age : z . number (). int (). min ( 0 ). max ( 150 ), rating : z . number (). min ( 0 ). max ( 5 ), created_at : z . iso . datetime (), is_active : z . boolean (), address : userAddressSchema , tags :
AI 资讯
Real photos in ChatGPT, 30-second AI video, and AI inside A24 — 3 stories that blur "real vs AI" media
Three AI stories landed this week that all poke at the same nerve: the images, video, and films we actually look at are getting an AI layer — and the line between "real" and "AI-made" keeps thinning. Quick rundown in the short, then my take below: 1. ChatGPT will start showing real, licensed photos — not AI fakes. OpenAI signed a multi-year display deal with Getty Images, so licensed photography shows up inside ChatGPT's search and discovery. It's display-only — the photos aren't used to train models. The twist I can't get over: AI image generation had nearly wiped Getty out (stock down ~55% on the year), and this one deal sent the shares up ~145%. The thing AI almost broke got rescued by AI. 2. ByteDance — yes, TikTok's parent — teased Seedance 2.5: a full 30-second video generated in a single shot, no stitching, up to 50 reference inputs, 4K. Most tools still cap out around 5–10 seconds, so "30s native, one pass" is a real jump in how usable the output is. Public launch is early July. 3. Google DeepMind is partnering with A24 on AI filmmaking — a ~$75M, non-exclusive deal to co-build Veo-powered tools. Notably Google gets no access to A24's film library or data. A prestige studio building with AI in the open makes the whole "AI in Hollywood" debate a lot less hypothetical. As someone building a daily AI-news pipeline on the side, the Getty one is the story I keep chewing on. So much of the "AI vs creators" fight has been framed as scrape-or-die. A display-licensing deal is a third option — pay to show the real thing, instead of generating a confident fake or quietly training on someone's work. I don't know if it scales, but it's the first move in a while that didn't feel zero-sum. The Seedance + A24 pair points the other way though: generation is getting longer, more controllable, and is walking straight into real production. So we get both at once — more verified real media and more convincing synthetic media, in the same week. Curious where other builders land:
AI 资讯
An Editor Built Like a Video Game
On April 29, 2026, Nathan Sobo published the Zed 1.0 announcement post on Zed's blog. The post landed on Hacker News at 2,047 points and 663 comments — the highest-engagement HN story in the present cache by a substantial margin. The launch announcement is a milestone marker after five years of development, roughly a million lines of Rust, and a custom GPU-accelerated UI framework called GPUI that the Zed team built from scratch rather than building atop Electron, Chromium, or any other browser engine. The structural argument Zed has been making for the last several years is condensed in one sentence from Sobo's post: "Instead of building Zed like a web page, we built it like a video game, organizing the entire application around feeding data to shaders running on the GPU." The video-game framing is not metaphorical. Zed's editor surface is composited by feeding glyph atlases, syntax-tree-derived color spans, and pane-layout geometry into GPU shaders the way a video-game engine composites its frames. The reason this matters is the reason the Zed team gave for starting over from the Atom era: Atom was built as a fork of Chromium, and the same team that built Atom is the team that spawned Electron. The Atom-Electron-VSCode lineage is, in the historical-causal sense, Zed's own. Sobo's post is unusually direct about the inherited limitation: "Electron eventually became the foundation of VS Code (which today seems to be forked into a new AI code editor every other week). Web technology offered an easy path to shipping flexible software, but it also imposed a ceiling. No matter how hard we worked, we couldn't make Atom better than the platform it was built on." The 1.0 announcement is, in part, a statement that the rebuild from scratch has finally cleared that ceiling. Who built it Zed's three co-founders all worked on Atom at GitHub before founding Zed Industries in 2021. Nathan Sobo led the Atom team from 2011 to 2018; he also co-led Teletype for Atom, one of the first
AI 资讯
Billing asynchronous work exactly once
Synchronous billing is easy, and that's the problem — it makes you think all billing is easy. When a request does its work inline, the billable number is in the response by the time you send it. The gateway meters from there — the meter write, retries and all, is its problem, not yours. From your side, synchronous billing is one number in the response. Asynchronous work breaks that. The request submits a job; the work happens later, in a worker; the result comes back through a poll or a callback. And the thing you bill for — characters processed, pages converted — isn't known when the request arrives. It's known when the job finishes . So you can't meter at the edge. The meter has to fire from the completion path. And the real difficulty is firing it exactly once per unit of completed work — because requests, polls, and retries all conspire to make that zero times or many times. This is platform-agnostic. Every submit-process-poll API has it. I'll use the system I run as the example, but the shape is the same anywhere. Three ways metering goes wrong On arrival. Carry the synchronous habit over and you meter when the job is submitted. But you don't know the size yet, so you're forced into a crude flat fee — or you bill for work that hasn't happened and might fail. Wrong unit, wrong time. On retrieval. The subtle one. You wire the meter to fire when the client fetches the result. Now a client who submits a job, lets it run — costing you real money downstream — and never bothers to poll is never billed. You did the work for free. "Completion" is not "the client picked up the result." It's the worker finishing. Without a fixed quantity. Input characters or output characters? Pages before OCR or after? If you haven't decided exactly what you measure and where, invoices drift and customers argue. Decide once; measure there. All three point the same way: meter on measured work-completion, with a fixed definition of the unit. Not on arrival. Not on retrieval. The mechanism:
AI 资讯
Google Home Speaker Review: Leading the Pack, Again
Google’s first new smart speaker in six years is here and once again leads its competitors—now with paywalled features.
AI 资讯
We Build Faster Than We Decide
AI has made it easier to produce working software. That part is real. It can write code, draft documents, research a topic, scaffold a prototype, and debug a problem faster than most teams can finish writing a decent ticket. But faster building doesn't automatically mean better product decisions. That's the part I keep coming back to. For decades, software teams optimized around delivery. Requirements, design, development, QA, release. Waterfall softened into Agile. Agile grew into DevOps. The practices changed, but the assumption underneath stayed pretty stable: building software is expensive, so plan carefully before you start. That made sense because, for a long time, it was true. Now that assumption is breaking. AI is doing to software what calculators did to accounting. It isn't eliminating the job. It's moving the job up a level. The syntax, boilerplate, first draft, and some of the debugging are getting offloaded. The work doesn't disappear. The bottleneck moves. Learning is still expensive Here's what didn't get cheaper: understanding what people actually need getting stakeholders aligned deciding what evidence would change your mind putting something real in front of users reading the signal without fooling yourself The old question was: Can we build it fast enough? The new question is: Do we understand the problem well enough? That sounds like a small shift, but it changes the work. It changes what strong engineers spend time on. It changes what product people need from engineering. It changes how teams should define "done." If the code ships but nobody learns anything, did the team actually move forward? Sometimes yes. Often no. Users don't know until they can touch it People are not great at specifying requirements up front. Not because they're difficult. Because they're human. Most of us don't know how we feel about something until we can react to a version of it. A mockup. A prototype. A rough slice. A real workflow with sharp edges. So the fastest pat