DevTrends开发者趋势
主题色

DEV TRENDS / DAILY DISCOVERIES

2026年4月5日大家都在做什么

每天发现开发者社区的新项目、新产品与开源趋势。

Agents Sandbox

AI Agent 安全沙箱,一条命令让 Claude Code、Codex、OpenClaw 等 AI Agent 在完全隔离的容器中以无限制权限运行,宿主机零风险。支持 CLI 和 Python SDK

DT软件开发DT命令行工具DT库 / SDK
—

Claw4Science:科研 openclaw 生态精选目录

Claw4Science 是一个面向科研人员的 AI Agent 精选目录。 API 文档: 文章地址: 做这个的背景 OpenClaw 生态里科研方向的 AI Agent 项目爆发式增长,但是非常分散和无序, 光叫 "ScienceClaw" 的就有 4 个完全不同的项目,"PaperClaw" 有 6 个。想找一个合适的生信或药物发现的clawlike工具,得翻几十页 GitHub。而且容易“鸡同鸭讲”, 当在谈论 ScienceClaw 这个项目的时候, 我们可能说的是四个不同的项目 😿 作为生物信息学方向的博士生,我花了几周把这些项目全部整理了一遍。 收录内容 120 个科研 AI Agent 项目,覆盖生信、药物发现、多组学、论文写作等 24 个技能仓库,2200+ 个技能的分类调研 30+ 篇中英双语博文(工具对比、教程、月度生态报告) GitHub Stars 和更新时间每日自动刷新 同名项目消歧义页(4 个 ScienceClaw、6 个 PaperClaw 的逐一对比) 公开 REST API,免费无需认证 一些有趣的发现 有人用 1400 年前的三省六部制做了一套多 Agent 协同系统(Edict,12.8K stars) 生信技能库里基因组学占了 25%(550/2203),而生态学只占 1.2% 项目数量 30 天内从 54 涨到 120,还在持续增长 技术栈 Next.js + Cloudflare Workers,PageSpeed SEO 100 分

DT内容创作DT研究与学习DTAgent 能力扩展
—

Charming Pretext: 基于 Pretext 的JavaScript 扩展,方便在任何图形里面排版文字,可用于文本驱动的数据可视化和创意编程

Charming Pretext Charming Pretext 是一个基于 Pretext 的 JavaScript 扩展,提供一个简洁的 API 使得文本可以在任何图形里面排版。可以很方便的实现文字驱动的数据可视化和创意编程。这里是一个简单的 ,展示如何把文字排版到一个圆形里面。 js const layout = cm.layoutTextInPath({ text: "Hello, Charming Pretext! I love generative art!", path: cm.pathCircle(160, 160, 150), // Builds a circle path string. fontSize: 12, fontFamily: "Inter", }); const context = cm.context2d({width: 400, height: 300}); context.fillStyle = "222"; context.font = ${layout.fontSize}px ${layout.fontFamily}; context.textAlign = "center"; context.textBaseline = "middle"; for (const t of layout.texts) { context.save(); context.translate(t.x, t.y); context.rotate((t.angle Math.PI) / 180); context.fillText(t.text, 0, 0); context.restore(); } 案例 代码仓库

DT软件开发
—

AI Amazing - 面向创作者与团队的一体化 AI 图像/视频生产平台

AI Amazing 是一个面向创作者与团队的一体化 AI 图像/视频生产平台 1) 一站式多场景创作 Text to Image Image to Image Text to Video Image to Video Reference to Video(在模型能力层已支持) 2) 多模型聚合(平台型能力) 图像模型(当前目录约 9 个):Nano Banana 系列、Seedream、GPT Image 1.5、 Flux、ZImage 等 视频模型(当前目录约 10 个家族):Veo 3.1、Seedance、Sora 2、Kling、Wan、 Hailuo、Pixverse 等 同一 Studio 面板切换模型,降低学习成本 3) 商业可用导向 价格页和套餐明确强调:No Watermark、Commercial Use License(部分套餐) 提供订阅管理、Billing Portal、订阅取消路径 Dashboard 有 Commercial License、Subscription、Credit History 等模块 4) 计费体系清晰(SaaS 变现友好) 订阅制 + 一次性点数包双轨 年付主打 50% off 点数可叠加,满足波峰型需求(活动季、投放季) 5) 生产级任务与稳定性机制 任务入库(aiTask) 失败自动退款(credits consume/refund) 支持 webhook(Replicate)异步回调 资产统一上传 R2,便于归档与分发 6) 转化链路完整 首页即内嵌生成器(降低试用门槛) 示例画廊/Prompt 库/社区内容/FAQ/CTA 全链路齐全 登录支持邮箱 + Google + GitHub(并有新用户赠送 credits) 订阅(月付) Basic: $14.90 / 1000 credits Pro: $39.90 / 6000 credits Max: $99.90 / 15000 credits 订阅(年付,主打 50%) Basic: $89.88/year(折算 $7.49/月) Pro: $238.80/year(折算 $19.90/月) Max: $598.80/year(折算 $49.90/月) 一次性点数包 Starter: $29.90 / 1500 credits Growth: $49.90 / 5000 credits Professional: $99.90 / 12000 credits Max: $199.90 / 25000 credits 产品策略亮点:订阅适合稳定产能团队,点数包适合活动冲刺或不稳定工作量用户。 五、目标用户画像 1. 增长营销团队:广告素材高频迭代 2. 电商与品牌团队:商品图、场景图、短视频批量产出 3. 创意/代运营 agency:多客户、多风格、交付周期短 4. 内容创作者(YouTube/短视频):封面+短视频一体化 5. 教育/知识团队:角色一致性与系列化内容生产

