Daily AI Insight
数据源洞察报告

免责声明

本站内容由 AI 自动聚合、分析与生成,仅供信息参考与学习交流,不构成投资、法律、医疗或其他重大决策建议。请结合原始信源独立判断,作者不对因使用本站内容而产生的任何后果承担责任。

关于本项目

个人开源实验项目,由 @sqliang 构建与维护。

在 GitHub 查看源码

© 2026 Daily AI Insight Engine · Built with AI-assisted pipelines

数据源列表

GitHub Trending

Tier B社区讨论ENscrape2026-10-10

GitHub 每日热门开源仓库,过滤 AI/LLM/Agent/MCP 相关项目。追踪开发者社区关注的开源基础设施与框架变化,是技术选型的重要参考。

AILLMagentmodelRAG+5
https://github.com/trending
47 篇文章7 篇深度分析40 篇待处理生成于 2026-10-10 09:30 UTC

文章列表

47 篇2026-09-30 ~ 2026-10-14
Scout·清单github.com

morluto/rea

Reverse engineer anything with agents, from app behavior down to native binaries.https://rea.tools English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Türkçe · Русский · Tiếng Việt · ไทย · Deutsch · Español · Français · Українська · Polski · Português (Brasil) · العربية · فارسی REA: Reverse Engineer Anything One MCP for reverse engineering across binaries, applications, and runtime behavior. See a feature you like. Understand how it works, down to the binary level. Website · Guides · Showcases Quick start · How REA works · What you can analyze · Showcases · FAQ · Documentation npx rea-agents setup Join the Reverse Engineering Community Discord · Q&A · Show and Tell See a feature in an app that you want in your own product? Ask your agent to investigate it with REA. It can inspect the app without its source code, explain how the feature works, show the evidence, and build a version for your project. REA connects your agent to tools for inspecting native binaries, JavaScript and Electron apps, .NET assemblies, and websites. You can also use the same tools from your terminal. Analysis runs locally, and results include the evidence and limitations behind each conclusion. Setup registers REA with your agent and installs matching workflow instructions. Native analysis can use an existing Hopper, Ghidra, or IDA installation; setup can optionally install Hopper with approval. Static JavaScript analysis needs no native analysis engine. Visit the REA website for setup instructions, illustrated guides, and real case studies. Quick start Set up your agent With Node.js and npm installed, run: npx rea-agents setup Choose your agents, review the proposed changes, and approve them. Setup adds REA's MCP server and matching workflow instructions, with backups of existing configuration. Restart your agent afterward. Setup supports Claude Code, Codex, Cursor, Gemini CLI, Grok Build and other agents. See installation and setup for provider configuration and manual MCP registration. Ask your agent Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project. Replace Notes with your target app and the feature you want to understand. Use the terminal Inspect an extracted JavaScript/Electron app directory or ASAR: npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json The result includes modules, imports, Electron boundaries and their evidence. Replace the path with your target, such as "D:/apps/example" on Windows. To install the rea command for regular use: npm install --global rea-agents rea --help For native analysis, configure a provider first. See the CLI and Evidence guide for native commands, provider selection, snapshots and scripting. Update REA REA changes quickly, and new releases include frequent bug fixes. Keep your installation up to date. For an npm-installed CLI: rea update To refresh your agent registrations and skill, run the setup command printed by the update. If you use npx, update your agent setup with: npx rea-agents@latest setup Review the setup changes and restart your agent. For one-off CLI commands, use npx rea-agents@latest followed by the command. How REA works Your agent calls REA through MCP to inspect the target and trace relevant code. REA returns findings with their evidence. The agent uses them to ask follow-up questions, explain the behavior, or write and test an implementation. CLI commands use the same workflows. Open the full-size figure. What you can analyze REA requires Node.js 22.x (>=22.19), 24.x (>=24.11), or 26+, plus npm. Additional tools and host support depend on the target: Target What REA returns Requirements and guide Native binaries Pseudocode, assembly, strings, symbols, calls and references Hopper, Ghidra or IDA; native analysis Offline ELF layout Sections, segments, original symbols/relocations and static mitigation candidates Caller-supplied pwntools on Linux x64; binary diagnostics EVM bytecode Dispatch selectors, byte offsets, inferred arguments and mutability Local raw/hex carrier; offline EVM guide Recorded Linux crashes Raw notes, every recorded thread's registers/signals and optional mapping candidates Caller-supplied pwntools; optional GDB/pwndbg; recorded crashes JavaScript / Electron Modules, imports, source maps, routes, IPC and native add-on relationships Node.js and npm; application analysis Websites Page structure, scripts, network observations and requested screenshots A Chrome-family browser; browser analysis Saved network captures Requests, responses, exposed payloads and source locations HAR; mitmdump on Linux for native mitmproxy captures; capture guide .NET assemblies Metadata, CIL instructions, declared native dependencies and build comparisons None (static only); managed-code guide Android APKs Manifest declarations, classes, decompiled methods and references Headless JADX and a full JDK on Linux/macOS/Windows x64; Android guide Firmware Regions, extraction results and native-analysis handoffs Binwalk / Unblob on Linux; firmware guide Packages and resources File inventories, digests, plists, Apple bundle anatomy and extracted resources Artifact and JavaScript guide, Apple applications Process behavior Terminal output, interactions, exit and filesystem observations, and run comparisons Linux/macOS with a native PTY; process capture Static JavaScript and .NET inspection read the supplied files without running the application. Runtime capture runs or interacts with the selected target using your user permissions; each runtime guide describes its effects. Native formats and host support vary by provider. See Hopper and Ghidra setup, the IDA guide, and experimental Windows Ghidra support. Ghidra also supports 16-bit DOS analysis. For large binaries, raise its startup deadline with REA_GHIDRA_STARTUP_TIMEOUT_MS. For provider selection, see the CLI guide. Check release availability for features added since the latest npm release. Showcases DX-Ball: reconstruct a sound-pan calculation Follow a sound call into its position-to-pan helper, inspect the instructions, and turn incomplete pseudocode into C. The reconstruction passes 3,205 original-x86 cases and reproduces all 63 compiled function bytes. Read the case study · Reconstruction repository Notion: trace the Electron clipboard bridge Find the renderer's clipboard API, follow it through preload and IPC into the main process, and inspect the rich clipboard format. Read the case study TH04: recover a DOS bullet-ring calculation Inspect the original PC-98 game's 16-bit instructions, recover the fixed and aimed angle calculations, and compare the reconstructed C++ with the historical compiler output. Read the case study · Reconstruction repository If you've used REA on something interesting, we'd love to see it. Share your case in an issue or a pull request, including the target, your question, how REA helped, and what you found. FAQ Which agents can use REA? Any agent that supports local MCP servers. Setup configures the supported agents; other clients can use manual MCP registration. Do I need Hopper, Ghidra or IDA? Deep native analysis uses one of them. Static JavaScript and .NET inspection work without a native analysis engine. Setup can install Hopper after approval; Ghidra and IDA use your existing installations. See provider setup. Do I need to start Hopper first? REA starts Hopper when an operation needs it. On macOS, a first-run dialog may ask you to choose demo mode or activate your license. See Hopper startup and troubleshooting. What does installing the skill from skills.sh do? The skill supplies investigation instructions for your agent. Use npx rea-agents setup to register REA's MCP server and install the matching instructions, then restart your agent. See skill-only installation. What code does REA return? Native analysis returns pseudocode and assembly. JavaScript/Electron analysis recovers modules and their relationships. Your agent uses these findings to write and test an implementation; the showcases give worked examples. Does REA upload my app? REA analyzes targets locally. Your agent receives the tool results, and its model provider has its own data policy. What should I do if I hit a bug? Update first; a recent release may already fix it. For an npm-installed CLI: rea update For agent setup through npx: npx rea-agents@latest setup If you're using an agent, complete the setup refresh and restart it. Retry the same task. If the problem persists, open an issue with your REA version, target type, steps to reproduce and error output. Documentation Start with the website's worked guides. For exact options, prerequisites and result contracts: Installation and setup: agent registration, provider configuration, updates and uninstall. Readiness and troubleshooting: diagnose one agent or analysis engine. CLI and Evidence: commands, provider selection, snapshots, import/export and exit statuses. MCP contracts and agent prompts: tool results, sessions and guided investigations. Tool catalog: generated inventory of tools, providers and CLI commands. Roadmap: planned work and capability trackers. Report vulnerabilities through SECURITY.md. Star history 🎉 50,000 GitHub stars — thank you! Thanks to everyone using REA, reporting bugs, requesting features, testing builds, and contributing fixes. Disclaimer REA provides tools for lawful reverse-engineering research, analysis, and reconstruction. You are responsible for obtaining any required authorization and complying with applicable laws. The project does not endorse illegal or unauthorized use. REA is an open-source software project. We have not issued or endorsed any cryptocurrency or token. Tokens using the REA name are not affiliated with the project. Contributing We'd love your help with REA! Open an issue to report a bug or suggest a feature, or send a pull request to improve the code or docs. See CONTRIBUTING.md for development setup and checks, testing for verification lanes, and the architecture map for the project structure. License MIT

no score查看详情
Analyzed·分析github.com

alibaba/open-code-review

阿里巴巴开源 AI 代码审查 CLI 工具 Open Code Review(ocr),源自其内部使用两年的 AI 代码审查助手,可读取 Git diff 并结合可配置 LLM 生成行级精确的审查评论。官方称其在同等模型下精度与 F1 显著高于通用 Agent,且仅消耗约 1/9 的 token。

阿里巴巴将内部运行两年的 AI 代码审查助手孵化并开源为 Open Code Review(命令名 ocr),该工具读取 Git diff,将变更文件交给具备工具调用能力的 LLM Agent,生成带行级定位的审查评论,并支持对无 diff 的整文件扫描。它采用确定性工程(精确文件选择、智能文件打包、细粒度规则匹配、独立定位与反思模块)与 Agent 动态决策相结合的分工架构,可通过 npm 全局安装。官方给出基于 50 个开源仓库、200 个真实 PR、10 种语言、80 余名资深工程师交叉验证、1505 条标注缺陷的基准,称其精度与 F1 高于通用 Agent 且 token 消耗约为其 1/9,但召回率较低,属有意取舍。项目以 Apache-2.0 协议发布,版权归 Alibaba 2026。

框架工具◆ 深度研判▲积极
6.0查看详情
Analyzed·分析github.com

anthropics/knowledge-work-plugins

Anthropic 开源了 11 个面向职能角色的 Claude 插件,专为 Claude Cowork 打造并兼容 Claude Code,覆盖销售、法务、财务、数据等工作。每个插件以 markdown 和 JSON 文件打包技能、MCP 连接器、斜杠命令与子智能体,开箱可用且可高度定制。

Anthropic 在 GitHub 上开源了 knowledge-work-plugins 仓库,发布 11 个面向职能角色的 Claude 插件,包括 productivity、sales、customer-support、product-management、marketing、legal、finance、data、enterprise-search、bio-research 与 cowork-plugin-management。这些插件专为 Claude Cowork 打造,同时兼容 Claude Code,每个插件打包了技能、MCP 连接器、斜杠命令与子智能体,并通过 MCP 服务器接入 Slack、Notion、Jira、Snowflake、HubSpot 等外部工具。插件完全由 markdown 和 JSON 文件构成,无代码、无基础设施、无构建步骤,用户可通过 claude plugin marketplace 与 claude plugin install 命令安装,并可替换连接器、注入公司上下文与流程进行定制。

框架工具◆ 策略投资▲积极
6.5查看详情
Analyzed·分析github.com

addyosmani/agent-skills

开发者 Addy Osmani 发布开源项目 addyosmani/agent-skills,为 AI 编程智能体提供生产级工程技能库,包含 25 个技能和 9 个覆盖开发全生命周期的斜杠命令,并可通过 npx skills CLI 安装到 70 多个智能体中。

开发者 Addy Osmani 在 GitHub 发布开源项目 addyosmani/agent-skills,包含 25 个技能(24 个生命周期技能加 using-agent-skills 元技能),覆盖 DEFINE、PLAN、BUILD、VERIFY、REVIEW、SHIP 六个开发阶段,并映射为 /spec、/plan、/build、/test、/review、/ship 等 9 个斜杠命令。项目通过 npx skills CLI 可安装到 Claude Code、Cursor、Gemini CLI、Codex、GitHub Copilot 等 70 多个智能体,同时提供各工具的原生插件集成方式。技能以纯 Markdown 编写,每个技能包含步骤、验证门禁和反合理化表格,覆盖编码、测试、代码审查、安全、性能与 Git 工作流等主题。

框架工具◆ 深度研判▲积极
5.5查看详情
Analyzed·分析github.com

storytold/artcraft

ArtCraft 在 GitHub 上发布,定位为面向艺术家的交互式 AI 图像与视频创作 IDE,支持在 2D 中构图、在 3D 中搭建场景并自选模型,称内置 62 个模型目录。

ArtCraft(GitHub 仓库 storytold/artcraft)发布了一款面向艺术家的 AI 创作 IDE,用户可下载安装或从源码构建。该工具支持在 2D 画布中构图、在 3D 中搭建与布景、调整角色身份与相机机位,并可在生成前先搭建场景,以提供精确可复现的结果。它整合了 Grok、Midjourney、Sora、World Labs 等多家提供方的图像、视频、音乐、3D 网格与世界模型,宣称拥有共 62 个模型的目录,并计划接入 Kling、Google、Runway、Luma 等更多提供方。

应用落地◆ 持续监测⇅混合
3.8查看详情
Analyzed·分析github.com

Robbyant/lingbot-map

开源项目 LingBot-Map 发布,这是一个面向流式三维重建的前馈式 3D 基础模型:通过几何上下文 Transformer 统一坐标锚定、稠密几何线索与长程漂移校正,并借助分页 KV 缓存注意力,在 518×378 分辨率下以约 20 FPS 稳定推理超过 10000 帧,在多项基准上优于现有流式与迭代优化方法。

Robbyant 团队在 GitHub 开源了 LingBot-Map,一个用于流式三维重建的前馈式 3D 基础模型,核心是几何上下文 Transformer,通过 anchor context、pose-reference window 与 trajectory memory 统一坐标接地、稠密几何线索和长程漂移校正。其推理采用带分页 KV 缓存的注意力机制,在 518×378 分辨率下可对超过 10000 帧的长序列保持约 20 FPS 的稳定推理。项目发布了 KITTI、Oxford Spires 等数据集上的评测脚本及室内、室外、LingBot-World、航拍等多段长视频 demo,并持续修复 FlashInfer 与 SDPA 的 KV 缓存缺陷。模型权重托管于 Hugging Face 与 ModelScope(robbyant/lingbot-map),并给出基于 PyTorch 2.8.0 + CUDA 12.8、FlashInfer 与 Kaolin 的安装与运行流程。

框架工具◆ 策略投资▲积极
5.5查看详情
Analyzed·分析github.com

twostraws/SwiftUI-Agent-Skill

Paul Hudson 发布开源项目 SwiftUI Pro,这是一个遵循 Agent Skills 格式的 agent 技能,用于指导 AI 编程助手编写更简洁、更现代的 SwiftUI 代码,覆盖 API 使用、设计、性能与无障碍等方面,可通过 npx 或 Claude Code 插件市场安装到 Claude Code、Codex、Gemini、Cursor 等工具中,采用 MIT 许可证。

知名 Swift 教程作者 Paul Hudson(Hacking with Swift 创始人)在 GitHub 上发布了开源项目 twostraws/SwiftUI-Agent-Skill,其核心是一个名为 SwiftUI Pro 的 agent 技能,基于其已有的 AGENTS.md 文件构建。该技能采用 Agent Skills 格式,针对 LLM 在 SwiftUI 开发中常犯的错误(如按钮对 VoiceOver 不可见、频繁使用已废弃 API、引发性能问题)提供检查与改进建议,覆盖导航、布局、动画、状态管理、VoiceOver、废弃 API 等主题。用户可通过 npx skills add 命令或 Claude Code 的插件市场命令安装到 Claude Code、Codex、Gemini、Cursor 等工具中,并支持以斜杠命令或自然语言触发。项目采用 MIT 许可证,允许商业使用、修改、分发与私人使用,并欢迎社区贡献。

框架工具◆ 持续监测▲积极
4.2查看详情
Analyzed·分析github.com

EpicGames/raddebugger

