AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Simple IT tools, in the browser or over an API. No account, no key, just curl it.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Simple IT tools, in the browser, over an API or from an AI agent — at
tools.truvibe.dev.
Twenty-eight small utilities of the sort you otherwise keep a browser tab, a
half-remembered python3 -c and a dubious ad-funded website open for. Subnet
maths, timestamp conversion, hashes, SSH key inspection, cron explanations.
The point is that each one has several front doors onto the same function.
The plainest is curl:
Every URL is / / — /generate/password, /lookup/dns,
/inspect/cert — and a bare verb like /generate lists what is under it.查看完整 README ↗Simple IT tools, in the browser, over an API or from an AI agent — at tools.truvibe.dev.
Twenty-eight small utilities of the sort you otherwise keep a browser tab, a
half-remembered python3 -c and a dubious ad-funded website open for. Subnet
maths, timestamp conversion, hashes, SSH key inspection, cron explanations.
The point is that each one has several front doors onto the same function.
The plainest is curl:
$ curl tools.truvibe.dev/lookup/ip
203.0.113.42
$ curl 'tools.truvibe.dev/inspect/subnet?cidr=10.0.0.0/22'
Network 10.0.0.0/22
Netmask 255.255.252.0 (/22)
Wildcard 0.0.3.255
Broadcast 10.0.3.255
First usable 10.0.0.1
Last usable 10.0.3.254
Usable hosts 1,022
Total addresses 1,024
Type Private (RFC 1918)
$ curl 'tools.truvibe.dev/convert/permissions?mode=4755'
Octal 4755
Octal (short) 755
Symbolic rwsr-xr-x
ls -l -rwsr-xr-x
Owner 7 — read, write, execute
Group 5 — read, execute
Other 5 — read, execute
Special bits setuid
chmod chmod 755 <file>
Every URL is /<verb>/<tool> — /generate/password, /lookup/dns,
/inspect/cert — and a bare verb like /generate lists what is under it.
No account, no key, no JSON envelope you have to unwrap before you can use the answer. Plain text in, plain text out, rate limited per IP — the model icanhazip has been quietly proving for years.
The browser side is the same tools as a filterable card grid, grouped by category or by action. Open a card and it expands in place with two tabs: Browser for the interactive version, API for a ready-to-paste snippet in curl, Go, JavaScript, PowerShell, Python, Ruby or Rust.
And an agent can call them over MCP. Every tool except the IP echo is an MCP
tool at tools.truvibe.dev/mcp:
$ claude mcp add --transport http trutools https://tools.truvibe.dev/mcp
The MCP button on the site has the setup for other clients, and
docs/mcp.md has the details.
| Crypto | Networking | Data Format |
|---|---|---|
| Password Generator | Subnet Inspector | Base64 Encode / Decode |
| UUID Generator | Subnet Splitter | Bytes Converter |
| Token Generator | Subnet Planner | YAML / JSON Converter |
| Hash Generator | DNS Lookup | Duration Converter |
| JWT Decoder | Mail Check (SPF + DMARC) | Timestamp Converter |
| SSH Key Inspector | Bandwidth & Transfer Time | Beautify JSON |
| SSH Keypair Generator | What Is My IP | |
| Certificate Reader |
| Text | System |
|---|---|
| Case Converter | Disk Space Calculator |
| Lorem Ipsum | File Permissions |
| Text Tool | Systemd Unit Linter |
| Cron Explainer |
docs/tools.md covers what each one does and where the
interesting edges are. curl tools.truvibe.dev/api/v1 prints the same list with
every parameter, so the API documents itself.
Node 24+ and pnpm.
pnpm install
cp .env.example .env.local
pnpm dev # binds 0.0.0.0, so it is reachable on the LAN
Then http://localhost:3000. Without REDIS_URL the app falls back to an
in-process limiter and says so in the log — fine for local work, wrong for
anything shared, since it resets on restart and is per-replica. Point
REDIS_URL at any Redis you already have if you want the real path.
docker compose up -d is not part of this: docker-compose.yml is the
deployment stack, and running it builds the whole app image.
pnpm build && pnpm start # production build
pnpm lint
docs/tools.md | What each tool does, and the edges worth knowing |
docs/api.md | The API: formats, errors, rate limits, every endpoint |
docs/architecture.md | How the codebase fits together |
docs/self-hosting.md | Running your own copy |
CONTRIBUTING.md | Adding a tool, and the house style |
SECURITY.md | Reporting a vulnerability, and what the service does with your input |
Next.js 16 (App Router) · React 19 · Tailwind v4 · shadcn with
@glasscn on Base UI · Motion ·
ioredis.
One idea holds the whole thing up: a tool is a function, and every front door
calls it. lib/tools/impl/ holds the logic, the browser panel imports it
directly, and the route handler and the MCP server import the same thing. The
browser, curl and an agent cannot disagree about what a tool does, because
there is only one implementation to disagree with.
Most tools therefore run entirely in the page — nothing is sent anywhere.
Four cannot: the certificate reader needs node:crypto for X.509, DNS lookup
and mail check need a resolver, and the IP echo can only be answered by the
thing receiving the request. Those four call this same public API, so the page
shows byte-for-byte what a curl user sees.
SSH keypairs are generated in the browser with WebCrypto, so the private key
never crosses the network. See docs/architecture.md
for the rest.
MIT.