今日已更新 235 条资讯 | 累计 37786 条内容
关于我们

标签:#open

找到 2657 篇相关文章

AI 资讯

Architecting Mainline-Friendly Products

Mainline-friendly products are designed so their board support lives in upstream Linux, U-Boot, and standard build systems instead of a vendor fork. The decision is architectural, not aspirational: it is made when you choose the SoC, design the add-on connectors, and write the device tree — not when the product is already shipping. This article gives the strategic case, the product design rules that follow from current kernel work on hot-pluggable add-on boards, a vendor checklist for tech leads, and the concrete steps to upstream your own board support. We have covered why silicon vendors are moving to upstream-first BSPs . This article covers the product team's side of that shift: what you should do about it. Building mainline-friendly products means making a set of design decisions — SoC selection, connector design, device tree structure, and an upstreaming plan — so that mainline Linux and U-Boot treat your board as a normally supported board rather than as a permanent private port. Each section below turns one of those decisions into rules you can apply on your next board. Why mainline-friendly products are a strategic decision The cost of a vendor-fork BSP is not paid at bring-up; it is paid for the life of the product. Every kernel upgrade becomes a forward-port of private patches. Every security fix arrives on the vendor's schedule, not the kernel's — and for devices in scope of regulations such as the EU Cyber Resilience Act, patch latency is now a compliance question, not just an engineering one. Hiring is harder, because engineers must learn your fork before they can touch it, and the knowledge they build does not transfer in either direction. Board support that lives in mainline inverts each of these. New kernels are more likely to boot your board without forward-porting private support patches, because your board is part of the kernel's own build-and-test surface; LTS security fixes are easier to consume because the code paths you depend on are already

2026-08-02 原文 →
AI 资讯

Stop Leaking PII! Local Data Masking with Transformers.js and WASM

In an era where data privacy is no longer a "nice-to-have" but a legal mandate (looking at you, GDPR and HIPAA), sending raw user data to the cloud is like playing with fire. If you are building health-tech or fintech apps, the risk of exposing Personally Identifiable Information (PII) is a constant headache. But what if the data never leaves the user's browser in its raw form? Enter Edge AI and Privacy-preserving AI . By leveraging Transformers.js and WebAssembly (WASM) , we can perform complex Named Entity Recognition (NER) to de-identify sensitive information directly on the client side. In this tutorial, we’ll build a "Privacy Shield" that detects and masks names, locations, and health identifiers before they ever hit your API. The Architecture: Privacy First 🏗️ The traditional approach involves sending raw text to a server-side LLM or NLP service. Our approach intercepts the data at the "Edge" (the browser). graph TD A[User Inputs Sensitive Health Data] --> B{Browser-side Privacy Shield} B --> C[Transformers.js / WASM] C --> D[NER Model Analysis] D --> E[Data Masking / Redaction] E --> F[Clean Data] F --> G[Cloud Storage / Analytics] G -.-> H[Compliance & Security ✅] style B fill:#f9f,stroke:#333,stroke-width:2px style C fill:#bbf,stroke:#333,stroke-width:2px By using WebAssembly , we get near-native performance for running BERT-based models in the browser, ensuring the UI remains snappy while keeping the data 100% local. Prerequisites 🛠️ To follow along, you'll need: Tech Stack : TypeScript, Vite, and Transformers.js . Basic understanding of NER (Named Entity Recognition) . A passion for not getting sued for data leaks. 🥑 Step 1: Setting up the Privacy Pipeline First, let's install the library: npm install @xenova/transformers Now, let's create our PrivacyShield service. We will use a lightweight NER model (like Xenova/bert-base-NER ) that has been optimized for the web. // src/services/privacyShield.ts import { pipeline , env } from ' @xenova/transformers ' ;

2026-08-02 原文 →
AI 资讯

The Open-Weight Inflection Point: Kimi K3, Claude Opus 5, and Microsoft MAI Signal a Market Shift