Epic Games 开源了 RAD Debugger,一款原生、用户态、多进程的图形化调试器,目前仅支持本地 Windows x64 与 PDB 调试,处于 ALPHA 阶段。项目还附带自定义的 RAD Debug Info(RDI)格式与专注巨型工程的高性能 RAD Linker。

Epic Games 发布了 RAD Debugger(仓库 EpicGames/raddebugger),这是一个原生、用户态、多进程的图形化调试器,当前仅支持本地 Windows x64 调试与 PDB 格式,且处于 ALPHA 阶段。项目同时推进两项相关技术:自定义调试信息格式 RAD Debug Info(RDI)以及用于生成 x64 PE/COFF 二进制的高性能 RAD Linker。RAD Linker 命令行兼容 MSVC,宣称在处理调试信息达数 GB 的超大工程时链接速度提升约 50%,启用大内存页可再提速约 25%。项目在 Windows x64 与 Linux x64 上开发,后续计划移植 Linux/DWARF 调试支持。

框架工具◆ 持续监测▲积极
4.0查看详情
Scout·清单github.com

liquidslr/system-design-notes

Notes of the book System Desgin Interview - An Insider's Guidehttps://pagefy-blush.vercel.app/system-design/system-design-interview-by-alex-xuSystem Design Interview - An Insider's Guide (Vol 1 and 2) These notes are based on the System Design Interview books - Vol 1 and Vol 2 2nd Ed Check the notes here: https://pagefy.io/system-design/system-design-interview-by-alex-xu Note: These notes are a work in progress. Chapter 1 - Scale From Zero To Millions Of Users Chapter 2 - Back-of-the-envelope Estimation Chapter 3 - A Framework For System Design Interviews Chapter 4 - Design A Rate Limiter Chapter 5 - Design Consistent Hashing Chapter 6 - Design A Key-Value Store Chapter 7 - Design A Unique ID Generator In Distributed Systems Chapter 8 - Design A URL Shortener Chapter 9 - Design A Web Crawler Chapter 10 - Design A Notification System Chapter 11 - Design A News Feed System Chapter 12 - Design A Chat System Chapter 13 - Design A Search Autocomplete System Chapter 14 - Design YouTube Chapter 15 - Design Google Drive Chapter 16 - Proximity Service Chapter 17 - Nearby Friends Chapter 18 - Design Google Maps Chapter 19 - Distributed Message Queue Chapter 20 - Metrics Monitoring and Alerting System Chapter 21 - Ad Click Event Aggregation Chapter 22 - Hotel Reservation System Chapter 23 - Distributed Email Service Chapter 24 - S3-like Object Storage Chapter 25 - Real-time Gaming Leaderboard Chapter 26 - Payment System Chapter 27 - Digital Wallet Chapter 28 - Stock Exchange Additonal Resources Rate Limiting Circuit Breaker Algorithm Uber Rate Limiter Consistent Hashing Consistent Hashing CS168: Introduction and Consistent Hashing: Apache Cassandra Scaling Discord Google Maglev Key-Value Store Amazon Dynamo Cassandra Architecture Google BigTable Architecture Amazon Dynamo DB Internals Design Patterns in Amazon Dynamo DB Internals of Amazon Dynamo DB Unique-ID Generator Ticket Servers: Distributed Unique Primary Keys on the Cheap Snowflake Web Crawler Web Crawling Google Dynamic Rendering Chat Systems How Discord stores billions of messages Flannel: An Application-Level Edge Cache to Make Slack Scale Search Autocomplete How We Built Prefixy Prefix Hash Tree Youtube YouTube Architecture YouTube scalability 2012 Transcoding Videos at Scale Facebook Video Broadcasting Netflix Video Encoding at Scale Netflix Shot based encoding Google Drive Differential Synchronization Differential Synchronization Video How We’ve Scaled Dropbox

no score查看详情
Scout·清单github.com

ayghri/i-have-adhd

A skill to stop your coding agent from burying the answer. ADHD-friendly output. ADHD-friendly outputs. No ADHD diagnosis needed! 🇬🇧 · 🇨🇳 · 🇪🇸 · 🇧🇷 · 🇯🇵 · 🇻🇳 · 🇰🇷 · 🇮🇷 · 🇹🇭 · 🇸🇦 Install Copy/paste into your CLI prompt: Install the i-have-adhd skill/plugin from https://github.com/ayghri/i-have-adhd, refer to the repo's AGENTS.md for instructions. Or 🔗 check the installation instructions. What it does A skill for your coding assistant that stops it from burying the answer. Action first. Steps numbered. No "Hope this helps!" Kacper Rutkiewicz | AI Made Simple has made a good breakdown of an earlier version of the skill. What changes Before Great question! Let me think about this. Your auth flow has a few moving pieces: the middleware, the token verification, and the cookie handling. Looking at src/auth.ts, the verifyToken function (around lines 42-58) seems to be using an older jsonwebtoken API. One approach would be to update the package and rewrite that function. After making the change, you'd want to run the auth tests to confirm nothing breaks. By the way, you might also want to look at your dependency versions overall. Hope this helps! Let me know if you want to dig deeper. After Edit src/auth.ts:42 to update the token validation. Open src/auth.ts Replace verifyToken (lines 42–58) with the snippet below Run npm test -- auth.spec.ts Next: paste the first failing line if any test fails. The rules 10 rules. Full text in SKILL.md. Lead with the next action. Number multi-step tasks. End with one concrete next step. Suppress tangents. Restate state every turn. Specific time estimates (minutes, not "a bit"). Make wins visible. Matter-of-fact errors. Cap lists to 5 items. No preamble. No recap. No closers. Tune it Fork, edit skills/i-have-adhd/SKILL.md, then swap your copy in: claude plugin uninstall i-have-adhd # drop the upstream copy first: claude plugin marketplace remove i-have-adhd # fork and upstream share both names claude plugin marketplace add <your-username>/i-have-adhd claude plugin install i-have-adhd@i-have-adhd Restart your coding assistant, then re-invoke /i-have-adhd. Credits Loosely based on The Adult ADHD Tool Kit by J. Russell Ramsay and Anthony L. Rostain. Adapted for how an LLM should respond, not how a human should organize their day. License MIT. Star ⭐ if it saved you one scroll past one "Great question!"

no score查看详情
Scout·清单github.com

manaflow-ai/cmux

Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.https://cmux.comcmux A Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська ▶ Demo video · The Zen of cmux Docs · Blog · Changelog · Community Features Notification rings Panes get a blue ring and tabs light up when coding agents need your attention Notification panel See all pending notifications in one place, jump to the most recent unread In-app browser Split a browser alongside your terminal with a scriptable API ported from agent-browser Vertical + horizontal tabs Sidebar shows git branch, linked PR status/number, working directory, listening ports, and latest notification text. Split horizontally and vertically. SSH cmux ssh user@remote creates a workspace for a remote machine. Pass --command 'omp "investigate auth"' to run an initial command once in its first remote terminal. Browser panes route through the remote network so localhost just works. Drag an image into a remote session to upload via scp. Claude Code Teams cmux claude-teams runs Claude Code's teammate mode with one command. Teammates spawn as native splits with sidebar metadata and notifications. No tmux required. Browser import — Import cookies, history, and sessions from Chrome, Firefox, Arc, and 20+ browsers so browser panes start authenticated Custom commands — Define project-specific actions in cmux.json that launch from the command palette Programmable — CLI and socket API to create workspaces, split panes, send keystrokes, and automate the browser Native macOS app — Built with Swift and AppKit, not Electron. Fast startup, low memory. Ghostty compatible — Reads your existing ~/.config/ghostty/config for themes, fonts, and colors GPU-accelerated — Powered by libghostty for smooth rendering Keyboard shortcuts — Extensive shortcuts for workspaces, splits, browser, and more Open source — Free and GPL-licensed Install DMG (recommended) Open the .dmg and drag cmux to your Applications folder. cmux auto-updates via Sparkle, so you only need to download once. Homebrew brew tap manaflow-ai/cmux brew install --cask cmux To update later: brew upgrade --cask cmux On first launch, macOS may ask you to confirm opening an app from an identified developer. Click Open to proceed. Why cmux? I run a lot of Claude Code and Codex sessions in parallel. I was using Ghostty with a bunch of split panes, and relying on native macOS notifications to know when an agent needed me. But Claude Code's notification body is always just "Claude is waiting for your input" with no context, and with enough tabs open I couldn't even read the titles anymore. I tried a few coding orchestrators but most of them were Electron/Tauri apps and the performance bugged me. I also just prefer the terminal since GUI orchestrators lock you into their workflow. So I built cmux as a native macOS app in Swift/AppKit. It uses libghostty for terminal rendering and reads your existing Ghostty config for themes, fonts, and colors. The main additions are the sidebar and notification system. The sidebar has vertical tabs that show git branch, linked PR status/number, working directory, listening ports, and the latest notification text for each workspace. The notification system picks up terminal sequences (OSC 9/99/777) and has a CLI (cmux notify) you can wire into agent hooks for Claude Code, OpenCode, etc. When an agent is waiting, its pane gets a blue ring and the tab lights up in the sidebar, so I can tell which one needs me across splits and tabs. Cmd+Shift+U jumps to the most recent unread. The in-app browser has a scriptable API ported from agent-browser. Agents can snapshot the accessibility tree, get element refs, click, fill forms, and evaluate JS. You can split a browser pane next to your terminal and have Claude Code interact with your dev server directly. Everything is scriptable through the CLI and socket API — create workspaces/tabs, split panes, send keystrokes, open URLs in the browser. The Zen of cmux cmux is not prescriptive about how developers hold their tools. It's a terminal and browser with a CLI, and the rest is up to you. cmux is a primitive, not a solution. It gives you a terminal, a browser, notifications, workspaces, splits, tabs, and a CLI to control all of it. cmux doesn't force you into an opinionated way to use coding agents. What you build with the primitives is yours. The best developers have always built their own tools. Nobody has figured out the best way to work with agents yet, and the teams building closed products definitely haven't either. The developers closest to their own codebases will figure it out first. Give a million developers composable primitives and they'll collectively find the most efficient workflows faster than any product team could design top-down. Documentation For more info on how to configure cmux, head over to our docs. To theme cmux (colors, fonts, transparency, sidebar, and more), see Customizing cmux's look. For shell watcher churn and managed-Mac process audit volume, see the supported CMUX_NO_GIT_WATCH=1 mitigation and its Git/PR update trade-offs. Keyboard Shortcuts Workspaces Shortcut Action ⌘ N New workspace ⌘ 1–8 Jump to workspace 1–8 ⌘ 9 Jump to last workspace ⌃ ⌘ ] Next workspace ⌃ ⌘ [ Previous workspace ⌘ ⇧ W Close workspace ⌘ ⇧ R Rename workspace ⌥ ⌘ E Edit workspace description ⌘ B Toggle sidebar ⌥ ⌘ B Toggle right sidebar ⌘ ⇧ E Toggle right sidebar focus Surfaces Shortcut Action ⌘ T New surface ⌘ ⇧ ] Next surface ⌘ ⇧ [ Previous surface ⌃ Tab Next surface ⌃ ⇧ Tab Previous surface ⌃ 1–8 Jump to surface 1–8 ⌃ 9 Jump to last surface ⌘ W Close surface Split Panes Shortcut Action ⌘ D Split right ⌘ ⇧ D Split down ⌥ ⌘ ← → ↑ ↓ Focus pane directionally ⌃ ⇧ H J K L Resize pane left/down/up/right ⌘ ⇧ H Flash focused panel Browser Browser developer-tool shortcuts follow Safari defaults and are customizable in Settings → Keyboard Shortcuts. Command palette navigation shortcuts, including ⌃ P, are also customizable and can be cleared so the keypress reaches the active terminal. Shortcut Action ⌘ ⇧ L Open browser in split ⌘ L Focus address bar ⌘ [ Back ⌘ ] Forward ⌘ R Reload page ⌥ ⌘ I Toggle Developer Tools (Safari default) ⌥ ⌘ C Show JavaScript Console (Safari default) Notifications Shortcut Action ⌘ I Show notifications panel ⌘ ⇧ U Jump to latest unread ⌥ ⌘ U Toggle current item unread state ⌃ ⌘ U Mark current item as oldest unread and jump to next latest unread — Mark all notifications read (unbound by default; configure in Settings or cmux.json) — Clear all notifications (unbound by default; configure in Settings or cmux.json) Find Shortcut Action ⌘ F Find ⌘ ⇧ F Find in directory ⌘ G / ⌥ ⌘ G Find next / previous ⌥ ⌘ ⇧ F Hide find bar ⌘ E Use selection for find Terminal Shortcut Action ⌘ K Clear scrollback ⌘ C Copy (with selection) ⌘ V Paste ⌘ + / ⌘ - Increase / decrease font size ⌘ 0 Reset font size Window Shortcut Action ⌘ ⇧ N New window ⌘ ⇧ O Reopen previous session ⌘ , Settings ⌘ ⇧ , Reload configuration ⌘ Q Quit Nightly Builds Download cmux NIGHTLY (universal; updates then switch to your Mac's architecture automatically) cmux NIGHTLY is a separate app with its own bundle ID, so it runs alongside the stable version. Built automatically from the latest main commit and auto-updates via its own Sparkle feed. Report nightly bugs on GitHub Issues or in #nightly-bugs on Discord. Session restore Quitting cmux saves the current session. On relaunch, cmux restores app-owned state: Window/workspace/pane layout Working directories Terminal scrollback (best effort) Browser URL and navigation history cmux does not checkpoint arbitrary live process state. Ordinary terminals, tmux, vim, shells, and unsupported terminal apps reopen as normal terminals. For live detach/reattach across cmux quit, crashes, and updates, opt in to the local tmux owner with cmux local-tmux; see docs/local-tmux.md for its lifecycle and machine-sleep limits. zellij users can use cmux local-zellij instead; see docs/local-zellij.md. Supported agent sessions can resume when hooks have saved a native session ID. Install hooks after installing the agent CLI so its binary is on PATH: cmux hooks setup cmux hooks setup codex cmux hooks setup --agent opencode cmux hooks setup installs supported agents it can find and prints a summary for skipped agents. Supported resume integrations include Claude Code, Codex, Grok, OpenCode, Pi, Amp, Cursor CLI, Gemini, Rovo Dev, Copilot, CodeBuddy, Factory, and Qoder. Claude Code is handled by the cmux Claude wrapper when Claude integration is enabled in Settings. Advanced users and integrations can attach a custom resume command to the current terminal surface. This is useful for tools with their own durable state, such as tmux sessions or custom agent CLIs: cmux surface resume set --kind tmux --checkpoint work --shell "tmux attach -t work" cmux surface resume show --json cmux surface resume clear --checkpoint work The binding stays attached to the cmux surface. Public CLI or socket-created bindings are stored for inspection and manual restore unless you approve a signed command prefix for automatic restore. Approved prefixes are also bound to the working directory and exact environment values, when present. Review or edit approvals in Settings > Terminal > Resume Commands. cmux only auto-runs resume bindings it marks trusted, such as live process-detected tmux bindings or user-approved prefixes. Sensitive environment keys such as tokens, passwords, secrets, and API keys are dropped before a resume binding is stored. To keep restored agent terminals idle instead of automatically running their resume commands, turn off Settings > Terminal > Resume Agent Sessions on Reopen or set this in ~/.config/cmux/cmux.json: { "terminal": { "autoResumeAgentSessions": false } } This only disables automatic agent resume commands. cmux still restores the saved layout, working directories, scrollback, and browser history. If you need to reapply the last saved snapshot manually, use: File > Reopen Previous Session ⌘ ⇧ O cmux restore-session Each cmux install (stable, nightly, rc, staging, and tagged debug builds) keeps its own saved session. To bring a session from one install into another, for example after trying nightly and switching back to stable, run this from the install you want to open it in: cmux restore-session --from nightly # or stable, rc, staging, debug:<tag> cmux restore-session --export ~/session.json # write this install's saved session to a file cmux restore-session --export ~/session.json --force # replace an existing export file cmux restore-session --from ~/session.json # reopen an exported file The imported session opens as additional windows next to the ones you have, like cmux restore-session; the other install's saved file is only read. Agent resume carries over because hook session mappings in ~/.cmuxterm/ are shared by every install. Browser cookies and logins are per install and do not move. --from <channel> restores another install's own session file with the same trust as your own session, including automatic agent resume. --from <path> treats the file as untrusted: layout, working directories, text scrollback, and http(s) browser tabs restore, but nothing in the file runs automatically. Built-in agents (Claude Code, Codex, Amp, and the rest) resume with the command cmux builds from the agent kind and session id, ignoring launch arguments stored in the file, and only when the working directory already exists on this Mac. Custom agent resume commands, resume bindings, and tmux start commands are kept for manual restore only (approved resume prefixes never apply to them): the CLI reports how many were held back, and in each terminal cmux surface resume show shows the command and cmux restore --surface runs it. Terminal control sequences in the scrollback (clipboard, notifications, links, titles), draft attachments, non-http(s) browser pages and profiles, SSH/cloud connections, and workspace environment variables from the file are dropped. A snapshot saved by a newer cmux (newer session format) is refused with an error; if a downgraded cmux finds one in its own session file, it keeps a copy next to it as session-<bundle id>.schema-v<N>.json. Under the hood, cmux writes a versioned snapshot under ~/Library/Application Support/cmux/ and agent hooks write session mappings under ~/.cmuxterm/. On restore, cmux rebuilds the layout first, then runs the supported agent's native resume command when automatic agent resume is enabled. Read the full guide at https://cmux.com/docs/session-restore. FAQ How does cmux relate to Ghostty? cmux is not a fork of Ghostty. It uses libghostty as a library for terminal rendering, the same way apps use WebKit for web views. Ghostty is a standalone terminal; cmux is a different app built on top of its rendering engine. What platforms does it support? macOS only, for now. cmux is a native Swift + AppKit app. Is there an iOS app? Yes, in beta. Pair your iPhone with your Mac from the Mobile Connect window and attach to your terminals from your phone, with optional forwarding of terminal notifications. It ships on TestFlight as cmux BETA. Early access is included with cmux Founders Edition. See the iOS docs. What coding agents does cmux work with? All of them. cmux is a terminal, so any agent that runs in a terminal works out of the box: Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline, Cursor Agent, and anything else you can launch from the command line. Can cmux orchestrate multiple agents and subagents? Yes. When an agent spawns subagents or teammates, cmux turns them into native panes and splits instead of hidden background processes. It supports Claude Code teams and oh-my-opencode multi-model orchestration, so every agent in a run is visible and controllable. Can I use cmux with remote machines? Yes. Open workspaces over SSH and attach to remote tmux sessions, so agents can run on a remote host while you drive them from cmux. See SSH and remote. How do notifications work? When a process needs attention, cmux shows notification rings around panes, unread badges in the sidebar, a notification popover, and a macOS desktop notification. These fire automatically via standard terminal escape sequences (OSC 9/99/777), or you can trigger them with the cmux CLI and agent hooks. Any agent that supports hooks or OSC works, including Claude Code, Codex, OpenCode, and pi. Is cmux programmable? Yes. Every action is available through the cmux CLI and a Unix socket: create workspaces, open split panes, send input, read screen contents, take screenshots, and drive the in-app browser. See the CLI reference and browser automation docs. What can the built-in browser do? cmux can split a real browser pane next to your terminal, and it is fully programmable: navigate, snapshot the DOM, click, type, evaluate JavaScript, and read console and network activity over the same socket API. Agents use it to verify their own web changes without leaving cmux. See browser automation. Does cmux have skills? Yes. Skills are reusable workflows you can give any agent running in cmux, for things like CLI control, workspace automation, settings, and browser surfaces. Browse the open collection at cmux-skills, or read the skills docs. Can I customize keyboard shortcuts? Terminal keybindings are read from your Ghostty config file (~/.config/ghostty/config), including leader sequences and key tables. Ghostty tab actions target cmux workspaces; see the action mapping, precedence, and limitations. cmux-specific shortcuts (workspaces, splits, browser, notifications) can be customized in Settings. See the default shortcuts for a full list. Can I customize cmux? Yes. Terminal rendering uses your Ghostty config, so themes, fonts, colors, and cursor carry over directly. cmux's own settings in ~/.config/cmux/cmux.json control the sidebar, tab bar, split panes, and behavior, and every keyboard shortcut is editable. See configuration. Are my sessions saved? cmux restores windows, workspaces, panes, working directories, and best-effort scrollback when you relaunch. Supported agent integrations can resume from their saved session IDs. Those are reconstructed app state and resume commands; they do not keep arbitrary live processes running. Use cmux local-tmux for live local detach/reattach across cmux quit, crashes, and updates. A local tmux server cannot survive logout, restart, shutdown, or power loss; use cmux ssh-tmux, cmux mosh-tmux, or a persistent cloud VM when the owner must remain online while this Mac is offline. See session restore and docs/local-tmux.md. How does it compare to tmux? tmux is a terminal multiplexer that runs inside any terminal. cmux is a native macOS app with a GUI: vertical tabs, split panes, an embedded browser, and a socket API, all built in, no config files or prefix keys needed. That said, lots of people happily run cmux with SSH and tmux together, and cmux can attach to your remote tmux sessions natively (beta). Is cmux free? Yes, cmux is free to use. The source code is available on GitHub. How can I support cmux? cmux is free and open source, and always will be. If you want to back development and get early access to what's next, including cmux AI, the iOS app, and Cloud VMs, check out cmux Founders Edition. I have a feature request or found a bug? We want to hear it. Open an issue or pull request on GitHub, or email us. Star History Contributing New here? Start here is the short path from "I want to change something" to a merged pull request, including what you can fix without a Mac. Then the contributor guide and fast local checks. Ways to get involved: Follow us on X for updates @manaflowai, @lawrencecchen, and @austinywang Join the conversation on Discord Create and participate in GitHub issues and discussions Let us know what you're building with cmux Community Discord WhatsApp GitHub X / Twitter YouTube LinkedIn Reddit WeChat: Scan the QR code to join the community. Founder's Edition cmux is free, open source, and always will be. If you'd like to support development and get early access to what's coming next: Get Founder's Edition Prioritized feature requests/bug fixes Early access: cmux AI that gives you context on every workspace, tab and panel Early access: iOS app with terminals synced between desktop and phone Early access: Cloud VMs Early access: Voice mode My personal iMessage/WhatsApp Install DMG (recommended) Open the .dmg and drag cmux to your Applications folder. cmux auto-updates via Sparkle, so you only need to download once. Homebrew brew tap manaflow-ai/cmux brew install --cask cmux To update later: brew upgrade --cask cmux On first launch, macOS may ask you to confirm opening an app from an identified developer. Click Open to proceed. License cmux is open source under GPL-3.0-or-later. The cmux server software (web/, the Cloudflare workers, and the relay services listed in LICENSE) uses the Business Source License 1.1 instead: you can read, modify, and run it for non-production use, and production use or self-hosting requires a commercial license. If your organization cannot comply with GPL, commercial terms may be available for portions for which Manaflow controls the necessary rights. They do not relicense third-party material or outside contributions for which Manaflow lacks a separate grant. See LICENSE for the exact scope and contact founders@cmux.com for details.

