YoMo
A deployable framework for low-latency AI agents that invoke serverless functions.
- Source repo
- yomorun/yomo
- Stars
- ★ 1.9k
- Last updated
- 4d ago
- Primary language
- Rust
- FA score
- 24/100 · Major gaps
At a glance
- Works with
- Portable with changes
- You'll need
- Typical use
- A developer adding function-backed tasks such as weather lookup to a chat application.
- Main limitation
- The supplied material demonstrates only Ollama and
ornith; configuration for other models or providers is not shown. - Source review
- 24/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
YoMo is an open-source LLM function-calling framework for building scalable, fast AI agents. It provides a `yomo serve` server, `yomo init` project initialization, and `yomo run` for running tools. The server exposes `POST /v1/chat/completions` and the example uses Ollama with the `ornith` model. A running tool can also be invoked directly through `POST /tool/get-weather` with JSON input. The project presents TLS v1.3, serverless tool management, and geo-distributed deployment as product features.
The documented example first downloads a model with ollama pull ornith, then starts the server with yomo serve. yomo init initializes a tool project whose example instructs users to edit ./app/src/app.ts; yomo run -n get-weather ./app then runs the get-weather tool. A client sends a JSON body containing messages to http://127.0.0.1:9001/v1/chat/completions, or directly posts an escaped JSON string in args to http://127.0.0.1:9001/tool/get-weather.
- A developer adding function-backed tasks such as weather lookup to a chat application.
- An engineering team validating a tool-calling flow locally with an Ollama model.
- A backend developer whose internal HTTP client needs to send conversation requests to
/v1/chat/completions. - A team exposing a serverless
get-weatherfunction directly at/tool/get-weather. - An architect evaluating an approach that positions inference and tools nearer to end users geographically.
How do you install or deploy this agent?
Install the CLI with curl -fsSL https://get.yomo.run | sh, then verify it using yomo --version. Pull the example model with ollama pull ornith. For a source build, run cargo build --release and then ./target/release/yomo --help; this path requires Rust/Cargo. No API credential is required by the documented steps.
How do you use this agent?
Start the service with yomo serve; --config can specify a custom YAML configuration file. Run yomo init, edit ./app/src/app.ts, and start the tool with yomo run -n get-weather ./app. A first request can be made with: curl http://127.0.0.1:9001/v1/chat/completions -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"How is the weather in London?"}]}'.
What are this agent's strengths and limitations?
- It documents both a chat endpoint,
/v1/chat/completions, and a direct tool endpoint,/tool/get-weather, enabling separate testing of agent flow and individual tools. - The CLI covers server startup, tool initialization, and tool execution, with a local Ollama-based example.
- The project explicitly identifies TLS v1.3 and geo-distributed architecture as core features.
- The supplied material demonstrates only Ollama and
ornith; configuration for other models or providers is not shown. - The complete TypeScript dependency setup, build process, and production deployment workflow for a tool project are not documented here.
- The custom YAML schema, server authentication and authorization, and error-handling behavior are not described in the supplied material.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|
| YoMo This agent | 24 · Major gaps | ★ 1.9k | 4d ago | Rust | — |
| SGR Agent Core | 56 · Major gaps | ★ 1.1k | 7d ago | Python | OpenAI API |
| fx Coding Agent | 63 · Some gaps | ★ 3.1k | 4d ago | Zig | ChatGPT · Codex · OpenAI API |
| Osaurus | 80 · Good | ★ 8k | 4d ago | Swift | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: The repository does not provide explicit documentation on permission model, user confirmation mechanisms, data flow transparency, sensitive data handling, dependency security audits, external effect controls, rollback mechanisms, or source attribution. All trust-related criteria are unsupported, hence scored 0.
Evidence shows: The README and Cargo.toml descriptions are largely consistent, but there are typos (e.g., 'ornith' vs 'ornith'?) and version inconsistency (README does not mention version). Dependencies are listed in Cargo.toml, but no availability guarantees are provided. Failure messages are not documented. Therefore, self-consistency scored 1, dependency availability scored 1, failure messages scored 0.
Evidence shows: README clearly identifies target audience (AI Agent developers) and use cases (LLM Function Calling), but capability boundaries are not explicitly stated. Trigger precision is partially addressed with API examples, but detailed trigger conditions are missing. Environment fit is partially addressed with installation and run instructions, but system requirements are not specified. Therefore, audience and scenarios scored 2, capability boundaries scored 1, trigger precision scored 1, environment fit scored 1.
Evidence shows: README provides clear information architecture including features, quick start, documentation links. Install notes provide CLI installation and run steps. Naming stability is clear in Cargo.toml with name and version, but README does not mention version history. Examples and FAQ provide examples but no FAQ. Known limitations are not mentioned. License is Apache-2.0, stated in both Cargo.toml and README. Versioning and changelog are not provided. Maintenance responsibility is indicated by contribution guidelines and issue templates, but maintainers are not explicitly identified. Therefore, information architecture scored 2, install notes scored 2, naming stability scored 1, examples and FAQ scored 2, known limitations scored 0, license scored 2, versioning and changelog scored 1, maintenance responsibility scored 1.
Evidence shows: Output usability is partially addressed with API response example, but general output format is not specified. Marginal value is indicated by unique geo-distributed architecture, but no comparison with alternatives. Cost-benefit is not addressed with performance or cost data. Therefore, output usability scored 1, marginal value scored 1, cost-benefit scored 1.
Evidence shows: Claims in README (e.g., 'ultra-fast') are not supported by benchmarks or data. Cross-source corroboration is not provided. Fact-inference separation is not explicitly addressed. Therefore, claim traceability scored 1, cross-source corroboration scored 0, fact-inference separation scored 0.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- The repository does not provide a permission model or user confirmation mechanisms; assess security risks carefully before deployment.
- Performance claims in README (e.g., 'ultra-fast') lack benchmark support; treat as marketing language.
- Dependencies are not security-audited; check for known vulnerabilities before use.
FAQ
Do I need an API key for the example?
ornith model.Can a tool be invoked without the chat endpoint?
/tool/get-weather using an args JSON string.What is the documented default server address?
http://127.0.0.1:9001.