The Open-Weight Inflection Point: Kimi K3, Claude Opus 5, and Microsoft MAI Signal a Market Shift Subtitle: Three major releases in one day point to the same conclusion — the AI industry is shifting from "who can build the strongest model" to "who can build the most cost-effective one." July 28, 2026, might be remembered as the day the AI industry's center of gravity shifted. Three announcements — from Moonshot AI, Anthropic, and Microsoft — each independently signaled the same underlying trend: open and cost-efficient models are becoming the new competitive baseline. Here's what happened and why it matters. 1. Kimi K3 Goes Open-Weight: First 3T-Class Open Model Moonshot AI publicly released Kimi K3's full model weights on HuggingFace — a 2.8-trillion-parameter Mixture-of-Experts model with 104B activated parameters. This is the first 3T-class model ever made openly available to the public. Key technical highlights: Architecture: Kimi Delta Attention (KDA) + Attention Residuals (AttnRes), 896 experts with 16 activated per token Native Multimodality: Text, images, and video understanding via MoonViT-V2 vision encoder Context Window: 1,048,576 tokens (~1M tokens) Benchmarks: Terminal-Bench 2.1: 88.3, BrowseComp: 91.2, MCPMark-Verified: 94.5 — competitive with Claude Fable 5 and GPT-5.6 Sol Why it matters: Kimi K3 raises the "open-source model ceiling" to an unprecedented level. For the first time, a model that competes with top-tier closed-source models is available with fully public weights — giving startups, researchers, and enterprises a genuine alternative to API-dependent workflows. For developers, this is the practical part: you can now self-host a model that holds its own against frontier closed models. That changes cost models, data-privacy decisions, and vendor lock-in math overnight. 2. Claude Opus 5: Anthropic's "Daily Driver" Strategy Anthropic launched Claude Opus 5 — a mid-premium model positioned as the "daily driver" for 90% of knowledge work. The key

2026-08-02 原文 →
AI 资讯

136 raw removals, 17 real ones: what a spec diff over-reports

Originally published at mendapi.com . Between two published snapshots of the Cloudflare OpenAPI schema — 7abe88500e55 (2026-03-31) → c92b9b0fde23 (2026-07-27) — a raw structural diff produced 6,354 change records. 136 of them were endpoint path removals, the scariest kind a diff can report: the route your code calls is simply gone from the spec. Except 119 of those 136 were not gone at all. This is the accounting of how we know, per record, with machine evidence. The trap in a raw diff A path removal in a spec diff means one thing: the string key disappeared from the paths object. It does not mean the runtime URL stopped working. Specs get refactored — concrete routes collapse into templated ones, path parameters get renamed, methods get merged — and every one of those refactors shows up as a "removal" if you only look at one side of the diff. An alerting tool that pages you 136 times for this corridor is training you to ignore it. The whole job of the curation layer is to keep that from happening without silently dropping a real break. The ledger: 17 + 119 = 136 Every one of the 136 raw removals has an adjudicated destination. 17 were kept as genuinely client-breaking: the runtime URL or method really disappeared, with no surviving successor. The other 119 were excluded, each with machine evidence from the two spec snapshots that the surface actually survives: Template consolidation — 107 records. Concrete Workers AI model routes like /ai/run/@cf/baai/bge-m3 collapsed into the pre-existing generic /ai/run/{model_name} route. The runtime URL a client sends never changed; the spec just stopped enumerating each model. The evidence rule requires the templated route to exist in both snapshots and to swallow the removed path with a literal-anchored match, so a template that is merely a shape prefix of a genuinely removed endpoint does not count. Parameter rename, runtime-identical — 11 records. Path parameters renamed ( {postfix_id} to {investigate_id} and friends). Afte

2026-08-02 原文 →
AI 资讯

nestjs-docfy: mock servers, contract testing, and a much sharper MCP server

A few weeks ago I shared nestjs-docfy here — a library that moves Swagger decorators out of NestJS controllers into companion *.controller.docs.ts files, docfy-ui as an AI-first reference UI, and docfy-mcp exposing your API catalog to coding agents via list_endpoints / get_endpoint . Since then the CLI grew a full local dev workflow around the spec itself, and docfy-mcp went from "read the docs" to "verify the API is telling the truth." docfy mock : a server without the server \ shell npx nestjs-docfy mock --spec openapi.json --port 4010 \ \ Spins up a throwaway HTTP server straight from your OpenAPI document — every path returns a schema-shaped response. Useful for frontend work against an API that isn't built yet, or for pointing an agent at something real instead of a static spec file. docfy test : contract testing off the spec \ shell npx nestjs-docfy test --spec openapi.json --base-url http://localhost:3000 \ \ Fires a real request at every documented endpoint and validates the live response against its declared schema. Catches the exact failure mode API docs are famous for: the code moved on, the docs didn't. CI-friendly, non-zero exit on drift. docfy init : zero to configured \ shell npx nestjs-docfy init \ \ One command, scaffolds the docfy-export.ts entry file and wires DocfyModule.forRoot() for you. No more copy-pasting from the README. --link-controller : less boilerplate \ shell npx nestjs-docfy generate --link-controller \ \ Auto-inserts @WithDocs() into the controller so newly generated .controller.docs.ts files are actually wired in — one less manual step per endpoint. Breaking changes, surfaced in the PR itself docfy-pr-check-reusable.yml now runs a spec diff and posts breaking vs. informational field changes as a PR comment. You see the blast radius of an API change before merge, not after a consumer files a bug. docfy-mcp: from lookup to verification The MCP server picked up three tools that turn it from a reference into an actual QA loop for agent

