douglascorrea/syscall-agent — explained in plain English
Analysis updated 2026-05-18
Run a lightweight AI coding agent from a single compiled binary with no runtime dependency.
Use the interactive terminal UI to watch model responses and tool calls stream in live.
Give the agent persistent memory across sessions using a plain Markdown notes file.
Run the agent on Android through Termux with access to battery, Wi-Fi, and clipboard tools.
| douglascorrea/syscall-agent | monks103/tellono | adroxz1122/injected-host-enumeration | |
|---|---|---|---|
| Stars | 2 | 2 | 1 |
| Language | C | C | C |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 4/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a C11 compiler, make, and libcurl, plus an OpenRouter account for model access.
syscall-agent is a coding agent written in pure C that runs from a single compiled binary. It connects to OpenRouter, a service that routes requests to various AI language models, and uses a tool-calling loop to carry out tasks, reading and writing files, searching the web, running commands, doing DNS lookups, checking network connectivity, and watching for file changes. Rather than relying on a runtime or framework, it implements its capabilities using OS-level system calls directly: things like fork, execvp, mmap, rename, getaddrinfo, and non-blocking sockets. The agent keeps persistent notes in a plain Markdown file called MEMORY.md, with locking to prevent corruption when appending. File writes are done atomically using a temporary file that gets renamed into place. For reading large files, it uses mmap-backed range reads instead of loading entire files into memory. You can run it as a plain command-line tool by passing a question or task as an argument, or open an interactive terminal interface with the --tui flag. The TUI shows model responses as they stream in, supports real-time tool call display, and includes a live model picker that fetches the current list of models from OpenRouter. Subprocess tools that execute local commands are disabled by default and must be opted into explicitly via a flag. It runs on macOS, Linux, and Android through Termux, the terminal environment for Android. Android users get additional tools for reading battery status, Wi-Fi details, and clipboard content through Termux's device API. Dependencies are a C11 compiler, make, and libcurl. The full README is longer than what was provided.
A coding agent written in pure C, compiled to a single binary, that uses OpenRouter models and raw system calls to read files, run commands, and browse the web.
Mainly C. The stack also includes C, libcurl, OpenRouter.
License is not stated in the explanation.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.