no score查看详情
Scout·清单github.com

cloudflare/security-audit-skill

A coding-agent skill for multi-phase security audits with independently verified, machine-readable findingssecurity-audit A coding-agent skill that turns your agent into a security auditor. It orchestrates isolated agents through reconnaissance, coverage-led hunting, candidate validation, structured output, independent record verification, and target-neutral reporting. This is the skill that seeded Cloudflare's vulnerability discovery harness, described in Build your own vulnerability harness. The harness grew into a multi-stage, fleet-wide system; this skill is the single-repo starting point it evolved from. What it does The skill runs a structured audit in six phases: Reconnaissance -- map architecture, trust boundaries, input surfaces, prior evidence, and deterministic coverage in architecture.md and coverage-ledger.json. Coverage-led hunting -- assign isolated hunters from ledger units, record their checks, and use coverage critics to find gaps. Candidate validation -- give every unique candidate to a fresh verifier that tries to disprove it. Structured output -- write confirmed, needs_validation, and rejected records to findings.json and validate them against report-schema.json. Independent record verification -- fresh agents verify final source claims. Material replacements receive another independent verifier. Target-neutral reporting -- derive REPORT.md, FINDINGS-DETAIL.md, and NEEDS-VALIDATION.md from the verified records and coverage ledger. The parent runs validate-coverage-ledger.cjs after creating the ledger and after each later ledger update. It runs validate-findings.cjs in Phase 4 and again after every Phase 5 replacement. The verdicts are distinct: confirmed has a complete source trace and bounded observed result, needs_validation has an exact unresolved fact and no severity, and rejected records a disproved candidate. Multiple runs against the same repo are additive. The skill uses prior ledgers and findings to target gaps, revalidate changed source, and carry forward current-source evidence without treating stale or unresolved work as covered. Files File Purpose SKILL.md Setup, core principles, platform terminology, workflow overview, and audit anti-patterns RECONNAISSANCE.md Phase 1 reconnaissance prompts and synthesis instructions HUNTING.md Phase 2 orchestration, hunting methodology, and validation rules ATTACK-CLASSES.md Core, wildcard, and obvious-things attack prompts MEMORY-SAFETY-AND-BINARY.md Memory-safety, binary, and kernel hunting classes for native targets AI-AND-LLM.md Prompt-injection, agent/tool, and output-handling hunting classes for LLM-backed targets WEB-PROTOCOL-AND-AUTH.md HTTP request-framing, cache, and authentication-protocol hunting classes for HTTP-protocol and auth targets CLIENT-SIDE.md DOM-injection, messaging-trust, UI-redress, and prototype-pollution hunting classes for client-side/browser targets SUPPLY-CHAIN-AND-RELEASE.md Dependency, CI, release, signing, update, plugin, and extension hunting classes CLOUD-AND-DEPLOYMENT.md IAM, infrastructure-as-code, container, serverless, ingress, and runtime-configuration hunting classes PROTOCOLS-RPC-AND-MESSAGING.md RPC, serialization, queue, broker, webhook, and streaming-protocol hunting classes RESOURCE-EXHAUSTION-AND-AVAILABILITY.md Shared resource, quota, queue, worker, and operator-spend hunting classes DATA-ISOLATION-AND-LIFECYCLE.md Tenant isolation, cache, search, export, backup, migration, deletion, and restore hunting classes DESKTOP-MOBILE-AND-LOCAL-IPC.md Native app, deep-link, webview, exported-component, helper, daemon, and local-IPC hunting classes VALIDATION-AND-REPORTING.md Phases 3–6 candidate validation, structured output, record verification, and reporting report-schema.json JSON schema for all three findings.json verdicts validate-findings.cjs Zero-dependency validator for findings.json in Phases 4 and 5 validate-findings.test.cjs Findings-validator tests and producer-compatible fixture checks validate-coverage-ledger.cjs Zero-dependency validator for coverage-ledger.json in Phases 1–5 validate-coverage-ledger.test.cjs Coverage-ledger validator tests Installation Install the skill with the Skills CLI: npx skills add https://github.com/cloudflare/security-audit-skill \ --skill security-audit Use --global for a user-level installation: npx skills add https://github.com/cloudflare/security-audit-skill \ --skill security-audit \ --global Run npx skills --help for agent-selection and non-interactive options. Usage Start your coding agent in (or pointed at) the codebase you want to audit, then ask it to do a security audit: security audit this codebase find security vulnerabilities in ./src do a security review, output to ~/audits/my-project The skill activates automatically when the request matches its trigger (security audit, find vulnerabilities, pen-test the code, etc.). A direct codebase audit or pen-test request uses full audit mode. Security questions and focused vulnerability work use guidance mode unless you request report artifacts. In full audit mode, an unspecified output directory defaults to ~/security-audit-skill/<repo-name>/run-<N>. The workflow writes inside the target repository only when you explicitly select a directory that version control ignores. Requirements A coding agent with a model that supports tool use and parallel sub-agents Node.js for the zero-dependency findings and coverage-ledger validators An OS-enforced sandbox for target-controlled builds, tests, processes, browsers, emulators, fuzzers, and fixtures. It must disable external networking, use a sanitized allowlisted environment, enforce resource limits, and allow writes only to assigned scratch paths. Without these controls, the workflow keeps the lead as needs_validation instead of executing target code. Design principles Only confirm established boundary failures. Keep a source-grounded blocked lead as needs_validation with its exact unresolved fact. Adversarial validation. The agent that checks a finding is never the agent that found it. Severity requires impact. Likelihood x impact, not deviation from a checklist. Defense-in-depth gaps are not vulnerabilities. If Layer A prevents the attack, the absence of Layer B is a hardening note. Multiple runs improve coverage. In our test runs, a single run found roughly half of the vulnerabilities that repeated runs found in total. Contact Questions, feedback, or comparing notes on AI-driven security tooling: security-ai-research@cloudflare.com License MIT -- see LICENSE.

no score查看详情
Scout·清单github.com

tester-army/e2e

Next generation e2e testing framework for web and mobile apps.https://tester.army/e2e e2e e2e is an end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent drives the app to reach it. Check the result with locators and assertions in the same test. // tests/checkout.e2e.ts import { test, expect } from 'e2e'; test('a member upgrades to Pro', async ({ app, agent, screen }) => { await app.open('/settings/billing'); await agent.act('upgrade the workspace to the Pro plan'); await agent.assert('the invoice preview shows a prorated amount'); await expect(screen.getByRole('status')).toContainText('Pro'); }); An agent step that a later assertion verifies records its actions, and the next run replays them with no model calls until the app changes. Tests without agent steps need no model. Bring your own subscription, API key, or local model. Quick start npx e2e init init asks for an engine, web or mobile, and a model provider, then writes a config and an example test. The quickstart covers the rest. To see a finished setup in your stack, open examples/: Vite, Next.js, Expo, SwiftUI, Jetpack Compose, Kotlin Multiplatform, and Flutter, each a standalone project with a passing suite. Packages Package What it does e2e The SDK, runner, and CLI. @e2e-dev/web Browser engine: Chromium, Firefox, and WebKit through Playwright. @e2e-dev/mobile iOS and Android engine: simulators and emulators through agent-device. @e2e-dev/github Reporter that posts results as a pull request comment. @e2e-dev/kernel Kernel hosted browsers for the web engine. @e2e-dev/eas EAS Simulators hosted iOS simulators and Android emulators for the mobile engine. @e2e-dev/decision Decision-model executors for bounded semantic actions and assertions. Documentation e2e.tester.army/docs. The e2e package ships every page, so coding agents can read them offline in node_modules/e2e/docs. Contributing See CONTRIBUTING.md. Questions go to Discord. Security Please don't open public issues for security vulnerabilities. Follow SECURITY.md and report them to security@tester.army. Telemetry The CLI sends anonymous usage data, such as which commands and engines run and where runs fail, but no test content, app content, or credentials. Opt out with npx e2e telemetry disable or E2E_TELEMETRY_DISABLED=1. Telemetry lists every field. Status Note e2e is in active development on the way to 1.0. APIs and config can still change between minor releases. Made by TesterArmy e2e is built by TesterArmy, the agentic testing platform that runs natural language tests on web and mobile apps, on every pull request or on a schedule. Apache-2.0.

no score查看详情
Scout·清单github.com

earthtojake/text-to-cad