DT内容创作DT研究与学习DTWeb 应用
—

Font Generator Free

Have you ever wanted to generate fancy text for your Instagram bio, Twitter handle, or TikTok username? There are tons of font generator websites out there, but most of them either: 📵 Require signup 💰 Charge for basic features 🐢 Run slow on free hosting 📱 Don't work well on mobile So I built Font Generator Free — a completely free, nosignuprequired Unicode font generator that works seamlessly on all devices. In this post, I'll walk you through the tech stack, key challenges, and how you can build something similar. The Problem I wanted to create stylish text for my social media profiles. Most tools I found had one of these issues: Limited font styles (maybe 510) Required account creation Watermarks on exports Slow or buggy No batch conversion I figured: how hard can it be? Let me build one myself. The Solution Generator Interface Key Features 30+ Font Styles — Bold, Italic, Bubble, Gothic, Cursive, Zalgo, and more Two Modes — Single text or batch conversion Multiple Export Formats — TXT, HTML, ZIP, PNG, PDF Pro Features — Unlimited saved combos, cloud sync, history Zero Cost — Totally free to run Tech Stack Here's what makes this all possible without paying for servers: Frontend Pure HTML + JavaScript (no framework overhead) Tailwind CSS via CDN (fast prototyping) JSZip for clientside ZIP generation htmltoimage for PNG exports Backend Cloudflare Workers — Serverless edge functions Cloudflare D1 — SQLite database (100MB free) Cloudflare Pages — Static site hosting (free) Total monthly cost: $0 ☁️ How It Works 1. Unicode Font Mapping The core of a font generator is Unicode character mapping. Each "font" is actually a different Unicode block: Regular: ABCDEFGHIJKLMNOPQRSTUVWXYZ Bold: 𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙 Bubble: ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ Gothic: 𝔄𝔅𝔇𝔈𝔉𝔊𝔋𝔌𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔕𝔖𝔗𝔘𝔙𝔚𝔛𝔜𝔷 Here's a simplified version of how I map characters: javascript const boldMap = { 'A': '𝐀', 'B': '𝐁', 'C': '𝐂', // ... all AZ, az, 09 }; function convertToBold(text) { return text.split('').map(char = boldMap[char] || char).join(''); } 2. Batch Mode with ClientSide Processing For batch conversion, I process everything in the browser: javascript function batchConvert(texts, fonts) { const results = []; for (const text of texts) { for (const font of fonts) { results.push({ source: text, font: font.name, output: font.convert(text) }); } } return results; } This keeps the backend simple — it only needs to handle user authentication and saving combos. 3. Cloudflare Workers API The backend is a simple Worker handling user authentication and data storage: javascript export default { async fetch(request, env) { const url = new URL(request.url); if (url.pathname === '/api/combo/save') { // Save user's font combo to D1 const { googlesub, name, fonts } = await request.json(); await env.DB.prepare( INSERT INTO fontcombos (googlesub, name, fonts) VALUES (?, ?, ?) ).bind(googlesub, name, JSON.stringify(fonts)).run(); return new Response(JSON.stringify({ success: true })); } } }; 4. PayPal Integration For Pro subscriptions, I integrated PayPal. The key part is webhook signature verification to prevent fake payments: javascript async function verifyWebhookSignature(request, env) { // Extract PayPal headers const transmissionId = request.headers.get('PAYPALTRANSMISSIONID'); const certUrl = request.headers.get('PAYPALCERTURL'); const signature = request.headers.get('PAYPALTRANSMISSIONSIG'); // Verify certificate comes from PayPal if (!certUrl.endsWith('.paypal.com')) { return { valid: false }; } // Download cert and verify RSA signature // ... signature verification logic return { valid: true }; } Challenges & Solutions Challenge 1: Unicode Ranges Some Unicode blocks aren't continuous! For example, Mathematical Bold Italic: javascript // Wrong: Assumes continuous range const start = 0x1D400; const boldItalic = {}; for (let i = 0; i < 26; i++) { boldItalic[base[i]] = String.fromCodePoint(start + i); // ❌ Wrong codes! } Solution: Manually verify each character's code point. I had to fix several fonts that were using incorrect ranges. Challenge 2: Composite Characters Fonts like "Dot" use combining characters (like i + combining dot): javascript // Wrong: Array.from splits the composite character Array.from('ȧḃċḋ'); // ['a', '̇', 'b', '̇', ...] ❌ // Correct: Build manually const dotMap = {}; for (const char of 'abcdefghijklmnopqrstuvwxyz') { dotMap[char] = char + '\u0307'; // Add combining dot } Challenge 3: Monthly Renewal Logic When a user renews their monthly subscription, I needed to extend from their current expiry date (not reset to 30 days): javascript async function calculateExpiry(env, googleId, planType, now) { if (planType === 'lifetime') return null; // Never expires const user = await env.DB.prepare( 'SELECT subscriptionexpiresat FROM users WHERE googleid = ?' ).bind(googleId).first(); if (user?.subscriptionexpiresat now) { // Extend from current expiry (don't lose remaining days) return user.subscriptionexpiresat + 30 24 3600; } // Start fresh return now + 30 24 3600; } Deployment The deployment is surprisingly simple: 1. Cloudflare Pages — Connects to GitHub, autodeploys on push 2. Cloudflare Workers — wrangler deploy pushes the API 3. Cloudflare D1 — Creates database with one command bash Deploy worker CLOUDFLAREAPITOKEN=xxx npx wrangler deploy Create database npx wrangler d1 create fontgeneratordb Results After launching: 📈 ~500 daily visitors in first week 🔒 0 security incidents 💰 $0 hosting costs 😊 Users love the simplicity What's Next Potential improvements: Add more Unicode blocks (Emoji, symbols) Multilanguage support Usergenerated font presets Social sharing features Conclusion You don't need expensive servers to build useful web tools. Modern edge platforms like Cloudflare Workers can handle quite a bit of traffic for free. The key is: 1. Keep the frontend static and clientside 2. Use edge functions for API logic 3. Choose the right database for your use case If you're building something similar, I'd love to hear about it. Feel free to ask questions in the comments! Links: 🌐 Live site: 💻 GitHub:

原文
DT安全与测试DT数据与运维DTWeb 应用
—

Single-binary Git+GitHub CLI wrapper that condenses git workflow into one command

Project URL Category Go Project Title Singlebinary Git+GitHub CLI wrapper that condenses git workflow into one command Project gitty is a minimal, singlebinary CLI tool written in Go that wraps git and GitHub CLI into short, humanreadable commands. The star feature is \gitty up\ which replaces the entire \git add → git commit → git push\ cycle with one command. Also supports: \gitty fix <file\ for interactive conflict resolution, \gitty erase <path\ to permanently remove paths from all past commits, \gitty pick file.go 1020\ for selective linerange commits, and \gitty back N\ to undo the last N commits. Runs on Linux (amd64/arm64), macOS, and Windows as a single zerodependency binary. Highlights Zero dependencies: single binary install via curl, yay (Arch), or winget (Windows) Replaces multiple git commands with one memorable command (\gitty up\) Supports GitHubspecific features (share repo, rename, delete via GitHub CLI) Written in Go: fast, crossplatform, low memory footprint Example Code \\\bash Instead of: git add A && git commit m '...' && git push gitty up With a custom commit message gitty up "feat: add login page" Fix a merge conflict interactively gitty fix src/main.go Remove a file from ALL past commits (git history rewrite) gitty erase secrets.env Commit only lines 1020 of a specific file gitty pick src/main.go 1020 \\\

原文
DT小说创作DT软件开发DT命令行工具
—

SOLONAS

Stream your NAS music to iPhone & Apple Watch. No cloud.

原文
DT生活与娱乐DT内容 / 资源DTiOS
—

Visio

AI basketball goggles that coach you in real-time

原文
DT生活与娱乐
—

Voltaire

Stripe & Paywall analytics inside Claude Code

原文
DT软件开发DT库 / SDKDTClaude Code
—

DEV TRENDS / COMMUNITY

讨论本期日报

使用 GitHub 登录,分享你的看法、问题或补充信息。

查看全部讨论 ↗