2026-08-02 原文 →
AI 资讯

Lucide vs Tabler vs Phosphor: Which Free Icon Set Fits Your UI?

Lucide, Tabler Icons, and Phosphor are three of the most recommended open-source icon libraries, and they come up together in almost every "which icon set should I use" thread. All three are permissively licensed, actively maintained upstream, and fully browsable on svgicons.com, so you can compare the actual vectors side by side before committing your project to one visual language. The numbers and license details below are read from the catalog database that powers this site, not copied from marketing pages. Where the sets differ upstream, the comparison sticks to what ships in the indexed releases. Quick comparison Set Icons here License Grid Drawing model Variants Lucide 1,778 ISC 24x24 2px stroke, currentColor One style; experimental icons live in Lucide Lab (373) Tabler Icons 6,143 MIT 24x24 2px stroke, currentColor Outline plus 1,087 -filled icons in the same set Phosphor 9,161 MIT 256x256 Filled paths, currentColor Six weights: Regular, Thin, Light, Bold, Fill, Duotone Three drawing philosophies Lucide and Tabler share a philosophy: a 24x24 grid, geometry drawn as strokes rather than filled shapes, and a default stroke width of 2. Lucide grew out of the Feather community and keeps that restrained, minimal feel. Tabler follows the same conventions but covers far more ground. Because both are stroke-based, an icon is literally a set of lines that inherit your text color: <!-- Lucide arrow-right, exactly as stored in the catalog --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"> <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14m-7-7l7 7l-7 7"/> </svg> Phosphor takes the opposite road. Its icons are filled paths on a 256x256 grid, so the shapes are solid geometry instead of outlined line work. The weight system replaces stroke-width tweaking: instead of making lines thicker, you switch to the Bold cut of the same icon. <!-- Phosphor arrow-right (Regular weight)

2026-08-02 原文 →
AI 资讯

🚀 TMA DevKit v2: Local Emulator for Telegram Mini Apps + MCP AI Debugging

😤 The Problem That Drives Everyone Crazy Ever tried building a Telegram Mini App? Write your code. Spin up ngrok (and pray it doesn't crash). Go to @BotFather, paste the tunnel URL. Grab your phone, open the bot, type console.log() — and pray again. Repeat for every theme, platform, and user type you need to test. It's 2015, folks. And there's still no official emulator. "The main difficulty is the inability to run a project as easily as in a browser via localhost — and the absence of a developer console." — Habr, March 2025 💡 Introducing: TMA DevKit A local emulator and bridge inspector for Telegram Mini Apps. Think Redux DevTools, but for window.Telegram.WebApp. In one sentence: paste your Mini App URL into the panel, and it runs inside an iframe with a full emulation of the Telegram client — no phone, no ngrok, no BotFather. ✨ What DevKit v2 Can Do (and Why It's Awesome) 🧠 MCP Server for AI-Powered Debugging — Brand New! Connect any AI assistant (Claude, GPT, local models) via the Model Context Protocol. Ask questions about your app's state, event flow, or initData validation — and get instant debugging suggestions. 🔧 A Real Mock, Not a Stub Full window.Telegram.WebApp API surface (all methods, properties, events). Cryptographically valid initData generation with HMAC-SHA-256 signature using your bot token. Backend validation passes as in production. Compatible with @telegram-apps/sdk v3 out of the box. ⚡ 5 One‑Click Quick Scenarios Scenario Description iOS Premium iPhone user with Premium subscription Android Free Regular Android user New User With referral parameter Group Launch Emulates opening from a group chat Desktop Wide viewport on computer Switch contexts in seconds — no manual input. 📊 Bridge Event Inspector All web_app_* calls displayed in real time. Group by type, filter, pause, export logs as .txt. emit console to fire client → app events (theme_changed, main_button_pressed, etc.). ☁️ CloudStorage Editor Visual key‑value editor. No more guessing what

