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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.