Give your agent CAD superpowers.https://www.texttocad.dev Give your agent CAD superpowers. Docs text-to-cad The text-to-cad plugin gives your agent local workflows for generating 3D models as STEP, GLB, STL or 3MF files. It also does design for manufacturing checks, generates engineering drawings, and connects to popular 3D printing, sheet metal and CNC fabrication services. It is supported by all popular agents that support plugins or the skills framework, including Claude Code, Codex, Cursor, Gemini and Grok. 💻 Install Ask your agent (recommended) Send this message to your agent and it will install text-to-cad for you. Install text-to-cad from https://github.com/earthtojake/text-to-cad Or install it yourself: CAD runs through uv: check that it is installed (uv --version), and if it is missing, install it with uv's installer. Run the commands under your agent app's heading below, or under Other Agents if it has none. Restart the app. Its first start downloads CAD's runtime, so it needs a network connection. The plugin for your agent app brings the skills and CAD's viewer, a local server (cadgen mcp). For an agent without a plugin, install the skills alone. Install one or the other in an app, not both: two copies means every skill twice. The install commands below take the latest branch: it holds the plugin alone and gets each release once it is on PyPI. main, where development happens, installs too, but can hold changes that aren't released yet. Each app names the branch in its own way (#latest, --ref latest, @latest or --branch latest); leave it out and the app installs main. Each app's heading also says how to update text-to-cad, and how to reinstall it: remove it, then install it again. Updating the plugin updates CAD: the new release's cadgen is downloaded the first time it runs, and the skills and the server share it. Earlier releases stay in uv's cache until you run uv cache prune. Claude Code claude plugin marketplace add earthtojake/text-to-cad#latest claude plugin install text-to-cad@earthtojake The plugin also starts CAD's server. Where Claude Code can show app views, CAD shows models as viewer cards in the conversation; otherwise, as in a terminal, asking it to show a model gives you a link that opens the model in the CAD Viewer in your browser. To update, run these, then restart Claude Code: claude plugin marketplace update earthtojake claude plugin update text-to-cad@earthtojake To reinstall, remove it with these, then run the install commands again: claude plugin uninstall text-to-cad@earthtojake claude plugin marketplace remove earthtojake Claude Desktop CAD shows models in the chat: ask Claude to show one and it appears as a viewer card you can orbit, add to your prompt, and open full size; Claude can read what you selected and see what you see. It runs locally through uv: add the server to Claude Desktop's config (Settings > Developer > Edit Config), then restart the app. If Claude Desktop cannot find uvx, give its full path (which uvx). { "mcpServers": { "cad": { "command": "uvx", "args": ["--no-config", "--managed-python", "--python", "3.13", "--from", "cadgen==0.7.15", "cadgen", "mcp"], "env": {"CADGEN_INSTALL_CHANNEL": "claude-desktop"} } } } The config pins a cadgen release in args, and uvx keeps the version it first downloads. To update, change that version to the latest release, then restart Claude Desktop. Codex Install text-to-cad from Codex's plugin directory: text-to-cad for Codex, then Open in desktop app. In the Codex app the plugin also brings the CAD viewer: CAD in the sidebar (recent models, and Open), a CAD tab beside each thread that the agent drives, and Open with CAD for model files. Manual install codex plugin marketplace add earthtojake/text-to-cad --ref latest codex plugin add text-to-cad@earthtojake To update, upgrade the earthtojake marketplace (or use Plugins › Manage › Marketplace), then restart Codex: codex plugin marketplace upgrade earthtojake To reinstall, remove it with these, then run the install commands again: codex plugin remove text-to-cad@earthtojake codex plugin marketplace remove earthtojake The marketplace was renamed from text-to-cad to earthtojake; if you added it before, remove the old one first (codex plugin marketplace remove text-to-cad). Cursor Cursor also loads the plugin installed with Claude Code. If the Claude Code plugin is installed, Cursor already has text-to-cad: skip this. git clone --depth 1 --branch latest https://github.com/earthtojake/text-to-cad ~/.cursor/plugins/local/text-to-cad Cursor reads .cursor-plugin/plugin.json: restart Cursor after cloning. Teams can import the repository instead, under Dashboard → Plugins & MCPs → Team Marketplaces. To update, pull the latest release, then restart Cursor: git -C ~/.cursor/plugins/local/text-to-cad pull To reinstall, delete the folder, then run the install command again: rm -rf ~/.cursor/plugins/local/text-to-cad Grok Build Grok Build also loads the plugin installed with Claude Code. If the Claude Code plugin is installed, Grok Build already has text-to-cad: skip this. grok plugin install earthtojake/text-to-cad@latest --trust grok plugin enable text-to-cad Grok Build reads the Claude plugin manifest. Grok shows tool results as text, so asking it to show a model gives you a CAD Viewer link. To update, run this, then restart Grok Build: grok plugin update text-to-cad To reinstall, remove it with this, then run the install commands again: grok plugin uninstall text-to-cad Gemini gemini extensions install https://github.com/earthtojake/text-to-cad --ref latest --consent --auto-update Gemini installs the plugin as an extension, with the skills and CAD's server, and keeps it up to date (--auto-update; --consent answers its security prompt). Like Grok, it shows tool results as text, so asking it to show a model gives you a CAD Viewer link. To update now, run this, then restart Gemini: gemini extensions update text-to-cad To reinstall, remove it with this, then run the install command again: gemini extensions uninstall text-to-cad Other Agents For an agent without plugin support: the skills give you everything you need for core CAD workflows and let you view CAD files in a localhost web app. Install them with the Skills CLI: npx skills add earthtojake/text-to-cad#latest The command asks which agents to install for, and where. To skip the questions, name the agent and install for your user: npx skills add earthtojake/text-to-cad#latest -g -a <agent> -y. Each skill runs cadgen through uv with the same pinned command the plugin's server uses, so uv must be installed. Without the plugin there is no CAD server, so the skills open models in the CAD Viewer in your browser. To update or reinstall, run the same command again, then restart the app. add re-fetches the package and overwrites what is already installed, so it both refreshes existing skills and installs any skill added in a newer release. npx skills update only refreshes skills already in your lockfile, so it silently misses new ones — which matters here, because releases do add skills. Neither command removes a skill that was retired upstream; drop one with npx skills remove <skill> if you need to. The retired cad-viewer skill is now covered by the CAD, DXF and robot-description skills, and the retired cad-mcp-setup by this README's install and update steps. Remove old standalone installs with npx skills remove cad-viewer cad-mcp-setup. No plugin for your agent yet? Request one. Updates To update, ask your agent to update text-to-cad, or run the update commands under your app's heading, then restart the app. When a newer release is out, a copy you installed yourself says so: a blue update button, first in CAD's navbar and on its home, whose Send to agent posts "Update text-to-cad to 0.9.0 from https://github.com/earthtojake/text-to-cad" to your chat, worded like the install message (the browser viewer's copies it instead), or, in an app that shows CAD's replies as text, a line with its reply. Your agent then runs the update commands under your app's heading here. The button also links to the install instructions, to update by hand. Copies from a plugin directory or the Cursor Marketplace never show it, since their store updates them, and neither does Gemini's extension, which Gemini updates: for those there is nothing to run. To find out, cadgen fetches api.texttocad.dev/v1/versions at most once a day: one anonymous request, with no ID, path or anything about you, never in CI and never for a copy that something else updates. CADGEN_UPDATE_CHECK=0 turns it off. Usage analytics The CAD app (the plugin's cad server) and the browser viewer (cadgen viewer) can send anonymous usage counts: a random install ID, versions, where you installed it from, your OS and agent app, how often each CAD tool was called and views were used, and a one-way code and the format of each distinct file shown (to count files, not identify them). Our server also counts installs per country, from each request's IP address, as weekly and monthly totals only. Never file names, paths, contents or prompts. It is off until you allow it in either app's one-time prompt (one answer counts for both); change it later with Share anonymous usage data in either app's menu (the logo at the top left, over any model), uvx cadgen analytics on|off, or by asking your agent to turn it off. DO_NOT_TRACK=1 keeps it off. See the privacy policy. Windows 11: Smart App Control The CAD kernel behind the cad, dxf, urdf, srdf and sdf skills is OCP, OpenCascade's Python binding, and its wheel ships an unsigned native module. Windows 11's Smart App Control blocks unsigned native code, so on a machine where it is on (the default on a fresh install) every cadgen command and import build123d fails with ImportError: DLL load failed while importing OCP, and Event Viewer records the refusal as Event ID 3077 under CodeIntegrity › Operational. cadgen doctor names this when it sees it. Smart App Control has no per-app exception. Either turn it off (Settings › Privacy & security › Windows Security › App & browser control › Smart App Control settings; once off it can only be turned back on by reinstalling Windows) or run the CAD skills under WSL, where it does not apply. The wheel is built by the cadquery-ocp project, so signing it is not something this repository can do. 🧰 Skills Install the library to give agents focused workflows for CAD, fabrication, robot description files, simulation, and local review. Skill Summary Source CAD Creates and edits CAD models from plain-language or image requests, with STEP as the main output along with options to export to STL, 3MF and GLB. skills/cad step.parts Finds off-the-shelf STEP parts like screws, bearings, motors, and connectors. skills/step-parts Engineering Drawing Dimensioned engineering drawings from a part, as a PDF: views, hidden lines, dimensions, hole callouts, title block. skills/engineering-drawing DXF Creates 2D DXF drawings like profiles, templates, gaskets, and cut layouts from Python sources or CAD geometry. skills/dxf URDF Writes robot structure files with links, joints, limits, inertials, and meshes. skills/urdf SRDF Adds MoveIt planning groups, end effectors, poses, and collision rules to a URDF. skills/srdf SDF Creates simulator models and worlds with frames, physics, sensors, and lights. skills/sdf SendCutSend Checks DXF and STEP files before upload to SendCutSend. skills/sendcutsend DfAM Check Measures mesh printability per process: wall thickness, overhangs, support volume, and build orientation. skills/dfam-check DFM Reviews a part for sheet metal, CNC machining, or injection molding, with measured evidence and the cited rule behind every finding; measures draft, undercuts and projected area from a mesh. skills/dfm G-code Slices models into printer-ready G-code with OrcaSlicer, using your own printer presets. skills/gcode Bambu Labs Sends prints to Bambu Lab printers through Bambu Connect, Bambu Lab's official app, or Bambu Studio. skills/bambu-labs 🛠️ Contributing Branch from main and open PRs against main. For the local workflow, testing in agent apps and validation, see CONTRIBUTING.md.

no score查看详情
Scout·清单github.com

pbakaus/impeccable

