开源项目
🔥 google / comprehensive-rust - This is the Rust course used by the Android team at Google.
GitHub热门项目 | This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust. | Stars: 33,156 | 31 stars today | 语言: Rust
开源项目
🔥 CherryHQ / cherry-studio - AI productivity studio with smart chat, autonomous agents, a
GitHub热门项目 | AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs | Stars: 47,870 | 47 stars today | 语言: TypeScript
开源项目
🔥 wasp-lang / wasp - The batteries-included full-stack framework for the AI era.
GitHub热门项目 | The batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away complex full-stack features like auth, background jobs, RPC, email sending, end-to-end type safety, single-command deployment, and more. | Stars: 18,504 | 29 stars today | 语言: TypeScript
开源项目
🔥 directus / directus - The flexible backend for all your projects 🐰 Turn your DB in
GitHub热门项目 | The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more. | Stars: 36,297 | 44 stars today | 语言: TypeScript
开源项目
🔥 googleapis / google-cloud-node - Google Cloud Client Library for Node.js
GitHub热门项目 | Google Cloud Client Library for Node.js | Stars: 3,181 | 0 stars today | 语言: JavaScript
开源项目
🔥 worldwonderer / oh-story-claudecode - 网文/小说写作 skill 包,覆盖长篇与短篇网络小说的扫榜、拆文、写作、去AI味、封面图全流程
GitHub热门项目 | 网文/小说写作 skill 包,覆盖长篇与短篇网络小说的扫榜、拆文、写作、去AI味、封面图全流程 | Stars: 3,165 | 51 stars today | 语言: JavaScript
开源项目
🔥 Neet-Nestor / Telegram-Media-Downloader - A script allowing you to download images and videos from Tel
GitHub热门项目 | A script allowing you to download images and videos from Telegram web even if the group restricts downloading. | Stars: 4,656 | 69 stars today | 语言: JavaScript
开源项目
🔥 browser-use / video-use - Edit videos with coding agents
GitHub热门项目 | Edit videos with coding agents | Stars: 10,432 | 216 stars today | 语言: Python
开源项目
🔥 hugohe3 / ppt-master - AI generates a real, editable PowerPoint from any document —
GitHub热门项目 | AI generates a real, editable PowerPoint from any document — native shapes & animations, speaker notes voiced as audio narration, and the option to follow your own .pptx template, not slide images · by Hugo He | Stars: 32,688 | 589 stars today | 语言: Python
开源项目
🔥 IceWhaleTech / CasaOS - CasaOS - A simple, easy-to-use, elegant open-source Personal
GitHub热门项目 | CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system. | Stars: 35,603 | 502 stars today | 语言: Go
开发者
I built a community platform to discover all Web-based OS projects 🖥️
Hey DEV community! 👋 I've been building web apps for a while, and I noticed there was no good place to discover and rate web-based OS projects — those cool browser-based operating systems you can run without installing anything. So I built Web OS Community 🎉 What is it? A platform where you can: 🔍 Browse web-based OS projects (Windows XP, Ubuntu, macOS clones, and more) ⭐ Rate your favorites with a global rating system 🏷️ Filter by tags (webos, demo, linux, macos, windows...) 📤 Submit your own web OS project via GitHub PR Why I built this The existing resources were scattered — some projects on GitHub, some on random personal pages. I wanted a central hub where developers could showcase their work and users could find these cool experiments easily. Tech stack Frontend: Vanilla JS / HTML / CSS (no frameworks, keeping it lightweight) Backend: Supabase (PostgreSQL + RLS policies) Auth: Custom RPC-based authentication Hosting: GitHub Pages + Cloudflare Workers Some features Global rating system (one vote per user per project) Admin panel for managing submissions Tag-based filtering Dark mode UI 🌙 Check it out! 🔗 web-os-community.tfhy5321.workers.dev If you have a web OS project, feel free to submit it! PRs are welcome 🙌 What web-based OS have you seen that blew your mind? Drop it in the comments!
AI 资讯
From Informatica XML to Snowflake: Why ETL Migration Needs a Governed Delivery Workflow
Legacy ETL modernization is often described as a conversion exercise: Informatica mapping in. Snowflake SQL out. That framing is incomplete. A real migration is not only about translating expressions. It is about preserving transformation intent, identifying what is missing, documenting assumptions, validating target behavior, and ensuring that someone is accountable for decisions before generated artifacts are released. I have been building a prototype called Data Engineering Copilot around that idea. The latest capability starts from an Informatica PowerCenter XML export and produces a governed Snowflake migration delivery packet. The workflow is: Informatica PowerCenter XML ↓ Metadata and Lineage Extraction ↓ Canonical Metadata Model ↓ Snowflake Artifact Generation ↓ Validation and Migration Risk Assessment ↓ Human Review and Approval ↓ Governed Release Package The problem with simple code conversion An Informatica mapping can contain far more than a direct field-to-field relationship. A typical mapping may include: source definitions and target definitions source qualifiers and filters expression transformations reusable transformations lookups constants and default values mapping parameters target load order connector-level lineage update strategy or sequence-generation behavior target fields with no visible incoming connector A generator that only reads source and target columns may produce SQL that looks valid but does not preserve the original delivery intent. That is risky. For example, imagine a target field that has no visible source column. It may still be populated through: a constant such as 'SOURCE_A' a default such as 'XNA' a surrogate-key lookup a runtime parameter a load timestamp a sequence generator a business decision that was never documented in the mapping If the tool silently inserts NULL , the SQL may compile while the migration is functionally wrong. The prototype approach The Data Engineering Copilot prototype accepts two starting points:
AI 资讯
I hooked up Trading212 to Home Assistant and now Alexa tells me if I'm up or down every morning
I've been using Home Assistant for a few years and Trading212 for longer than that. It was inevitable these two things would end up connected. The Trading212 API is surprisingly good — portfolio value, individual positions, pies, dividends, all there. So I wrote a custom integration to pull it all into HA as sensors, then a Lovelace card to make it actually look decent on a dashboard rather than a wall of entity rows. The card does zero-config auto-discovery which was the bit I spent the most time on. You drop it on a dashboard and it finds your sensors automatically — no copying entity IDs, no manual config unless you want it. Five card types: portfolio overview with a sparkline, scrollable positions list, pies with goal progress, and a combined one if you want everything in one card. The sparkline was fiddly. HA's recorder only writes state changes, not regular samples, so if your portfolio value is flat between polls the chart has gaps. Had to smooth over those client-side. The part I use most though is the automations. Every weekday at 8am Alexa tells me where I stand: action : - action : notify.alexa_media_kitchen data : message : > Portfolio is worth {{ states('sensor.trading212_total_value') | float | round(0) | int }} pounds. Today you are {% if states('sensor.trading212_pnl_today') | float >= 0 %}up{% else %}down{% endif %} {{ states('sensor.trading212_pnl_today') | float | abs | round(2) }} pounds. data : type : tts And Friday at 6pm I get the weekly version with P&L for the week and which position moved the most. I like that it just tells me — if the market's had a bad week I'd probably avoid opening the app, but Alexa doesn't give me the option to ignore it. Both the integration and the card are on GitHub. The card is in HACS as a custom repo while it waits for default catalogue approval: https://github.com/Smart-Home-Assistant-UK/lovelace-trading212-card I wrote up the full setup with all the automation YAML here if you want to copy the whole thing: ful
AI 资讯
Migrate License Keys Without Breaking Existing Customers
Originally published on the Keylight blog . The thing that stops developers from moving their licensing isn't the work. It's the fear of one specific moment: a paying customer opens the app after you've switched, and it tells them they're unlicensed. That's the nightmare — you reach for lower fees and customer ownership, and the bill comes due as a wave of "I already paid for this" support tickets. It's a reasonable fear, and it's also avoidable. Migrating onto Keylight doesn't require invalidating anything, re-issuing anything, or asking customers to do anything. This post is about the one rule that keeps everyone working, the two situations you might be in, and why a scary-sounding "major version" jump changes none of it. When you're ready for the click-by-click mechanics, the companion piece covers them: How to Import an Existing Customer Base into Keylight . Why migrating licensing feels risky A license check is binary in the moment a customer experiences it: the app either lets them in or it doesn't. So any change to the system behind that check feels like it's playing with a live wire. Switch the layer that answers "is this person allowed in," the thinking goes, and you risk every existing customer getting the wrong answer at once. That instinct is right about the stakes and wrong about the mechanism. The wave of lockouts people picture comes from one specific mistake: treating migration as a cutover , where the old keys stop being recognized the instant the new system goes live. If your migration invalidates the old keys, yes — everyone breaks. The entire trick is to not do that. The one rule: old keys stay valid Here's the rule the whole migration hangs on: you bring your customers' keys in as they are, and nothing gets invalidated. When you import an existing customer, their license is a live, active record from the first second. If you include the key string they already have, that key is what Keylight stores — not a replacement. So when your new build ask
AI 资讯
One-Time vs Subscription Licensing: Which to Use?
Originally published on the Keylight blog . "Should I charge once or charge monthly?" is one of the first real decisions an indie app faces, and it is usually answered by copying whoever the founder admires rather than by what fits the product. Both models are legitimate. This post lays out when each one actually makes sense, the honest tradeoffs, and how Keylight models perpetual keys and renewing subscriptions so the licensing follows your pricing instead of constraining it. The two models, defined A one-time (perpetual) license is a single payment for a license that does not expire. The customer owns that version — and usually some agreed window of updates — forever. Think of the classic "buy version 3, use it as long as you like" desktop app. A subscription license is a recurring payment for continued access. The license is valid while the customer keeps paying; stop paying and access ends or degrades. The recurring revenue funds ongoing development and any server-side costs the app carries. The distinction is not about the dollar amount — it is about what the customer is buying: ownership of a thing, or ongoing access to a service. Get that framing right and the model usually picks itself. When a one-time license is the right call A perpetual license fits when your app is a tool the customer owns and runs locally , with low ongoing cost to you per user. A focused Mac utility, an audio plugin, a developer tool that does its job on the user's machine — these have little marginal server cost, so charging rent for access is hard to justify and customers feel it. One-time pricing also builds trust. There is no metering, no "what happens if I stop paying," no fear of being locked out of work they already did. For tools people depend on, that ownership feeling is a genuine selling point, and it is exactly the kind of no-value-extraction stance that earns goodwill with developers and power users. The tradeoff is honest: revenue is lumpy and front-loaded. You get paid o
AI 资讯
sqlex — A Modern Drop-in Replacement for jmoiron/sqlx
title: sqlex — A Modern Drop-in Replacement for jmoiron/sqlx published: false description: sqlex is a fully API-compatible modernization of jmoiron/sqlx that fixes 20+ long-standing bugs, adds pluggable hooks, auto IN expansion, and more. Built for Go 1.21+. tags: go, database, sql, opensource If you use sqlx, this is worth 3 minutes of your time jmoiron/sqlx has been the go-to SQL extension library for Go for years. Struct mapping, named parameters, IN clause expansion — it made database/sql actually pleasant to use. I've used it in almost every Go project I've worked on. But here's the reality: its activity has been modest at best, and has slowed to a crawl in recent years. Hundreds of issues sit untouched. PRs go unanswered. Bugs reported years ago are still there, waiting to cause production incidents. This isn't a knock on sqlx — it's a great library with solid design. But an unmaintained foundational library is a liability. So we built sqlex sqlex is a drop-in replacement for jmoiron/sqlx that is 100% API-compatible . All sqlx methods ( Get , Select , Exec , NamedQuery , Preparex , etc.) work identically. Migrating takes 30 seconds — just change the import path: - import "github.com/jmoiron/sqlx" + import "github.com/go-sqlex/sqlex" 🐛 20+ bug fixes from sqlx, all fixed 🚀 New features sqlx never had Auto-Rebind — write ? everywhere, works on PostgreSQL ($1), MySQL (?), SQLite (?), SQL Server ( @p1 ). No more manual db.Rebind(). SQL parsing fixes — colons in strings, :: type casts, ? in comments are correctly handled. Silent bugs from sqlx are gone. Auto IN expansion — slices in IN (?) are detected and expanded automatically on all methods. Hook system — pluggable SQL interceptors for logging, tracing, metrics (onion model). JSONValue[T] — generic JSON column type with auto serialize/deserialize. StrictMode — lenient by default (matching sqlx Unsafe()), optionally strict for debugging. Unified interfaces — Ext / ExtContext / NamedExt / BindExt with compile-time
AI 资讯
I Built 9 AI Agents to Run a Gym. Here's the Architecture.
I Built 9 AI Agents to Run a Gym. Here's the Architecture. The thesis that changed everything Most people think AI in business means: a chatbot → a dashboard → a few automated emails. I think it means: an entire organization runs on specialized AI agents, coordinated by a constitution, accountable to an independent auditor — with one human founder providing direction and warmth. Not a demo. Not a simulation. A real fitness studio in Dongguan Wanjiang, China. Real members. Real revenue. Running since April 2026. Here's the architecture. One Brain, Two Faces, Four Layers Let me start with the big picture, because the architecture is the strategy. ZWISERFIT = AI Operating System for Physical Businesses │ ├── 【Kernel】 9-Agent Enterprise OS (24×7 · full-stack autonomous) │ ├── 【Application Layer】 Saros & Melody │ Saros = Momo(Brain) + SaaS Stack → Digital Store Manager (B2B) │ Melody = Momo(Brain) × 3-Layer Metabolism → Personal Coach (B2C) │ ├── 【Data Layer】 KinTwin │ Hardware sensors + Nova behavioral streams + Ethan ZK proofs │ └── 【Protocol Layer】 Zeus Protocol Cross-domain agent communication + automated data transactions Fitness is the first vertical. Once the protocol runs, insurance, corporate health, and cross-industry data markets come online sequentially. The same architecture, different verticals. The 9 Agents: A Department Store for the AI-Native Company Each agent has domain expertise, a constitution (SOUL.md), identity (IDENTITY.md), memory (MEMORY.md), and cross-validation rules. They don't run on prompts. They run on governance. 🎯 Shuyu — Commander-in-Chief Orchestrates all 9 agents on the founder's behalf. Reads every agent report, coordinates across departments, makes daily strategic calls. The founder sets direction; Shuyu ensures execution 24×7. Role: COO + Chief of Staff, AI-native Output: Daily operational reports, cross-agent coordination logs Constitutional scope: Has authority over all agent scheduling but cannot modify the constitution 💰 Zeus —
AI 资讯
从"玩具"到"教材":一个500行AI框架的自我修养
为什么我要造一个500行的Agent轮子? 你好,我是 FROST 的作者。 2026年了,Agent 框架多得能让人挑花眼:LangGraph 有 34.5M 月下载量,Dify 在 GitHub 斩获 129.8K Stars,各大厂商都在疯狂推自己的 SDK。这种环境下,再写一个"轮子",是不是有点多余? 说实话,我也纠结了很久。 一个困惑:新学者的两难困境 事情要从一次失败的辅导说起。 我帮一个朋友入门 Agent 开发,推荐了 LangChain。结果他学了两个月,还在和 chain.invoke() 搏斗,脑子里依然没有"Agent 到底是怎么工作的"这个概念。 问题出在哪? 现在的框架太强了,强到把所有的复杂性都藏了起来。 你可以三行代码跑起来一个 Agent,但你也永远不知道它内部发生了什么。就像学开车,你学会了踩油门转弯,但发动机是怎么工作的、变速箱怎么换挡,一概不知。 而对于想真正理解 Agent 本质的人来说,这是一个巨大的 Gap: 需求 现有选项 快速开发产品 LangChain/CrewAI 理解底层原理 论文 + 源码 入门级教学框架 ❌ 空白 这个空白,就是 FROST 存在的原因。 FROST 的设计哲学:Less is More FROST 不是一个生产级框架,它是一个 教学框架 。 这意味着它刻意放弃了: ❌ 复杂的依赖生态(不需要 LangChain) ❌ 丰富的工具集成(没有 100+ 内置工具) ❌ 分布式部署能力(就是单机 Python) 它只保留了三个核心概念: \ `python Store - 记忆容器(类似神经细胞的存储功能) class Store: """存储上下文、记忆、状态""" def init (self): self.data = {} Skill - 纯函数变换(类似神经细胞的处理功能) class Skill: """输入→处理→输出,无状态""" def call (self, store, *args, **kwargs): pass Agent - 执行单元(类似神经细胞本身) class Agent: """调用 Skill,操作 Store,完成目标""" def init (self, skills: list[Skill], store: Store): pass ` \ 是的,就这么简单。 三个类,不超过 500 行代码。 但正是这种简单,让"理解"变得可能。 一行代码跑起来的 Agent \ `python from frost import Agent, Store, Skill 定义一个"搜索助手"技能 class SearchSkill(Skill): def call (self, store, query): result = web_search(query) # 这里是你的搜索实现 store.set("last_search", result) return result 创建 Agent 并运行 store = Store() agent = Agent(skills=[SearchSkill()], store=store) response = agent.run("北京今天天气怎么样") print(response) ` \ 对比一下用 LangChain 实现同样的功能: \ `python from langchain.agents import AgentExecutor, create_react_agent from langchain_openai import ChatOpenAI ... 还有十几行初始化代码 ` \ FROST 让你从第一行代码开始,就知道自己在做什么: Agent 是执行者 Skill 是它的能力 Store 是它的记忆 没有魔法,没有黑箱,只有清晰的数据流。 为什么叫 FROST? FROST 的全称是 Fractal Remote Organ of Scalable Thoughts ——可扩展思维的分形远程器官。 这个名字源于它的设计灵感: 神经细胞(Neural Cell) 。 在生物学中,每个神经细胞都很简单: 接收信号 处理信号 发出信号 但当 亿万个神经细胞 连接在一起,就涌现出了智能。 FROST 试图在软件层面复现这个过程: Neural Cell → Agent Synapse → Skill Long-term Memory → Store Brain (Emergence) → Multi-Agent System 这不是在模仿大脑,而是在学习生物界的智慧: 简单单元 + 清晰连接 = 复杂行为。 我的踩坑日记 作为一个从零开始写框架的人,踩的坑比代码行
AI 资讯
Why I Built a Tiny Repeated-Game Poker Analysis Tool
Most poker solvers answer one question very well: given a single hand and a single decision tree, what is the equilibrium strategy? (Yes, there is subgame solving, node locking, and plenty more — but the default frame is still one hand, one equilibrium.) I kept getting stuck on a different one. What if the same kind of spot shows up over and over, and a player can commit to a fixed strategy across those repetitions? In a few toy games I had a hunch, worked out by hand, that committing to a fixed strategy could change its value relative to the one-shot picture. I wanted a tool that could make that commitment value precise — to actually analyze it rather than just believe it. (Whether any of this rises to a repeated-game equilibrium is a much stronger claim, and one I am deliberately not making here.) I'm still learning software engineering, so until recently I couldn't implement this — I was stuck reasoning about toy games on paper. AI tooling made the analysis feasible, so I finally started building it: repeated-poker-analysis . It's a small research project: write one narrow model down, run small examples, and record what the model does and doesn't justify. What repeated-poker-analysis is It is an experimental Python toolkit for small abstract poker games. The current MVP covers: fixed Hero commitment candidates, exact Villain best-response diagnostics in small finite trees, candidate generation and filtering, T_deadline , an economic adaptation deadline, local T_detect , an observable-distribution sensitivity estimate, analysis reports and Markdown summaries. It is small on purpose. It is not a full solver and it is not wired to real solver ranges. It starts from one toy game — a river spot — that is tiny enough to inspect and test by hand. That toy spot is one where showdown always chops but rake still bites. In a single-hand view, putting more money into a raked pot can be locally unattractive. Across repeated occurrences the same spot raises a commitment questi
AI 资讯
pip install self-audit: A Zero-Dependency CLI for AI Output Quality
AI agents pass tests while producing sloppy thinking. They say "should work" without evidence. They present partial work as complete. They embellish. I built a tiny tool that catches this. It checks any text across four dimensions: Completeness, Consistency, Groundedness, and Honesty. Install pip install self-audit Usage echo "Should work fine. Ready to ship." | self-audit --verbose Completeness: FIXED Groundedness: FIXED [should work fine] FAIL Zero dependencies. Python 3.8+. Stdlib only. 60 lines of core logic. The Four Dimensions Dimension Question What it catches Completeness Did I answer everything? Missing requirements Consistency Did I contradict myself? A-and-not-A patterns Groundedness Did I show evidence? "should work" claims Honesty Am I honest about limits? Embellishment, TODO stubs The dimensions are grounded in Anthropic Constitutional AI framework — Completeness (helpfulness), Groundedness (harmlessness), Honesty (truthfulness), Consistency (rule alignment). Try it on your own output After any AI-assisted coding session, pipe the agent text through self-audit before shipping. You will be surprised what it catches. GitHub: https://github.com/YuhaoLin2005/self-audit Claude Code skill: https://github.com/anthropics/skills/pull/1361