2026-08-02 原文 →
开发者

Falco — a from-scratch browser engine in ~36k lines of Rust (v0.1.0 release)

Hi everyone! I just released v0.1.0 of Falco — a browser engine I've been building in Rust on nights and weekends. No WebKit, no Gecko, no Chromium — every module is written from scratch in ~36,000 lines. 🔗 GitHub : https://github.com/poxk/Falco 🔗 Releases (prebuilt binaries for Linux/macOS/Windows): https://github.com/poxk/Falco/releases/tag/v0.1.0 What's inside All modules are from scratch, with no dependency on existing browser engines: HTML5 ( html5/ + html.rs ) Tokenizer — all 80 states of WHATWG §13.2.5, including script-data escape/double-escape state machine, attribute parsing with duplicate detection, named + numeric character references with Windows-1252 quirks table Tree builder — all 22 insertion modes of WHATWG §13.2.6, stack of open elements with scope algorithms (default/button/table/select/list-item), active formatting elements list, adoption agency algorithm (8-iteration outer loop with full inner loop and bookmark tracking), foster parenting for table content XML parser — strict, with namespace bindings, CDATA, PIs Encoding detection — BOM, HTTP Content-Type charset, <meta charset> , <meta http-equiv> , heuristic UTF-8/UTF-16 detection, decoders for UTF-8 / UTF-16LE / UTF-16BE / Windows-1252 innerHTML/outerHTML serialization — void elements, <template> contents fragment, raw text elements, full attribute value escaping DOM ( dom2/ ) NodeRef = Rc<RefCell<Node>> with parent/firstChild/lastChild/previousSibling/nextSibling pointers per spec MutationObserver with observe()/disconnect()/take_records(), subtree ancestor matching, attributeFilter Shadow DOM — attachShadow() with open/closed modes, host validation, named + default slots, fallback content, slot distribution (flatten tree algorithm) Custom elements — customElements.define() with name validation, observedAttributes, lifecycle callbacks (connected/disconnected/adopted/attributeChanged/form-associated), pending upgrades, customized built-in elements (is="...") Accessibility tree — parallel tree

2026-08-02 原文 →
AI 资讯

My fresh OpenClaw install kept failing. The model wasn’t the problem.

I hit a failure pattern recently that’s way more common than people admit: install OpenClaw connect it to Ollama pull a decent local model test the model directly and it works run the first real agent turn and everything falls apart At that point, most people do the obvious thing: blame the model. Swap Qwen for Llama. Try a bigger model. Try a smaller model. Re-pull weights. Tweak quantization. Repeat. I think that’s usually the wrong first move. The real issue is often prompt baggage, context budgeting, or backend compatibility. Not the model itself. A direct Ollama prompt is a tiny test. An OpenClaw agent turn is not. The tell: direct Ollama works, OpenClaw fails I was reading a thread on r/openclaw where someone on Ubuntu Server said even a brand-new session with just hello could trigger the recurring error. The strange part was that the same model felt “lightning fast and great” when used directly through Ollama with a 4096 context. That’s the giveaway. If this works: curl http://localhost:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "qwen2.5-coder:14b", "messages": [ {"role": "user", "content": "hello"} ] }' but OpenClaw falls over on a normal turn, the model is probably not your first problem. You’re usually dealing with one of these: context blowout oversized system instructions too many skills loaded memory payloads getting injected every turn tool schema overhead output reservation settings that are too aggressive OpenAI-compat quirks in the backend That pattern shows up outside OpenClaw too. I’ve seen the same thing in n8n, Make, Zapier, and custom OpenAI-compatible agent stacks: the hello-world prompt passes, then the real automation fails because the production request is much heavier than anyone realized. A “fresh” OpenClaw install is not actually empty This is the part people miss. By the time your local model sees a real OpenClaw turn, it may already be carrying: system instructions tool definitions skill prompts me

2026-08-02 原文 →