The design language that makes your AI harness better at design.https://impeccable.styleImpeccable Design guidance for AI coding agents. 1 skill, 24 commands, live browser iteration, and 60 deterministic detector rules for AI-generated frontend design. Quick start: From your project root, run npx impeccable install, then run /impeccable init inside your AI coding tool. Full docs: impeccable.style. Why Impeccable? Anthropic's frontend-design was the first widely-used design skill for Claude. Impeccable started from there. Every model trained on the same SaaS templates. Skip the guidance and you get the same handful of tells on every project: Inter for everything, purple-to-blue gradients, cards nested in cards, gray text on colored backgrounds, the rounded-square icon tile above every heading. Impeccable adds: One setup flow. /impeccable init records durable product truth in PRODUCT.md, so later commands know the audience, purpose, operating context, constraints, voice, and evidence without confusing those facts with surface-level visual direction. 24 commands. A shared design vocabulary with your AI: polish, audit, critique, distill, animate, bolder, quieter, and more. 60 deterministic detector rules plus LLM-only critique checks. The CLI and browser extension run the deterministic rules with no LLM and no API key. What's Included The Skill: impeccable The skill installs as one command: /impeccable <command> <target> Start every new project with: /impeccable init init inspects the project, asks only for material gaps in durable product truth, and writes PRODUCT.md. Visitor mode and visual direction are chosen later for each surface; incumbent or newly built visual systems are recorded separately in DESIGN.md. 24 Commands All commands are accessed through /impeccable: Command What it does /impeccable craft Full shape-then-build flow with visual iteration /impeccable init One-time setup: gather durable product context, write PRODUCT.md, configure live mode when applicable, recommend next steps /impeccable document Generate root DESIGN.md from existing project code /impeccable extract Pull reusable components and tokens into the design system /impeccable shape Plan UX/UI before writing code /impeccable critique UX design review: hierarchy, clarity, emotional resonance /impeccable audit Run technical quality checks (a11y, performance, responsive) /impeccable polish Final pass, design system alignment, and shipping readiness /impeccable bolder Amplify boring designs /impeccable quieter Tone down overly bold designs /impeccable distill Strip to essence /impeccable harden Error handling, i18n, text overflow, edge cases /impeccable onboard First-run flows, empty states, activation paths /impeccable animate Add purposeful motion /impeccable colorize Introduce strategic color /impeccable typeset Fix font choices, hierarchy, sizing /impeccable layout Fix layout, spacing, visual rhythm /impeccable delight Add moments of joy /impeccable overdrive Add technically extraordinary effects /impeccable clarify Improve unclear UX copy /impeccable adapt Adapt for different devices /impeccable optimize Performance improvements /impeccable live Visual variant mode: iterate on elements in the browser /impeccable generate Generate variants of a named element in the live browser, no manual picking Use /impeccable pin <command> to create standalone shortcuts (e.g., pin audit creates /audit). Usage Examples /impeccable audit blog # Audit blog hub + post pages /impeccable critique landing # UX design review /impeccable polish settings # Final pass before shipping /impeccable harden checkout # Add error handling + edge cases Or use /impeccable directly with a description: /impeccable redo this hero section Anti-Patterns The skill includes explicit guidance on what to avoid: Don't use overused fonts (Arial, Inter, system defaults) Don't use gray text on colored backgrounds Don't use pure black/gray (always tint) Don't wrap everything in cards or nest cards inside cards Don't use bounce/elastic easing (feels dated) See It In Action Visit the Neo Mirai case study to see a before/after case study of a real project transformed with Impeccable commands. Installation The skill needs no runtime of its own. Every skill copy ships a small launcher (scripts/impeccable, plus impeccable.cmd for Windows) that runs the Impeccable engine, a self-contained binary that either sits next to the launcher or is downloaded once on first run into ~/.impeccable/bin/. Node is only involved if you use the npx impeccable installer, which is a shim around the same binary; the manual and Git options below work without it. Option 1: CLI installer (Recommended) From the root of your project, run: npx impeccable install This shows the harness folders or installed CLIs it detected (for example ~/.claude, ~/.codex, ~/.grok, ~/.hermes, ~/.veto, or project-local .cursor), lets you keep the detected set or customize providers, then asks whether to install into the current project or globally. Use --providers=claude,codex,cursor,grok,hermes,veto and --scope=project|global to skip those choices in scripts. On Claude Code, Cursor, Codex, GitHub Copilot, and Grok Build, it also installs the provider-native hook manifest for the current project. Veto receives the packaged skill under ~/.veto/skills/ and does not run native Impeccable edit hooks. Works with Cursor, Claude Code, Gemini CLI, Codex CLI, Grok Build, Hermes Agent, Veto, and every other supported tool. Reload your harness afterward. To refresh an existing install, run: npx impeccable update Codex users should open /hooks after install or update and approve the project hook when prompted. Codex tracks trust by hook definition, so updates that change .codex/hooks.json can require approval again. Grok Build users need project folder trust (/hooks-trust or launch with --trust) before .grok/hooks/ scripts run. See Allow the hook in your harness for harness-specific trust and verification steps. Option 2: Git Submodule For teams that want to keep Impeccable vendored and updated through Git, add this repo as a submodule and link the compiled provider build into your harness folders: git submodule add https://github.com/pbakaus/impeccable .impeccable npx impeccable link --source=.impeccable --providers=claude,cursor git add .gitmodules .impeccable .claude .cursor git commit -m "Add Impeccable skills" Use the providers your project needs, for example claude, cursor, gemini, codex, github, grok, hermes, opencode, pi, qoder, trae, trae-cn, rovo-dev, vibe, or veto. The command links individual skill folders from .impeccable/dist/universal/ and leaves existing real skill directories untouched unless you pass --force. To update later: git submodule update --remote .impeccable npx impeccable link --source=.impeccable --providers=claude,cursor Option 3: Plugin install GitHub Copilot in VS Code: Install Impeccable from the Visual Studio Marketplace, or run: code --install-extension renaissance-geek.impeccable Requires VS Code 1.109.3+, Copilot Chat access, and a trusted local workspace. Open Chat in Agent mode and try /impeccable polish. This skill-only extension does not install automatic hooks; avoid a duplicate Impeccable skill in the same workspace/profile. See VS Code distribution details. Claude Code: /plugin marketplace add pbakaus/impeccable Claude Code only. After adding the marketplace, open /plugin and install Impeccable from the list. Grok Build: grok plugin install pbakaus/impeccable#plugin --trust Grok Build only. The #plugin suffix installs the slim plugin package (skills, agents, and hooks) instead of the full monorepo. Then run /impeccable init in a Grok session. Project-scoped installs via npx impeccable install --providers=grok also work and write .grok/skills/ plus .grok/hooks/impeccable.json. Option 4: Download from Website Visit impeccable.style, download the ZIP for your tool, and extract to your project. Option 5: Copy from Repository Cursor: cp -r dist/cursor/.cursor your-project/ Note: Cursor skills require setup: Switch to Nightly channel in Cursor Settings → Beta Enable Agent Skills in Cursor Settings → Rules Learn more about Cursor skills Claude Code: # Project-specific cp -r dist/claude-code/.claude your-project/ # Or global (applies to all projects) cp -r dist/claude-code/.claude/* ~/.claude/ OpenCode: cp -r dist/opencode/.opencode your-project/ DeepSeek Harness: # Project-specific cp -r dist/dsh/.dsh your-project/ # Or global (applies to all projects) mkdir -p "${DSH_HOME:-$HOME/.dsh}/skills" cp -r dist/dsh/.dsh/skills/* "${DSH_HOME:-$HOME/.dsh}/skills/" The CLI honors DSH_HOME only when it resolves inside your home directory (or to home itself); otherwise it uses ~/.dsh. An outside-home manual copy is not managed by impeccable install/update. Hermes Agent: # Global (applies to all projects; uses the active profile, or ~/.hermes by default) cp -r dist/hermes/.hermes/skills/* "${HERMES_HOME:-$HOME/.hermes}/skills/" # Or project-specific cp -r dist/hermes/.hermes your-project/ Note: Hermes gates project-local skills behind a per-repo trust decision (they are procedure documents, so auto-loading them from any cloned repo is treated as a prompt-injection vector). After a project-scoped install, run hermes skills trust once from the project root. Global installs into the active $HERMES_HOME/skills/ (or ~/.hermes/skills/ when unset) load without a trust step. /impeccable <command> then routes through the skill's Commands table; the design hook does not install on Hermes (no hook surface). Learn more about Hermes skills Pi: cp -r dist/pi/.pi your-project/ Gemini CLI: cp -r dist/gemini/.gemini your-project/ Note: Gemini CLI skills require setup: Install preview version: npm i -g @google/gemini-cli@preview Run /settings and enable "Skills" Run /skills list to verify installation Learn more about Gemini CLI skills Codex CLI: # Project-local cp -r dist/agents/.agents your-project/ mkdir -p your-project/.codex cp dist/codex/.codex/hooks.json your-project/.codex/hooks.json # Or install the skill user-wide. Copy .codex/hooks.json into each project # where you want the design hook to run. mkdir -p ~/.agents/skills cp -r dist/agents/.agents/skills/* ~/.agents/skills/ The asset-producer subagent ships nested inside the skill's own agents/ folder, which Codex auto-discovers. No separate .codex/agents/ copy is needed. The hook is project-local because Codex discovers hooks from .codex/hooks.json next to trusted project config. GitHub Copilot: cp -r dist/github/.github your-project/ Trae: # Trae China (domestic version) cp -r dist/trae/.trae-cn/skills/* ~/.trae-cn/skills/ # Trae International cp -r dist/trae/.trae/skills/* ~/.trae/skills/ Note: Trae has two versions with different config directories: Trae China: ~/.trae-cn/skills/ Trae International: ~/.trae/skills/ After copying, restart Trae IDE to activate the skills. Rovo Dev: # Project-specific cp -r dist/rovo-dev/.rovodev your-project/ # Or global (applies to all projects) cp -r dist/rovo-dev/.rovodev/skills/* ~/.rovodev/skills/ Qoder: # Project-specific cp -r dist/qoder/.qoder your-project/ # Or global (applies to all projects) cp -r dist/qoder/.qoder/skills/* ~/.qoder/skills/ Mistral Vibe: # Project-specific cp -r dist/vibe/.vibe your-project/ # Or global (applies to all projects) cp -r dist/vibe/.vibe/skills/* ~/.vibe/skills/ Grok Build: # Project-specific cp -r dist/grok/.grok your-project/ # Or global (applies to all projects) cp -r dist/grok/.grok/skills/* ~/.grok/skills/ Prefer npx impeccable install --providers=grok or grok plugin install pbakaus/impeccable#plugin --trust so the design hook installs too. Project hooks need /hooks-trust (or --trust) once per folder. Google Antigravity: # Project-specific cp -r dist/antigravity/.agent your-project/ # Or global (applies to all projects) mkdir -p ~/.gemini/config/skills cp -r dist/antigravity/.agent/skills/* ~/.gemini/config/skills/ Usage Once installed, every command runs through the single /impeccable skill: /impeccable audit # Find issues /impeccable polish # Final cleanup /impeccable distill # Remove complexity /impeccable critique # Full design review Type /impeccable alone to see the full command list. Most commands accept an optional argument to focus on a specific area: /impeccable audit the header /impeccable polish the checkout form If you reach for one command often, pin it with /impeccable pin audit to get /audit as a standalone shortcut. Note: Codex uses skills here, not /prompts: commands. Open /skills or type $impeccable. Repo-local installs live in .agents/skills/; user-wide installs live in ~/.agents/skills/. GitHub Copilot uses .github/skills/. Restart the tool if a newly installed skill does not appear. Keeping .impeccable out of git As you run commands, Impeccable writes working files under .impeccable/: critique and polish screenshots, live-mode session and preview state, runtime caches, and per-developer config. Most of it is ephemeral and should not be committed, while a few files are shared project artifacts that belong in the repo. Add this block to your project's .gitignore: # impeccable-ignore-start # Ephemeral output, runtime state, and per-dev overrides. # The **/ prefix covers .impeccable at the repo root or in a nested workspace. # Shared artifacts stay tracked: config.json, live/config.json, # design.json, surfaces/*.md, critique/*.md. **/.impeccable/config.local.json **/.impeccable/hook.cache.json **/.impeccable/hook.pending.json **/.impeccable/*.png **/.impeccable/review/ **/.impeccable/questions/ **/.impeccable/live/server.json **/.impeccable/live/sessions/ **/.impeccable/live/previews/ **/.impeccable/live/annotations/ **/.impeccable/live/cache/ **/.impeccable/live/manual-edit-apply-transaction.json **/.impeccable/live/manual-edit-events.jsonl **/.impeccable/live/manual-edit-evidence/ **/.impeccable/live/pending-manual-edits.json **/.impeccable/live/deferred-svelte-component-accepts.json **/.impeccable/live/*.png # impeccable-ignore-end The block is wrapped in # impeccable-ignore-start / # impeccable-ignore-end markers so you can recognize and refresh it later. The **/ prefix makes each pattern match whether the active project's .impeccable/ directory is at the repository root or under a nested workspace path like apps/web/. Keep these tracked (they are shared project artifacts, do not add them to .gitignore): .impeccable/config.json (unified shared config) .impeccable/live/config.json (live-mode framework wiring) .impeccable/design.json (shared design spec) .impeccable/surfaces/*.md (route- or artifact-specific strategy and direction contracts) .impeccable/critique/*.md (review reports) If an ephemeral file (a screenshot, config.local.json) was committed before you added the block, .gitignore will not untrack it automatically. Run git rm --cached <path> to stop tracking it without deleting your local copy. Design hook On Claude Code, GitHub Copilot, Codex, Cursor, and Grok Build, npx impeccable install and npx impeccable update install a provider-native hook manifest along with the skill payload. The hook runs the Impeccable design detector on direct UI file edits and surfaces findings back into the agent flow. Claude Code, GitHub Copilot, and Codex surface findings after the edit (and run a deeper pass on Stop where supported). Grok Build scans after the edit to warm Stop, then surfaces on Stop; PostToolUse stdout never reaches the model. Cursor blocks bad proposed writes before they land. Installed hook surfaces: Claude Code: .claude/settings.local.json (gitignored, machine-local) runs ${CLAUDE_PROJECT_DIR}/.claude/skills/impeccable/scripts/impeccable hook. A hook moved into the shared settings.json is honored in place. GitHub Copilot: .github/hooks/impeccable.json (committed, shared by the Copilot CLI and the cloud agent) runs .github/skills/impeccable/scripts/impeccable hook. The Copilot CLI activates it once the file is on the repository's default branch and the folder is trusted. Cursor: .cursor/hooks.json runs .cursor/skills/impeccable/scripts/impeccable hook-before-edit. Codex: .codex/hooks.json runs .agents/skills/impeccable/scripts/impeccable hook, with a commandWindows sibling that calls impeccable.cmd for cmd.exe. Grok Build: .grok/hooks/impeccable.json runs .grok/skills/impeccable/scripts/impeccable hook. Requires /hooks-trust or --trust. Findings reach the model on Stop, not after each edit. Every command goes through the launcher shipped in the skill's scripts/ directory (impeccable, or impeccable.cmd on Windows), guarded so a missing launcher is a silent no-op. The launcher runs the engine binary that ships next to it, or downloads the pinned version once into ~/.impeccable/bin/. No Node or other runtime is required for the hook or the skill. In Claude Code, installed command hooks run independently of model-tool approval. The first edit or Stop event can therefore download and cache the engine even if the session denies the model's launcher command. Review installed hooks before unattended runs; to disable all Claude Code hooks for a run, pass --settings '{"disableAllHooks": true}'. See Claude Code's hook security guidance. The installer preserves unrelated hook entries and settings. If a hook manifest is malformed, install/update aborts by default; rerun with --force to back up the malformed file as .bak and replace it. On an interactive install/update, Impeccable explains the hook and offers to install it (default yes). Your choice is remembered per-developer in the gitignored .impeccable/config.local.json, so you are not asked again; --no-hooks skips it for that run without recording anything. Hook lifecycle settings live under the hook key of .impeccable/config.json; detector ignores live under detector, shared by /impeccable hooks and npx impeccable detect. For debugging, set hook.auditLog in .impeccable/config.json to a path (or the legacy IMPECCABLE_HOOK_LOG env var) to write one NDJSON line per hook invocation. Leave it unset for normal use. Build path: comp-first or code-first When a new surface gets designed, Impeccable either generates a full-fidelity comp first and builds to match it, or builds straight in code with the ambition written into a development-only direction contract in the surface brief and checked at the finish. Comp-first composes bolder and takes longer; code-first is leaner and faster. /impeccable init asks once and records the answer as buildPath in .impeccable/config.json: { "buildPath": "comp" } The values are comp and code, and nothing else is read. Set it in the gitignored .impeccable/config.local.json to override the team's committed value on one machine, which is what you want when your harness has no image generation. In a monorepo, commit it once at the repo root and any workspace that wants something else sets its own. The choice appears at all only where image generation is available, since without it there is nothing to comp. You do not have to re-run init to set it on a project that predates the setting, and you do not have to edit the file by hand either. Whatever is recorded is a default rather than a lock: every decision page carries a footer toggle, and flipping it binds that session only. Flip it on a project that has recorded nothing and Impeccable asks once, after the round, whether to keep it, then writes your answer. That is the whole migration path for an existing project: use the toggle when the default is wrong, and answer the question that follows. Codex requires one platform step that Impeccable cannot safely skip: open /hooks after install or update and approve the project hook. There is no Codex marketplace/plugin install flow for this hook. Full hook docs: impeccable.style/docs/hooks. The Stop pass suppresses confirmed pre-existing findings when a verified before-edit baseline is available (currently Claude Edit/Write results for text scans). Other findings are marked new or attribution unknown; unknown is not evidence that your session caused the problem. Explicit detect scans remain unchanged. Manual copy commands are fallback/debug instructions. The normal path is: npx impeccable install npx impeccable update Live mode and production sites Live mode edits a local checkout through a development server or local static HTML. Injecting its localhost HTTP helper into a deployed production site, including an HTTPS site, is not supported. Do not disable browser security or weaken production CSP to make it work. Use live mode only in projects you trust to run locally. Applying copy edits automatically runs package.json's optional scripts["impeccable:manual-edit-validate"] command in a shell, with your user permissions; review that script before using live mode in an unfamiliar checkout. For production inspection, use npx impeccable detect https://example.com or the browser extension. These inspect the rendered page; they do not provide live variant editing or write changes back to your source. CLI Impeccable includes a standalone CLI for detecting anti-patterns without an AI harness. npx impeccable is a small shim that runs the same engine binary the skill uses (installed as a platform-specific optional dependency, or fetched once into ~/.impeccable/bin/); Node is needed only for npx itself, and you can also download the binary directly and put it on your PATH. npx impeccable detect src/ # scan a directory npx impeccable detect index.html # scan an HTML file npx impeccable detect https://example.com # scan a URL (uses an installed Chrome, Chromium, or Edge) npx impeccable detect --json . # CI-friendly JSON output npx impeccable detect --no-config src/ # raw scan, ignoring project config/context npx impeccable ignores list # show detector ignores npx impeccable ignores add-file "src/legacy/**" npx impeccable ignores add-value overused-font Inter --reason "Brand font" The detector catches 60 deterministic issues across AI slop (side-tab borders, purple gradients, bounce easing, dark glows) and general design quality (line length, cramped padding, small touch targets, skipped headings, and more). Human-readable findings are diagnostics written to stderr, so redirect them with 2> findings.txt. Use --json for machine-readable results on stdout. Exit 0 means the scan completed without primary findings, exit 2 means it completed with primary findings, and exit 1 means at least one requested target could not be scanned; operational failure takes precedence for a partial multi-target scan. URL scans inspect the rendered DOM, computed layout, and accessible linked stylesheets; browser security still prevents reading cross-origin CSS without CORS. A clean detector run is evidence, not proof of visual or accessibility quality: it does not replace inspecting the rendered experience across relevant viewports. By default, detect respects the same .impeccable/config.json and .impeccable/config.local.json detector config as the design hook: detector.ignoreRules, detector.ignoreFiles, detector.ignoreValues, and detector.designSystem.enabled. Hook lifecycle settings such as hook.enabled only affect automatic hook execution. For a waiver that should travel with one file instead of the repo config, add an inline comment in the file: <!-- impeccable-disable overused-font: exported brand doc -->. The marker works in any comment syntax, scopes to the whole file (or one line with impeccable-disable-line / impeccable-disable-next-line), and is bypassed by --no-inline-ignores or --no-config. Full detector docs: impeccable.style/docs/detector. Supported Tools Cursor Claude Code GitHub Copilot DeepSeek Harness Gemini CLI Codex CLI Grok Build Hermes Agent OpenCode Pi Kiro Trae Rovo Dev Qoder Mistral Vibe Veto Google Antigravity Community & Ecosystem Join the community and ecosystem conversations: GitHub Discussions: file bugs, request features, and help newcomers. Impeccable on npm: grab the CLI, follow releases, and star the package. Follow @pbakaus on Twitter for release notes, sample lint reports, and video highlights of new rules. Contributing See DEVELOP.md for contributor guidelines and build instructions. License Apache 2.0. See LICENSE. Created by Paul Bakaus

no score查看详情
Scout·清单github.com

deepseek-ai/DeepGEMM

