Bilembi · Native AI agents

Your own AI,
always by your side.

With Bilembi, you design your agents — their behavior, their tools, their access — then take them everywhere with you.

// your agents · your tools · your models

The Bilembi app: Library screen — agents, models, API keys, Git credentials, RSS feeds
The Bilembi app: home screen — your agents and their faces, suggestions and pinned conversations
The Bilembi app analyzing Paris open bike data: donut chart, interactive map and a chart of the cycle network's growth

Capabilities

Far more than a chatbot.

A chatbot just replies; your agents act. Behavior, tools, model, access — it's all yours to shape, for agents that feel like you, because you built them.

Technologies

Your agents get things done.

Bilembi runs its agents on a custom agentic harness, written in Swift. Each one composes its capabilities on the fly — here's what that looks like.

Embedded QuickJS

Bilembi embeds QuickJS, a complete, lightweight and fast JavaScript engine, built into the app and isolated from everything else — a true sandbox. Your agent uses it to write scripts that take action: read and write files, clone a repository, browse the web, call APIs, create maps… everything you need to build advanced workflows.

// Fetch the latest earthquakes and drop them on a map
import { request } from '@native/http';
import * as maps from '@native/maps';
import { cite } from '@native/cite';
const url = 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_day.geojson';
const r = await request({ url, headers: { accept: 'application/geo+json' } });
const quakes = JSON.parse(r.body).features.slice(0, 8);
// Credit the source properly — Bilembi turns it into a real citation
cite({ title: 'USGS Earthquake Hazards Program', description: 'Real-time earthquake feed — public domain', url: 'https://earthquake.usgs.gov' });
const m = await maps.create({ style: 'standard' });
for (const f of quakes) await m.addPin({
  lat: f.geometry.coordinates[1], lon: f.geometry.coordinates[0],
  name: `M${f.properties.mag} — ${f.properties.place}`,
  caption: 'Earthquake fetched automatically from the open USGS feed', link: f.properties.url
});
export default await m.save();

Teamwork

Create specialized agents tailored to your needs, and let your agents call on one another as sub-agents.

Built into your iPhone

Bilembi integrates natively with iOS: your agent checks and creates your reminders and calendar events, and draws on your location — all without leaving the conversation.

An eye on the web, with WebKit

When plain HTTP requests aren't enough, call on WebKit to load real, dynamic web pages. Your agent can take screenshots of them and run JavaScript inside.

Rich content, rendered right in the conversation.

Markdown rendering with music and weather widgets, interactive maps, graphics, and more.

Symphony No. 5 Ludwig van Beethoven 7:08

Background tasks

Your agents and Bilembi finish their work in the background, even when you leave the app.

SKILLS.md, and scripts

Your agents ship with skills and reach for them naturally: when one creates another, it teaches it how to work — SKILLS.md for behavior, scripts for actions that demand determinism or repeat.


Security

Their only limit is yours.

With great power comes great responsibility. Exposed to untrusted content, an agent can see any outbound channel used to exfiltrate your private data, and any tool turned against you — the now-infamous lethal trifecta. Bilembi answers with four execution modes, each breaking that combination at a different point. You choose which, depending on the task.

Vault Untrusted content
Private data
Approval required Outbound channel
Approval required Sensitive tools
Autonomy
Capability
Responsibility

Vault

A web page, a file: any untrusted content goes straight there, and its raw text never reaches the model's context — exactly where booby-trapped instructions would hide. The agent reaches it only through safe, restricted queries: precise facts, extracted without ever exposing the original. The most dangerous effects of prompt injection become virtually impossible.

Need-to-know

You fine-tune the tools entrusted to each agent. Each one has only what its task strictly requires, nothing more — and stays compartmentalized. A Privacy section gives you the full picture: what each agent can access, at a glance.

Security by composition

Modes combine. An orchestrator in Shield can drive sub-agents in Scout: they roam freely, while it keeps untrusted content in the vault and surfaces only their answers — never exposing itself. The best of both worlds.


Independence

The models you choose.

No provider forced on you. A Codex account, OpenRouter, any OpenAI-compatible HTTPS server — or local models via llama.cpp. You decide where each model runs.


All the power you've built, finally in your pocket — and ready when it matters.