agentc Vibe 项目

不到 1MB 的极简可嵌入 C23 编程 Agent(MCP 原生支持)

agentc — 不到 1MB 的极简可嵌入 C23 编程 Agent

项目简介

agentc 是一个用 freestanding C23 编写的极简可扩展编程 Agent,仓库地址为 abird-ai/agentc。与主流编程 Agent 不同,它不依赖 libc、不带运行时、不需要解释器,编译产物是单一静态二进制。冷启动体积约 916 KiB(约为 codex 的 1/300、Claude Code 的 1/285),会话内存约 0.7 MB。它原生支持 MCP(Model Context Protocol)作为工具、提示词、资源的扩展点,并通过 include/agentc_ext.h 暴露版本化的 C ABI,让 C 与 Rust 扩展都能直接接入。

核心功能

  • 极致轻量:~916 KiB 静态二进制、~2-4 MB 会话内存(取决于上下文长度),冷启动 <1ms
  • 零 libc 依赖:直接做平台网络调用,自带 vendored mbedTLS,单文件即可运行
  • MCP 优先:通过 MCP 暴露 tools、prompts、resources,工具发现与调用标准一致
  • 双语言扩展:提供 C 与 Rust 扩展接口(include/agentc_ext.h),并附带 ext_harness 验证流水线
  • 跨平台:一份源码树产出 6 个目标——Linux x86-64 / aarch64 / riscv64、macOS arm64 / x86-64、Windows x86-64
  • 完整 TUI:自带 PTY 终端 UI、续接对话 --continue、在线 mock provider 测试
  • 可重现构建:Nix release matrix 在 Linux runner 上对每个 tag 构建并签名

技术实现

agentc 之所以能做到如此小的体积,关键在于它的运行时选择:项目刻意不引入解释器、不带 GC,从 main() 启动到第一帧 TUI 渲染只映射自己约 0.4 MB 的文本段、持有约 0.2 MB 的堆。相比之下,codex 启动后持有 85 MB、Claude Code 持有 188 MB、pi(基于 Node.js)持有 139 MB 的堆与共享内存——这些差距主要来自 runtime,而不是特性集。

网络栈方面,agentc 直接使用平台 socket API 而非 libc 包装,并 vendored 了 mbedTLS 以支持 TLS;这意味着 agentc 在嵌入式或裸金属环境下也能联网。MCP 集成通过 stdio 协议与 Python mock server 通信,make mcp.sh 已包含 round-trip 测试。Rust 扩展走 cdylib 动态库路径,与 C 扩展共用同一份 ABI 头文件,避免双协议并行维护。

快速上手

  1. 安装:curl -fsSL https://raw.githubusercontent.com/abird-ai/agentc/master/install.sh | sh(Windows 用 PowerShell 的 irm 版本),默认装到 ~/.local/bin
  2. 配置:agentc setup 选择 provider、写入凭据、挑选模型
  3. 使用:agentc "summarise this repository" 直接发起对话
  4. 自定义:make 编译、make check 跑离线测试、make bench 复现 README 中的性能数据
  5. 跨平台编译:make windows 在 Linux 上交叉编译 Windows exe(需 LLVM on PATH)
  6. 验证:make wine-check 在 Wine 下跑 Windows golden 测试套件

适用人群

  • 嵌入式 / 边缘计算开发者:希望在资源受限设备上跑编程 Agent
  • 编程 Agent 研究者:想对比 runtime 开销对 Agent 体验的实际影响
  • C / Rust 系统工程师:研究 MCP 在非 Node.js 运行时下的可行性
  • DevOps / SRE:希望 CLI 工具在裸 Linux 容器里能直接跑而不需要 Node 运行时

出品方与开源

仓库归属 abird-ai/agentc,遵循主分支更新。安装脚本会校验发布包的 SHA-256,AGENTC_VERSION=0.5.0 可锁定版本。

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论