DeepGEMM: clean and efficient BLAS kernel library on GPUDeepGEMM DeepGEMM is a unified, high-performance tensor core kernel library that brings together the key computation primitives of modern large language models — GEMMs (FP8, FP4, BF16), fused MoE with overlapped communication (Mega MoE), MQA scoring for the lightning indexer, HyperConnection (HC), and more — into a single, cohesive CUDA codebase. All kernels are compiled at runtime through DeepJIT, requiring no CUDA compilation during installation. DeepGEMM leverages some concepts from CUTLASS and CuTe, but avoids heavy reliance on their templates or algebras. The library is designed for simplicity, with only a limited number of core kernel functions, making it a clean and accessible resource for learning NVIDIA GPU kernel optimization techniques. Despite its lightweight design, DeepGEMM's performance matches or exceeds expert-tuned libraries across various matrix shapes. News 2026.09.30 DeepGEMM Ascend is available! Check DeepGEMM-Ascend for more details Add more optimizations, including locality domain features, check #462 for more details 2026.09.10: Sparse Indexer, Mega Gate, Mega mHC, DeepJIT, MoE and Indexer optimizations and more. Please see #432 for more details. 2026.04.16: Mega MoE, FP8xFP4 GEMM, FP4 Indexer, PDL, faster JIT compilation and more. Please see #304 for more details. For Mega MoE benchmarks, refer to #316. 2025.09.28: DeepGEMM now supports scoring kernels (weighted ReLU MQA logits) for the lightning indexer for DeepSeek v3.2. Please see #200 for more details. 2025.07.20: DeepGEMM now supports both SM90/SM100, and has a full refactor with a low-CPU-overhead JIT CPP module. As NVCC 12.9 will automatically do the FFMA interleaving, all post optimizations will be no longer supported. Please see #112 for more details. 2025.05.14: DeepGEMM now offers weight gradient kernels for dense and MoE backward! See #95 for details. 2025.04.18: DeepGEMM now achieves up to 1550 TFLOPS on H800! See #74, #78, #81, #86 and 340d988 for details. Quick start Requirements NVIDIA SM90 or SM100 architecture GPU Python 3.8 or higher Compilers and standard libraries with C++20 <format> support CUDA Toolkit 12.9 or higher PyTorch 2.3 or higher CUTLASS 4.0 or higher (could be cloned by Git submodule) Development # Submodule must be cloned git clone --recursive git@github.com:deepseek-ai/DeepGEMM.git cd DeepGEMM # Link some essential includes and build the C++ extension cat develop.sh ./develop.sh Installation cat install.sh ./install.sh Then, import deep_gemm in your Python project, and enjoy! Interfaces Notices This library provides optimized GEMM kernels for NVIDIA GPUs with a naming convention: D = C + A @ B. The input shape layout is NT (non-transposed A, transposed B). While the SM90 implementation supports only the NT memory layout (row-major, col-major), the SM100 implementation supports all memory layouts (NT, TN, NN, TT). For example, fp8_gemm_nt will do a D = C + A @ B.T For both architectures, the LHS scaling factor is required to have a TMA-aligned and transposed layout. And the data format for the scaling factor of SM90 and SM100 is different: SM90 requires scaling factors in FP32 format. SM100 requires scaling factors in packed UE8M0 format, which packs 4 UE8M0 into a single torch.int. Please note that operations like input transposition or FP8 casting must be handled separately by the user, please implement or fuse them into prior kernels independently. While the library provides some simple PyTorch utility functions, these may result in slower performance, but our primary focus is on optimizing the GEMM kernels themselves. Normal dense GEMMs (non-grouped) To perform a basic non-grouped FP8 GEMM, call the fp8_gemm_{nt, nn, tn, tt} function. For more details, please refer to the function documentation. Grouped GEMMs (contiguous layout) Unlike traditional grouped GEMMs in CUTLASS, DeepGEMM groups only the M-axis, while N and K must remain fixed. This design is tailored for scenarios where experts in an MoE model share the same shape. For training forward passes or inference prefilling, where each expert may process a varying number of tokens, we concatenate these tokens into a single tensor, referred to as the "contiguous" layout. Note that each expert segment must be aligned to the GEMM M block size (get_mk_alignment_for_contiguous_layout()). For more information, please refer to the m_grouped_fp8_gemm_{nt, nn}_contiguous function documentation. We also provide a K-axis-grouped API for MoE weight backward (with M and N must remain fixed), please refer to k_grouped_fp8_gemm_tn_contiguous for more information. Grouped GEMMs (masked layout) During the inference decoding phase, when CUDA graph is enabled and the CPU is unaware of the number of tokens each expert receives, we support masked grouped GEMMs. By providing a mask tensor, the kernel computes only the valid portions. Use m_grouped_fp8_gemm_nt_masked for this purpose and consult the relevant documentation. An example usage is to use the output of low-latency kernels from DeepEP as input. V3.2 MQA kernels for the indexer The kernel family has two versions, non-paged (for prefilling) and paged (for decoding). Take the non-paged version fp8_fp4_mqa_logits as an example. Its main inputs are: q, a (q_data, q_sf) tuple; SM100 accepts MXFP4/MXFP8 data with packed UE8M0 scales kv, a (kv_data, kv_sf) tuple with shape [seq_len_kv, head_dim] logically weights, tensor with shape [seq_len, num_heads] (BF16 on SM100) cu_seq_len_k_start and cu_seq_len_k_end, int tensor with shape [seq_len] max_seqlen_k, the maximum valid KV span of any query row The output is compressed to [seq_len, max_seqlen_k]; row i stores its valid KV span starting at column zero. For each token i in q, it will iterate all tokens j from [cu_seq_len_k_start[i], cu_seq_len_k_end[i]), and calculate the corresponding compressed logit as: kv_j = kv[0][j, :] * kv[1][j].unsqueeze(1) # [head_dim] out_ij = q[i, :, :] @ kv_j # [num_heads] out_ij = out_ij.relu() * weights[i, :] # [num_heads] out_ij = out_ij.sum() # Scalar For more details and the paged version fp8_fp4_paged_mqa_logits, please refer to tests/test_attention.py. Mega MoE Mega MoE fuses and overlaps EP dispatch, linear 1 and linear 2 (FP8xFP4 or FP8xFP8), SwiGLU, and EP combine into a single mega-kernel, overlapping NVLink communication and tensor core computation. It requires multi-process launch with symmetric memory. Usage: # Allocate symmetric memory buffer # NOTES: requires PyTorch >= 2.9 buffer = deep_gemm.get_symm_buffer_for_mega_moe( group, num_experts, num_max_tokens_per_rank, num_topk, hidden, intermediate_hidden, mma_type='fp8xfp4', # Use 'fp8xfp8' for FP8 routed-expert weights ) # Transform weights (FP4 or FP8 with UE8M0 SF) into the required layout transformed_l1, transformed_l2 = deep_gemm.transform_weights_for_mega_moe(l1_weights, l2_weights) # (Optional) Localize weights into locality domains transformed_l1 = (deep_gemm.localize(transformed_l1[0]), transformed_l1[1]) transformed_l2 = (deep_gemm.localize(transformed_l2[0]), transformed_l2[1]) deep_gemm.destroy_localizer() # Copy inputs into the buffer before each call # You may fuse these into previous kernels buffer.x[:num_tokens].copy_(x_fp8) buffer.x_sf[:num_tokens].copy_(x_sf) buffer.topk_idx[:num_tokens].copy_(topk_idx) buffer.topk_weights[:num_tokens].copy_(topk_weights) # Run the fused mega MoE kernel y = torch.empty((num_tokens, hidden), dtype=torch.bfloat16, device='cuda') deep_gemm.fp8_fp4_mega_moe(y, transformed_l1, transformed_l2, buffer) For the full example with multi-process setup and benchmarking, please refer to tests/test_mega_moe.py. Utilities The library provides some utility functions besides the above kernels: deep_gemm.set_num_sms / get_num_sms: set/get the maximum SM count to use deep_gemm.set_tc_util / get_tc_util: set/get an approximated tensor core utilization ratio deep_gemm.set_pdl / get_pdl: enable/disable Programmatic Dependent Launch (PDL) deep_gemm.use_deterministic_algorithms: enable/disable deterministic algorithms deep_gemm.set_mk_alignment_for_contiguous_layout / get_mk_alignment_for_contiguous_layout: set/get the group-level M/K alignment for contiguous layout deep_gemm.get_theoretical_mk_alignment_for_contiguous_layout: get the theoretical minimum M/K alignment deep_gemm.set_ignore_compile_dims: configure dimensions to ignore during JIT compilation deep_gemm.set_block_size_multiple_of: constrain block sizes to be multiples of a given value deep_gemm.transform_sf_into_required_layout: transform scaling factors into the required layout deep_gemm.get_tma_aligned_size: get the required TMA alignment size deep_gemm.get_mn_major_tma_aligned_tensor: get a MN-major TMA-aligned tensor deep_gemm.get_mn_major_tma_aligned_packed_ue8m0_tensor: get a MN-major TMA-aligned tensor (with packing FP32 into UE8M0) deep_gemm.get_k_grouped_mn_major_tma_aligned_packed_ue8m0_tensor: K-grouped GEMM packing kernel The library also provides some environment variables, which may be useful: Each DG_JIT_* variable falls back to the corresponding global DJ_JIT_* variable when unset. General DG_JIT_DEBUG: 0 or 1, enable JIT debugging features, including compiler command and PTXAS output, load-time reporting, line info, and PTX/SASS dumps; 0 by default DG_PRINT_CONFIGS: 0 or 1, print selected configs for each shape, 0 by default JIT cache DG_JIT_CACHE_DIR: string, cache directory (or a :-separated list of directories) for compiled kernels; lookup searches all paths front-to-back (first hit wins) and a cache miss compiles into the first path, $HOME/.dj by default Compiler selection DG_JIT_NVCC_COMPILER: string, NVCC compiler path; otherwise CUDA is found through CUDA_HOME, CUDA_PATH, which nvcc, then /usr/local/cuda DG_JIT_CPP_STANDARD: integer, C++ standard version, 20 by default Compiler output DG_JIT_PRINT_COMPILER_COMMAND: 0 or 1, print compilation commands, 0 by default DG_JIT_PTXAS_VERBOSE: 0 or 1, show detailed PTXAS output, 0 by default DG_JIT_CHECK_NO_SPILLS: 0 or 1, assert no register spills in compiled kernels, 0 by default DG_JIT_CHECK_NO_LOCAL_MEMORY: 0 or 1, assert no local memory usage in compiled kernels, 0 by default DG_JIT_PRINT_LOAD_TIME: 0 or 1, print kernel load time, 0 by default Debug and profiling DG_JIT_WITH_LINEINFO: 0 or 1, embed source line info for profiling tools, 0 by default DG_JIT_DUMP_ASM: 0 or 1, dump both PTX and SASS, 0 by default DG_JIT_DUMP_PTX: 0 or 1, dump PTX output, 0 by default DG_JIT_DUMP_SASS: 0 or 1, dump SASS output, 0 by default DG_COMM_KERNEL_DEBUG: 0 or 1, zero symmetric buffer before each Mega MoE call for debugging, 0 by default DG_USE_NVIDIA_TOOLS: 0 or 1, skip internal profiling when running under external NVIDIA tools, 0 by default Build options DG_SKIP_CUDA_BUILD: 0 or 1, skip CUDA extension build during installation, 0 by default DG_FORCE_BUILD: 0 or 1, force local build instead of downloading pre-built wheels, 0 by default For additional examples and details, please refer to the test code or review the corresponding Python documentation. Acknowledgement DeepGEMM is inspired by the CUTLASS project. Thanks and respect to the developers! License This code repository is released under the MIT License. Citation @misc{deepgemm2025, title={DeepGEMM: clean and efficient BLAS kernel library on GPU}, author={Chenggang Zhao and Zhean Xu and Liang Zhao and Jiashi Li and Chenhao Xu and Anyi Xu and Shengyu Liu and Kexing Zhou and Kuai Yu}, year={2025}, publisher = {GitHub}, howpublished = {\url{https://github.com/deepseek-ai/DeepGEMM}}, }

no score查看详情
Scout·清单github.com

pingdotgg/t3code

https://t3.codesT3 Code T3 Code is an "agent harness control surface". It enables control of the agents on your machine with a best-in-class mobile app (iOS, Android), web app and Electron-based desktop app. Works with your subscriptions on Claude Code, Codex, Cursor, Grok Build, OpenCode, and Google Antigravity. If they're set up on your computer, T3 Code can control them. "Wait, what are you selling me?" Nothing. We built T3 Code because we wanted the best possible development experience with agents. We were inspired by existing solutions like the Codex desktop app, Conductor, Claude Desktop and Cursor Glass, but none met our bar. We wanted something performant, remote-ready, and truly open. If we ever go the wrong direction, we want you to have everything you need to fork and build the editor that you want. Installation Warning T3 Code currently supports Codex, Claude, Cursor, Grok Build, OpenCode, and Antigravity. Install and authenticate at least one provider before use: Codex: install Codex CLI and run codex login Claude: install Claude Code and run claude auth login Cursor: install Cursor CLI and run agent login Grok Build: install Grok Build CLI and run grok login OpenCode: install OpenCode and run opencode auth login Antigravity: enable it in Settings, then use Install Antigravity and Sign in with Google. No CLI is required. Command line curl -fsSL https://t3.codes/install.sh | sh On Windows, in PowerShell: irm https://t3.codes/install.ps1 | iex Then run t3 to start the server and open the local web app. t3 service install keeps it running in the background, t3 update moves to a newer release, and t3 --help has the full reference. To try it once without installing, run npx t3@latest instead. Desktop app Install the latest version of the desktop app from GitHub Releases, or from your favorite package registry: Windows (winget) winget install T3Tools.T3Code macOS (Homebrew) brew install --cask t3-code Debian, Ubuntu (.deb) Download the .deb from GitHub Releases, then: sudo apt install ./T3-Code-*.deb Arch Linux (AUR) Stable: yay -S t3code-bin Nightly: yay -S t3code-nightly-bin The AUR packaging is maintained in this repository under packaging/aur. Some notes We are very very early in this project. Expect bugs. We are (mostly) not accepting contributions yet. Small fixes may be considered. Big features will not be. Documentation Full docs live in docs/. There's no docs site yet. Install and first run Permission modes Keyboard shortcuts Project settings Appearance preferences Remote access from a phone or another machine Keeping app and server in sync Source control integrations Multiple accounts: Codex · Claude Run T3 Code as a background service Building from source? Start at docs/internals/overview.md. If you REALLY want to contribute still.... read this first Install vp T3 Code uses Vite+ so you'll need to install the global vp command-line tool. macOS / Linux curl -fsSL https://vite.plus | bash Windows irm https://vite.plus/ps1 | iex Checkout their getting started guide for more information: https://viteplus.dev/guide/ Install dependencies vp i Read CONTRIBUTING.md before reporting a bug or opening a PR. Have a feature request? Start an Ideas discussion. Need support? Join the Discord.

no score查看详情
Scout·清单github.com

Panniantong/Agent-Reach

