DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻译准备中
cenno is a macOS runtime that lets AI agents ask the user questions through minimal floating surfaces and receive the answers as tool results
翻译准备中
正在加载完整 README。
查看完整 README ↗cenno is a macOS app that lets AI agents ask you questions through minimal floating panels — and get your answer back as structured data.
If you run MCP-capable agents (Claude Code, Claude Desktop, OpenClaw, Hermes, or any other agent that speaks the Model Context Protocol), cenno gives them a polite way to reach you: a small panel slides over whatever you're doing — without stealing your keyboard focus — you tap or type, and the agent receives {answer, via, elapsed_s} as the tool result. Every exchange is recorded locally, so your answers become your own queryable dataset.
Built for time-sensitive, low-friction interactions: mood check-ins, EMA questionnaires, quick decisions, reminders.
Fare un cenno — Italian: to give a small sign. To nod (mi ha fatto un cenno), to mention briefly (ha fatto un cenno al problema), to beckon silently (mi ha fatto cenno di entrare). That's the whole interaction model: agents make a small sign, you answer with one.
Download the latest DMG (signed & notarized, Apple Silicon, macOS 12+), drag cenno to Applications. Or via Homebrew:
brew install --cask glebis/tap/cenno
On first launch cenno lives in your menu bar, registers itself to launch at login (you can turn that off in the tray menu), and waits for prompts.
Requirements: Rust stable, Node 20+, Xcode Command Line Tools.
npm install
npx tauri build --no-bundle # unsigned dev binary → src-tauri/target/release/cenno
# Signed, installable .app + .dmg (your own Developer ID):
APPLE_SIGNING_IDENTITY="Developer ID Application: Your Name (TEAMID)" npx tauri build
Note for contributors: a plain cargo build binary loads the Vite dev server (port 1430) and shows a blank page unless npm run dev is running. CSP is only enforced in bundled builds — test security changes against npx tauri build output, never tauri dev.
brew install --cask glebis/tap/cenno
.mcp.json:{
"mcpServers": {
"cenno": {
"command": "/Applications/cenno.app/Contents/MacOS/cenno",
"args": ["--mcp-stdio"]
}
}
}
ask_user tool. Or try it from the shell:/Applications/cenno.app/Contents/MacOS/cenno ask "Ship it?" --timeout 30
A panel appears; your answer prints as JSON. cenno auto-launches if it isn't running.
Want your agent to ask well — pick the right input kind, sensible flows, graceful timeouts — and to wire cenno into a project itself? Install the ready-made cenno skill. It bundles ask_user usage, custom 1–N scales, etiquette, and a setup mode.
Install via npx skills:
npx skills add https://github.com/glebis/cenno/tree/main/skills/cenno
Or just ask your agent (install via prompt):
Install the cenno agent skill from https://github.com/glebis/cenno/tree/main/skills/cenno — copy it into my Claude skills directory.
Once installed it activates on its own whenever a task calls for asking the user, running a check-in, or setting cenno up.
0600 permissions) and exports as JSON/CSV.ask_user tool| Param | Type | Notes |
|---|---|---|
title | string | the question |
body_md | string | optional markdown body |
input.kind | text · voice_text · choice · scale · confirm · none | answer control |
choices | string[] | for choice |
flow | mood · question · ema · reminder · ambient | panel color theme |
progress | {step, total} | dot pagination for multi-step flows |
timeout_s | number | default 120 |
urgency | low · normal · high | how insistently the panel asks (and whether it speaks) |
say | string | short line spoken aloud instead of reading the panel |
muted | boolean | open silently regardless of urgency gating |
device_hint | phone · ipad · watch | a proposal — your ~/.cenno routing policy decides |
a2ui | array | optional rich layout (A2UI v0.9 messages, validated at the boundary; see docs/design/CONTROLS.md) |
Returns {answer, via, elapsed_s, muted}, or {answered: false, prompt_id} on timeout. muted is the panel's final voice state and may be absent on older frontends.
a2ui)For anything a title + a row of buttons cannot express, an agent can send an a2ui payload (A2UI v0.9, catalog cenno:catalog/v1) and get a composed panel instead. Beyond the standard text/row/column/button/field controls, cenno adds five:
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