Give your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.👁️ Agent Reach 给你的 AI Agent 一键装上互联网能力 当下最稳的接入方式,替你选好、装好、体检好——接入方式会换代,你不用操心 快速开始 · English · 日本語 · 한국어 · 支持平台 · 设计理念 ❤️赞助商 想出现在这里? 点击折叠 BrowserAct 支持从 Amazon、LinkedIn、X、Google Maps 等复杂网站提取你需要的任意数据。你只需用自然语言描述抓取需求,Agent 就会基于真实浏览器自动探索并测试页面流程,生成可靠、可复用的数据采集 Bot,并返回结构化结果。无需手动构建爬虫,无需编写代码。BrowserAct 内置隐身浏览、验证码处理和高质量住宅代理,帮助你更稳定地完成复杂网页数据采集。新用户注册即送 1000 积分,立即免费试用。 在腾讯云 Lighthouse 秒级部署 OpenClaw 全能助手,可通过对话丝滑接入 Agent Reach,给你的 OpenClaw 一键装上互联网能力。 CoreClaw | 网页抓取平台与现成数据采集工具,CoreClaw 提供 100+ 现成数据采集工具,支持 Amazon、TikTok、Google Maps、Instagram、Facebook、YouTube 等平台,无需代码,支持 JSON/CSV 导出,仅对成功结果计费。免费$3测试! 优刻得星图astraflow大模型,支持200+模型一键调用:内置 Kimi K3、DeepSeek V4/V3、Qwen 3、GLM5.2、happyhorse等全球领先开源大模型,无需自训,开箱即用 为什么需要 Agent Reach? AI Agent 已经能帮你写代码、改文档、管项目——但你让它去网上找点东西,它就抓瞎了: 📺 "帮我看看这个 YouTube 教程讲了什么" → 看不了,拿不到字幕 🐦 "帮我搜一下推特上大家怎么评价这个产品" → 搜不了,Twitter API 要付费 📖 "去 Reddit 上看看有没有人遇到过同样的 bug" → 403 被封,服务器 IP 被拒 📕 "帮我看看小红书上这个品的口碑" → 打不开,必须登录才能看 📺 "B站上有个技术视频,帮我总结一下" → 拿不到,通用下载工具被 B站风控全面拦截 🔍 "帮我在网上搜一下最新的 LLM 框架对比" → 没有好用的搜索,要么付费要么质量差 🌐 "帮我看看这个网页写了啥" → 抓回来一堆 HTML 标签,根本没法读 📦 "这个 GitHub 仓库是干嘛的?Issue 里说了什么?" → 能用,但认证配置很麻烦 📡 "帮我订阅这几个 RSS 源,有更新告诉我" → 要自己装库写代码 这些不难实现,但是需要自己折腾配置 每个平台都有自己的门槛——要付费的 API、要绕过的封锁、要登录的账号、要清洗的数据。你要一个一个去踩坑、装工具、调配置,光是让 Agent 能读个推特就得折腾半天。 Agent Reach 把这件事变成一句话: 帮我安装 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md 复制给你的 Agent,几分钟后它就能读推特、搜 Reddit、看 YouTube、刷小红书了。 已经装过了?更新也是一句话: 帮我更新 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/update.md ⭐ Star 这个项目,我们会持续追踪各平台的变化、接入新的渠道。你不用自己盯——平台封了我们修,有新渠道我们加。 ✅ 在你用之前,你可能想知道 💰 完全免费 所有工具开源、所有 API 免费。唯一可能花钱的是服务器代理($1/月),本地电脑不需要 🔒 隐私安全 Cookie 只存在你本地,不上传不外传。代码完全开源,随时可审查 🔄 持续换代 每个平台都是「首选 + 备选」多后端路由。某个接入方式失效了,我们换下一个,你无感(2026-06 实例:yt-dlp 被 B站风控封死 → 已切换 bili-cli,用户零操作) 🤖 兼容所有 Agent Claude Code、OpenClaw、Cursor、Windsurf……任何能跑命令行的 Agent 都能用 🩺 自带诊断 agent-reach doctor 一条命令告诉你哪个通、哪个不通、怎么修 支持的平台 平台 装好即用 配置后解锁 怎么配 🌐 网页 阅读任意网页 — 无需配置 📺 YouTube 字幕提取 + 视频搜索 — 无需配置 📡 RSS 阅读任意 RSS/Atom 源 — 无需配置 🔍 全网搜索 — 全网语义搜索 自动配置(MCP 接入,免费无需 Key) 📦 GitHub 读公开仓库 + 搜索 私有仓库、提 Issue/PR、Fork 告诉 Agent「帮我登录 GitHub」 🐦 Twitter/X 读单条推文 搜索推文、浏览时间线、读长文 告诉 Agent「帮我配 Twitter」 📺 B站 搜索 + 视频详情(bili-cli,无需登录) 字幕(OpenCLI) 告诉 Agent「帮我配 B站」 📖 Reddit —(没有零配置路径:匿名接口已被封) 搜索 + 读帖子和评论 桌面装 OpenCLI 用浏览器登录态;或 rdt-cli + Cookie 📘 Facebook — 搜索、主页、Feed、群组列表 桌面装 OpenCLI(复用 Chrome 登录态) 📷 Instagram — 用户搜索、Profile、用户最近帖子、Explore 桌面装 OpenCLI(复用 Chrome 登录态) 📕 小红书 — 搜索、阅读、评论 OpenCLI 只用用户已有 Chrome 会话;MCP/存量工具用 Cookie-Editor 💼 LinkedIn Jina Reader 读公开页面 Profile 详情、公司页面、职位搜索 告诉 Agent「帮我配 LinkedIn」 🎯 Boss直聘 CDP 链路体检 搜索岗位 + JD 全文(专用真 Chrome) 告诉 Agent「帮我配 Boss直聘」;Agent 打开专用 Chrome,你手动登录 💻 V2EX 热门帖子、节点帖子、帖子详情+回复、用户信息 — 无需配置 📈 雪球 股票行情、搜索股票、热门帖子、热门股票排行 — 告诉 Agent「帮我配雪球」 🎙️ 小宇宙播客 — 播客音频转文字(Whisper 转录,免费 Key) 告诉 Agent「帮我配小宇宙播客」 不知道怎么配?不用查文档。 直接告诉 Agent「帮我配 XXX」,它知道需要什么、会一步一步引导你。 🍪 Twitter 只接受用户通过 Cookie-Editor 手工导出的内容。Agent Reach 不替用户执行小红书登录,也不读取小红书浏览器 Cookie;OpenCLI 只使用用户已经存在且明确控制的 Chrome 会话。agent-reach configure xhs-cookies 不会把 Cookie 注入 OpenCLI / Chrome;没有现成会话时,改用 Cookie-Editor 导出后配置 xiaohongshu-mcp / 存量工具。 Twitter Cookie 保存后仅供 agent-reach doctor 检查配置是否齐全;直接运行上游 twitter 命令前,仍需在当前进程环境中显式设置 TWITTER_AUTH_TOKEN 和 TWITTER_CT0。 🔒 Cookie 只存在你本地,不上传不外传。代码完全开源,随时可审查。 💻 本地电脑不需要代理。代理只有部署在服务器上才需要(~$1/月)。 快速上手 ⚠️ OpenClaw 用户请先确认 exec 权限已开启 Agent Reach 依赖 Agent 执行 shell 命令(pip install、mcporter、twitter 等)。如果你的 OpenClaw 使用了默认的 messaging 工具配置,Agent 将无法执行命令。安装前请先开启 exec 权限: openclaw config set tools.profile "coding" 或在 ~/.openclaw/openclaw.json 中设置 "tools": { "profile": "coding" }。 设置后重启 Gateway(openclaw gateway restart)并开启新对话即可。其他平台(Claude Code、Cursor、Windsurf 等)不受此限制。 复制这句话给你的 AI Agent(Claude Code、OpenClaw、Cursor 等): 帮我安装 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md 就这一步。Agent 会自己完成剩下的所有事情。 🔄 已安装过? 更新也是一句话: 帮我更新 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/update.md 🛡️ 默认安全: agent-reach install 默认只检查环境,不会自动装系统包或写入配置: 帮我安全检查并安装 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md 只有在你明确允许修改系统后,才使用 agent-reach install --system。 它会做什么?(点击展开) 安装 CLI 工具 — 从本仓库安装 agent-reach 命令行(自带 yt-dlp、feedparser;不要从 PyPI 安装同名包,它不是本项目) 检查系统基建 — 检查 Node.js、gh CLI、mcporter,并给出缺失项的安装方式 按授权安装与配置 — 仅在显式传入 --system 时安装依赖并通过 MCP 接入 Exa 检测环境 — 判断是本地电脑还是服务器,给出对应的配置建议 按授权注册 SKILL.md — 仅在显式 --system 时写入 Agent 的 skills 目录;默认检查不改文件 问你要不要更多 — 默认只激活 6 个零配置渠道;小红书、Twitter、Reddit、Facebook、Instagram 这些需要登录态的,Agent 会列菜单问你要哪些,点名才装 安装完之后,agent-reach doctor 一条命令告诉你每个渠道的状态、当前走哪条路。 装好就能用 不需要任何配置,告诉 Agent 就行: "帮我看看这个链接" → curl https://r.jina.ai/URL 读任意网页 "这个 GitHub 仓库是做什么的" → gh repo view owner/repo "这个 YouTube 视频讲了什么" → yt-dlp 提取字幕 "B站搜一下 AI 教程" → bili search(无需登录) "全网搜一下 LLM 框架对比" → Exa 语义搜索 "订阅这个 RSS" → feedparser 解析 不需要记命令。 Agent 读了 SKILL.md 之后自己知道该调什么。需要登录的平台(小红书、Twitter、Reddit、Facebook、Instagram),告诉 Agent「帮我配 XXX」即可解锁。 设计理念 Agent Reach 是一个能力层(capability layer),不是又一个工具。 它比任何具体实现高一层——负责选型、安装、体检、路由,不负责底层读取本身。读取由 Agent 直接调用上游工具完成,没有包装层。 你给一个新 Agent 装环境的时候,总要花时间去找工具、装依赖、调配置——Twitter 用什么读?Reddit 怎么登录?小红书的 CLI 停更了换什么?每次都要重新踩一遍。Agent Reach 做的事情很简单:当下最稳的接入方式,我们替你选好、装好、体检好。接入方式会换代(2026 年 3 月一批单平台 CLI 集体停更,我们换了路由),你不用操心。 🔌 每个平台 = 首选 + 备选的有序后端列表 换接入方式 = 调整列表顺序,不是重写代码。agent-reach doctor 会告诉你每个平台当前在用哪个后端。 channels/ ├── web.py → Jina Reader ├── twitter.py → twitter-cli ▸ OpenCLI ▸ bird ├── youtube.py → yt-dlp ├── github.py → gh CLI ├── bilibili.py → bili-cli ▸ OpenCLI ▸ 搜索 API(yt-dlp 已被 B站风控封死,退役) ├── reddit.py → OpenCLI ▸ rdt-cli(无零配置路径,必须登录态) ├── facebook.py → OpenCLI(桌面浏览器登录态) ├── instagram.py → OpenCLI(桌面浏览器登录态) ├── xiaohongshu.py → OpenCLI ▸ xiaohongshu-mcp ▸ xhs-cli ├── linkedin.py → mcp-server-linkedin ▸ Jina Reader ├── rss.py → feedparser ├── exa_search.py → Exa via mcporter └── __init__.py → 渠道注册(doctor 检测用) 每个渠道文件按序真实探测各候选后端(不只是看命令存不存在),第一个完整可用的当选;坏掉的会给出修复处方。实际的读取和搜索由 Agent 直接调用上游工具完成。 当前选型 场景 首选 备选 为什么这么选 读网页 Jina Reader — 免费,不需要 API Key 读推特 twitter-cli OpenCLI 实测搜索稳定;OpenCLI 走浏览器登录态兜底 Reddit OpenCLI(桌面) rdt-cli 匿名接口已被封、官方 API 审批制——只剩登录态路线 Facebook OpenCLI(桌面) — Graph API/Groups API 权限收紧;浏览器登录态是当前最实用路径 Instagram OpenCLI(桌面) 官方 Graph API(Business/Creator + 审批) instaloader 类路径不稳定;OpenCLI 复用真实浏览器会话 YouTube 字幕 + 搜索 yt-dlp — 154K Star,YouTube 仍是最佳(注意:不再用于 B站) B站 bili-cli OpenCLI ▸ 搜索 API yt-dlp 被 B站风控 412 封死(2026-06 实测),bili-cli 无登录可搜可读 搜全网 Exa via mcporter — AI 语义搜索,MCP 接入免 Key GitHub gh CLI — 官方工具,认证后完整 API 能力 读 RSS feedparser — Python 生态标准选择 小红书 OpenCLI(桌面) xiaohongshu-mcp(服务器)▸ xhs-cli OpenCLI 只用用户已有会话;其余后端用 Cookie-Editor 手工导出 LinkedIn mcp-server-linkedin Jina Reader MCP 服务,浏览器自动化 📌 这些都是「当前选型」,基于真机实测定期复核。某条路失效了我们换下一条——agent-reach doctor 永远告诉你现在走的是哪条。 安全性 Agent Reach 在设计上重视安全: 措施 说明 🔒 凭据本地存储 Cookie、Token 只存在你本机 ~/.agent-reach/config.yaml,文件权限 600(仅所有者可读写),不上传不外传 🛡️ 默认安全 agent-reach install 默认不修改系统;只有显式 --system 才安装外部工具和写入配置 👀 完全开源 代码透明,随时可审查。所有依赖工具也是开源项目 🔍 Dry Run agent-reach install --dry-run 预览所有操作,不做任何改动 🧩 可插拔架构 不信任某个组件?换掉对应的 channel 文件即可,不影响其他 🍪 Cookie 安全建议 ⚠️ 封号风险提醒: 使用 Cookie 登录的平台(Twitter、小红书等),通过脚本/API 调用存在被平台检测并封号的风险。请务必使用专用小号,不要用你的主账号。 需要 Cookie 或登录态的平台(Twitter、小红书、Reddit、Facebook、Instagram 等)建议使用专用小号,不要用主账号。原因有二: 封号风险 — 平台可能检测到非正常浏览器的 API 调用行为,导致账号被限制或封禁 安全风险 — Cookie 等同于完整登录权限,用小号可以在凭据泄露时限制影响范围 📦 安装方式 方式 命令 适合场景 默认安全检查 agent-reach install --env=auto 所有环境;只读检查并列出缺失项 显式安装系统依赖 agent-reach install --env=auto --system 你明确允许修改当前机器时 兼容安全参数 agent-reach install --env=auto --safe 与默认行为相同 仅预览 agent-reach install --env=auto --dry-run 先看看会做什么 🗑️ 卸载 agent-reach uninstall 会清除:~/.agent-reach/(含所有 token/cookie)、各 Agent 的 skill 文件、mcporter 中的 MCP 配置。 # 只预览,不实际删除 agent-reach uninstall --dry-run # 只删 skill 文件,保留 token 配置(重装时用) agent-reach uninstall --keep-config 卸载 Python 包本身:pip uninstall agent-reach ⭐ 为什么值得 Star 这个项目我自己每天在用,所以我会一直维护它。 有新需求或者大家提了想要的渠道,我会陆续加上 每个渠道我会尽量保证能用、好用、免费 平台改了反爬或者 API 变了,我会想办法解决 为 Web 4.0 基建贡献一份自己的力量。 Star 一下,下次需要的时候能找到。⭐ 致谢 OpenCLI · twitter-cli · rdt-cli · xiaohongshu-mcp · xhs-cli · bili-cli · yt-dlp · Jina Reader · Exa · mcporter · feedparser · mcp-server-linkedin 联系 📧 Email: pnt01@foxmail.com 🐦 Twitter/X: @Neo_Reidlab 业务合作 / Agent 落地 我正在承接 Agent 相关的定制与落地合作。 如果你在企业生产、运营、市场、投研、数据处理、内容处理或其他业务流程里,有希望用 Agent 自动化的环节,欢迎加我微信交流。 不需要你已经想清楚方案。只要你有真实流程、真实问题或真实需求,我可以一起判断 Agent 能不能解决、怎么做。 加好友请备注:业务 + 你想让 Agent 帮你做什么 Builder 也欢迎备注:Builder + 你在做什么 只是想进交流群,备注:加群 Bug 反馈和功能请求请用 GitHub Issues,更容易跟踪。 License MIT 友情链接 Agent Skills Hub — 找 Claude 技能和 MCP 服务器,不用猜哪个安全:133,000+ 个条目全部安全分级、质量评分,每 8 小时刷新。 AtomGit 镜像 — Agent Reach 的 AtomGit 同步镜像,便于国内访问与克隆。 Star History

no score查看详情
Scout·清单github.com

caddyserver/caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPShttps://caddyserver.com a project Every site on HTTPS Caddy is an extensible server platform that uses TLS by default. Releases · Documentation · Get Help &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Powered by Special thanks to: Warp, built for coding with multiple AI agents Available for MacOS, Linux, & Windows Menu Features Install Build from source For development With version information and/or plugins Quick start Overview Full documentation Getting help About Features Easy configuration with the Caddyfile Powerful configuration with its native JSON config Dynamic configuration with the JSON API Config adapters if you don't like JSON Automatic HTTPS by default ZeroSSL and Let's Encrypt for public names Fully-managed local CA for internal names & IPs Can coordinate with other Caddy instances in a cluster Multi-issuer fallback Encrypted ClientHello (ECH) support Stays up when other servers go down due to TLS/OCSP/certificate-related issues Production-ready after serving trillions of requests and managing millions of TLS certificates Scales to hundreds of thousands of sites as proven in production HTTP/1.1, HTTP/2, and HTTP/3 all supported by default Highly extensible modular architecture lets Caddy do anything without bloat Runs anywhere with no external dependencies (not even libc) Written in Go, a language with higher memory safety guarantees than other servers Actually fun to use So much more to discover Install The simplest, cross-platform way to get started is to download Caddy from GitHub Releases and place the executable file in your PATH. See our online documentation for other install instructions. Build from source Requirements: Go 1.26.0 or newer For development Note: These steps will not embed proper version information. For that, please follow the instructions in the next section. $ git clone "https://github.com/caddyserver/caddy.git" $ cd caddy/cmd/caddy/ $ go build When you run Caddy, it may try to bind to low ports unless otherwise specified in your config. If your OS requires elevated privileges for this, you will need to give your new binary permission to do so. On Linux, this can be done easily with: sudo setcap cap_net_bind_service=+ep ./caddy If you prefer to use go run which only creates temporary binaries, you can still do this with the included setcap.sh like so: $ go run -exec ./setcap.sh main.go If you don't want to type your password for setcap, use sudo visudo to edit your sudoers file and allow your user account to run that command without a password, for example: username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap replacing username with your actual username. Please be careful and only do this if you know what you are doing! We are only qualified to document how to use Caddy, not Go tooling or your computer, and we are providing these instructions for convenience only; please learn how to use your own computer at your own risk and make any needful adjustments. Then you can run the tests in all modules or a specific one: $ go test ./... $ go test ./modules/caddyhttp/tracing/ With version information and/or plugins Using our builder tool, xcaddy... $ xcaddy build ...the following steps are automated: Create a new folder: mkdir caddy Change into it: cd caddy Copy Caddy's main.go into the empty folder. Add imports for any custom plugins you want to add. Initialize a Go module: go mod init caddy (Optional) Pin Caddy version: go get github.com/caddyserver/caddy/v2@version replacing version with a git tag, commit, or branch name. (Optional) Add plugins by adding their import: _ "import/path/here" Compile: go build -tags=nobadger,nomysql,nopgx Quick start The Caddy website has documentation that includes tutorials, quick-start guides, reference, and more. We recommend that all users -- regardless of experience level -- do our Getting Started guide to become familiar with using Caddy. If you've only got a minute, the website has several quick-start tutorials to choose from! However, after finishing a quick-start tutorial, please read more documentation to understand how the software works. 🙂 Overview Caddy is most often used as an HTTPS server, but it is suitable for any long-running Go program. First and foremost, it is a platform to run Go applications. Caddy "apps" are just Go programs that are implemented as Caddy modules. Two apps -- tls and http -- ship standard with Caddy. Caddy apps instantly benefit from automated documentation, graceful on-line config changes via API, and unification with other Caddy apps. Although JSON is Caddy's native config language, Caddy can accept input from config adapters which can essentially convert any config format of your choice into JSON: Caddyfile, JSON 5, YAML, TOML, NGINX config, and more. The primary way to configure Caddy is through its API, but if you prefer config files, the command-line interface supports those too. Caddy exposes an unprecedented level of control compared to any web server in existence. In Caddy, you are usually setting the actual values of the initialized types in memory that power everything from your HTTP handlers and TLS handshakes to your storage medium. Caddy is also ridiculously extensible, with a powerful plugin system that makes vast improvements over other web servers. To wield the power of this design, you need to know how the config document is structured. Please see our documentation site for details about Caddy's config structure. Nearly all of Caddy's configuration is contained in a single config document, rather than being scattered across CLI flags and env variables and a configuration file as with other web servers. This makes managing your server config more straightforward and reduces hidden variables/factors. Full documentation Our website has complete documentation: https://caddyserver.com/docs/ The docs are also open source. You can contribute to them here: https://github.com/caddyserver/website Getting help We advise companies using Caddy to secure a support contract through Ardan Labs before help is needed. A sponsorship goes a long way! We can offer private help to sponsors. If Caddy is benefitting your company, please consider a sponsorship. This not only helps fund full-time work to ensure the longevity of the project, it provides your company the resources, support, and discounts you need; along with being a great look for your company to your customers and potential customers! Individuals can exchange help for free on our community forum at https://caddy.community. Remember that people give help out of their spare time and good will. The best way to get help is to give it first! Please use our issue tracker only for bug reports and feature requests, i.e. actionable development items (support questions will usually be referred to the forums). About Matthew Holt began developing Caddy in 2014 while studying computer science at Brigham Young University. (The name "Caddy" was chosen because this software helps with the tedious, mundane tasks of serving the Web, and is also a single place for multiple things to be organized together.) It soon became the first web server to use HTTPS automatically and by default, and now has hundreds of contributors and has served trillions of HTTPS requests. The name "Caddy" is trademarked. The name of the software is "Caddy", not "Caddy Server" or "CaddyServer". Please call it "Caddy" or, if you wish to clarify, "the Caddy web server". Caddy is a registered trademark of Stack Holdings GmbH. Project on X: @caddyserver Author on X: @mholt6 Caddy is a project of ZeroSSL, an HID Global company. Debian package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.

no score查看详情
Scout·清单github.com

cloudflare/cloudflare-os

Agent workspace built on Cloudflare Workers for creating documents, building apps, and running agents with your company’s context and systems.https://os.cloudflare.appCloudflare OS: An AI productivity environment Cloudflare OS is an "operating system" for AI productivity originally developed for use inside Cloudflare. A large portion of Cloudflare's workforce -- from engineering to sales and everything in between -- uses Cloudflare OS every day to help them do their jobs. This is not a traditional computer operating system. We use the term "operating system" in two senses: An operating system for the company to be productive with AI, in a way that is safe, so that the security team can sleep at night. An operating system for AI workloads, analogous to the sense in which a traditional operating system manages compute workloads. Cloudflare OS provides three things in particular: An agent chat UI where you can ask agents to do tasks, preloaded with knowledge about how your company operates. Sandboxed application development, so that you can ask agents to build "gadgets" (small personal apps) and safely share what you've built with others. A security framework, called Gatekeepers, that applies guardrails to both agents and apps such that non-technical users can safely "go nuts" and nothing bad will happen. We are making Cloudflare OS open source so that others can copy it and customize it for their own company. The idea is not that your company uses Cloudflare OS, but rather that you make it "Your Company OS". Quick Start To quickly run Cloudflare OS locally, install pnpm, then do: pnpm run-local Then visit: http://localhost:8787 This runs the whole stack locally on wrangler and workerd. This is not meant for production use, but is a quick way to see what the product does. Alternatively, you can deploy to your Cloudflare account. (More options at the end of this readme.) What to try Try prompts like: "Make slides for my upcoming meeting with a customer." (This will use the built-in slides blueprint.) "Make a collaborative whiteboard app." (This will create a new app from scratch.) "Make a tic tac toe game." followed by "I'll be X and you be O. I've made my first move. Your turn." "Make an issue dashboard for this GitHub repo." (Attach a repo; requires that the GitHub integration is configured.) "Fix the typos in this Google Doc." (Attach a doc; requires that the Google integration is configured.) WARNING: Early access Cloudflare OS is in a state of heavy development. This repository is actually version 2, a complete rewrite taking what we learned from version 1 and putting it on a new foundation. As of the August 2026 release, Cloudflare OS v2 is very capable, but still has many rough edges. We know, and we're working on it. For now, consider this an "early access" release. Overview: What is Cloudflare OS really? Gadgets: A new way of thinking about software Cloudflare OS is more than just another chatbox with connectors. The system revolves around a new approach to software, where every user runs their own copy of the productivity apps they use. When you create a slide deck in Cloudflare OS, you are not calling out to some SaaS software running in the cloud. The system creates a private instance of the slide deck software just for you. We call this a "gadget". This instance runs in a separate sandbox from everyone else's slide decks. This has two profound effects: It's impossible for the slide deck app to have a security bug that leaks your slides to an attacker. The Cloudflare OS sandbox controls all access to your private instance of the app. If you want, you can freely modify the code. If the slide deck app is missing a feature you need, you can just ask your agent to add it. And because of point 1, it's totally safe to do so. This is a big departure from the last 25 years of cloud architecture and "Software as a Service", but we think AI has changed the equation. When any user is capable of prompting an agent to add the features they need, the centralized model of software stops making sense. Gatekeepers: A capability-based security layer Gatekeepers are like supercharged MCP servers. When you introduce an agent or Gadget to an external resource, a Gatekeeper is created to manage that access. The Gatekeeper is a piece of software specific to each external service which moderates a Gadget's connection to that service. It: Provides a clean Cap'n Web API to the service (wrapping whatever API the service provides natively). Handles authorization (e.g. via OAuth). Enforces narrow access to only the specific resource the user intended. Logs every action the Gadget (or agent) performs, for your review. For any action which has side effects, provides the human user an opportunity to approve or deny the action ("human in the loop"). On the last point, Gatekeepers implement a significant advancement in the state of the art. Traditionally, human-in-the-loop setups require the human to approve actions synchronously. When the agent wants to do something, it has to stop and wait for said approval before it can continue. This is annoying: you give your agent a task, then walk away and get a coffee, only to come back and find the agent got stuck on an approval on the first step and has made no progress. As a result, people often give in and set their agents to "auto-approve", or --dangerously-skip-permissions, which is, obviously, unsafe. Gatekeepers provide a better way: When the agent (or Gadget) performs an action that requires approval, the Gatekeeper will simulate the outcome locally, allowing the agent to proceed and queue up more actions. The Gatekeeper tells the agent that the action completed, and if the agent tries to read back the results, the Gatekeeper gives it simulated results. Once the agent is done, the user may approve or reject the actions in bulk, or one-by-one, but either way, they can do it later, when it is convenient. Logistically, each Gatekeeper is implemented as a separate Worker. In the future, we envision Gatekeeper services being deployed and maintained independently from OS instances, but the details have yet to be worked out. For now, we have provided a few interesting Gatekeepers in this repository which you can deploy together with your own OS instance. Think of an office suite The basic user experience of Cloudflare OS is something like an online office suite, like Google Docs or MS Office. But, imagine that instead of a fixed set of file types (document, spreadsheet, slide deck), each file -- or "Gadget" -- is potentially its own custom application, written by AI to serve exactly your needs. Just like office docs, each gadget is private by default, but can be shared -- securely -- in order to collaborate with your team or your friends. Just like office docs, you can have thousands of them. You can create them on a whim. Just like office docs, you can start from "templates" -- called "Blueprints". But where an office template is just some content, a Blueprint specifies a whole application. Like office docs, you can create new templates (blueprints) from your own docs (Gadgets) and share them with others. But when you do so, you are sharing the code for a whole app. It kind of is an Operating System The OS terminology isn't entirely marketing. Cloudflare OS is actually analogous to an operating system on a technical level. Normal OS Cloudflare OS kernel packages/workshop-backend device drivers packages/gatekeeper-* shell packages/workshop-frontend processes gadgets executables blueprints users users ACLs shared permissions ??? agents Our "kernel" is in the workshop-backend package. The backend legitimately does a lot of things similar to real OS kernels: it connects users to programs and devices (Gadgets and Gatekeepers, as we call them) while implementing security by sandboxing applications and enforcing access control. In this analogy, Gatekeepers -- which connect users and agents to external services -- are like drivers -- which connect users and programs to external devices. There is one thing that traditional OSes don't really manage today, but Cloudflare OS does: AI agents. If you think about it, this is really a missing feature in traditional OSes. We believe that AI agents cannot simply be treated as users. They must be accountable to a human user, while at the same time having their own restricted permissions. Agents do work by writing snippets of code and executing them on the fly. The ideal security model for all of this is capability-based security, not access control lists. See what I mean? Perhaps traditional OSes ought to give AI agents special treatment, too. Built on Workers, by the Workers team Cloudflare OS is built on Cloudflare Workers, making heavy use of Durable Objects, Dynamic Workers, and Facets in particular. Every workspace is its own Durable Object, every Gadget runs in a Dynamic Worker Facet, and Gatekeepers also install facets into each workspace to manage access to remote services. Cloudflare OS is, in fact, built by the very people who built Workers itself. It uses cutting-edge features of the Workers Runtime -- in fact, Dynamic Workers, Facets, and several other features were added to the runtime specifically to support Cloudflare OS, with more to come. Studying the Cloudflare OS source code is a great way to understand how the Workers Runtime team thinks Workers should be used. Being built on Workers does not mean that Cloudflare OS can only run on Cloudflare. In fact, workerd, the Cloudflare Workers Runtime, is itself open source, and Cloudflare OS can run entirely on top of it on your own servers. Features General multi-purpose agent The Cloudflare OS coding agent is actually a fully multi-purpose agent that can perform arbitrary tasks; like other popular coding agents, you don't have to code with it. You can use it to build Gadgets, but you can also skip the Gadget and just have the agent perform tasks directly. The Cloudflare OS agent is a Code Mode agent -- it performs tasks by writing and immediately executing snippets of code. It can be connected to external resources using Gatekeepers (like MCP -- see below). Build apps with AI While you can code a Gadget by hand if you want, the expectation is that AI writes the code for you. Cloudflare OS features a built-in coding agent that will build whatever you ask it, test it for you, and debug errors. You can choose your LLM. Cloudflare OS works with many major AI model providers and self-hosted models, with more providers being added all the time. Because of the tightly-integrated and simplified nature of the platform, even when using the same underlying AI models, the Cloudflare OS coding agent often performs better and faster with fewer tokens than a general-purpose coding agent would. Collaborate with AI Every app built with Cloudflare OS automatically has an agent-friendly API. That means, after you've asked AI to build the app, you can also ask AI to collaborate with you inside the app. No need to build an MCP server nor integrate a custom agent loop. It's just there by default. This works because the client and server portions of a Gadget are required to communicate via Cap'n Web RPC. This is a win-win: Cap'n Web is extremely low-boilerplate, which makes it easy for agents to work with. You basically just define a method on your server, then call it from your client, as if it were a local call. Meanwhile, it means that the server necessarily exposes an easy-to-understand API which could be called directly by an agent. The AI Agent harness uses Code Mode for tool calling, making it trivial to expose the Gadget's API directly for the agent to invoke. Real-time Multiplayer You can share your Gadget just like you'd share a document in a typical online office suite. You can give specific users access, or create a share link that provides access to anyone who opens it. And just like those online office suites, you'll be able to see your collaborators' actions in real time. This works because every Gadget is backed by a Durable Object, Cloudflare's stateful serverless primitive which makes real-time multiplayer collaboration easy. It's so easy that the coding agent just implements it by default, without being asked. Blueprints: Share your code If you've created a Gadget that might be useful to others, but you don't want to share the Gadget itself, you can instead share a Blueprint, allowing other people to create their own copy of the Gadget. A Blueprint is essentially a copy of the code. It may sound simple, but Blueprints are a major change from cloud software tradition. Traditionally, if you create a web app that you want to share with other users, you host the app on your server, and the users connect to that. Blueprints are much more like mobile apps and traditional PC apps: every user runs their own copy of the software. In the age of AI, this change is critically important. On one hand, AI empowers an individual developer to build more than ever, but it is still difficult for an individual developer to maintain an online service; this eliminates the need. On the other hand -- and even more importantly -- allowing each user to run their own copy of the software empowers the user to change the software to meet their needs, using AI. No need to file a feature request, no need to beg the developer to prioritize it. The end user can solve their own problems. Sandboxed and secure by default Each Gadget runs in a secure sandbox that prevents it from talking to the internet at all without your explicit consent. In particular: The server runs in a Dynamic Worker which has had its access to the internet disabled. It can only communicate with specific external resources that you have explicitly designated, via Workers Bindings. The client code runs in a sandboxed iframe. This iframe can communicate with its server only via a Cap'n Web RPC session provided over postMessage() to the parent frame. The iframe is otherwise blocked from accessing the internet (to the maximum extent allowed by browsers, via Content-Security-Policy and iframe sandbox settings). Capability-based access control Each agent, and each Gadget, by default has access to nothing. Even if you've configured the Gadget Workshop with access to external accounts, agents and Gadgets do NOT automatically get to use them. Instead, you must introduce each agent (or Gadget) to any particular resources you want it to access. For instance, you may introduce a GitHub repository by pasting a link to it, or clicking "add resource" and selecting it via the UI. An agent can also request an introduction to a resource it thinks it needs, which you can then provide or deny. This differs from most agent harnesses, where MCP servers are configured upfront, making broad access to all your services ambiently available to the agent in every chat. Capability-based introductions keep each agent restricted to only the access it actually needs for the job at hand. Get Started Deploy to your Cloudflare account We've built an online flow that helps you deploy to your own Cloudflare account: https://os.cloudflare.app/deploy Or, for more sophisticated deployment, with your gatekeepers and potentially code changes, check out our deployment starter repo: https://github.com/cloudflare/cloudflare-os-starter Run locally To quickly run Cloudflare OS locally, install pnpm, then do: pnpm run-local Then visit: http://localhost:8787 This runs Cloudflare OS using wrangler, the Workers developer tooling CLI. This is not the right way to run the OS on a production server, but it works fine for trying it out on your local machine. Your data will be stored in a subdirectory named .wrangler. Deploy to your own server using workerd COMING SOON Cloudflare OS can run entirely on workerd, Cloudflare's open source runtime for Workers. In fact, the "run locally" instructions above use workerd under the hood. We are still working on documentation and tooling to help you smoothly deploy the OS on top of workerd on your own servers. If you are feeling adventurous, read the low-level documentation for workerd config (or point your agent at it) and have a go. Configuring external services Many Gatekeepers require configuration in order to be able to connect to third-party services, including obtaining OAuth client credentials for each service. Unfortunately, many service providers intentionally do not make this easy, since the intended audience for OAuth is developers. Each gatekeeper package contains instructions for how to set it up: GitHub API Google API Cloudflare API Supabase API Notion API Confluence API Email Workers Home Assistant Slack API Spotify ZoomInfo API Developing When developing, you'll want to run the front-end and back-end as two separate commands in two terminals: pnpm dev-server pnpm dev-client Then visit: http://localhost:3000 Contributing At this time, we are not seeking outside contribution. AI has made writing code easy. The hard part, today, is not writing the code, but reviewing it, making sure quality stays high, and keeping the product coherent. In that light, unfortunately, external code contributions are "donating" the easy part of the job, while creating more of the hard work. With that said, we are happy to accept small, trivially-verified PRs that fix a problem. However, we ask that you refrain from submitting low-value PRs (e.g. typo fixes) or PRs that are more than a dozen or so lines. Such PRs will be closed with a reference to this guideline. If you have a big idea you'd like us to consider, feel free to open a discussion about it. This policy may change in the future as the project matures. Until then, thank you for your understanding. Credits Cloudflare OS has far too many open source dependencies to list here. But, we'd like to highlight a few that do particularly heavy lifting: Pi (specifically, pi-agent-core), which made it easy to support every LLM provider with one API. CodeMirror provides our code editor UI and operational transform implementation for synchronizing real-time edits. isomorphic-git is used to implement the backing storage for Gadget code and integration with external git servers. Vite, which makes the development loop so pleasant.

no score查看详情

第 1 / 3 页·共 47 条