Generated Computers
Locals: an Apple Silicon engine that runs local LLMs up to 3x faster. A product of Generated Computers.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A sense of self for software. Reads an app's code once, turns it into one API and explains it to AI with evidence: for developers, AI agents, enterprises, SaaS teams, integrators and auditors. Local, open, no LLM inside.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Sezgi is Turkish for intuition: knowing without thinking.
A sense of self for software. Sezgi reads your application's code once, turns it into one API and explains it to AI with evidence, so your assistant understands your application and works in it safely.
Who it is for: developers · AI assistants and agents · enterprises · SaaS companies · agencies and integrators · security and audit teams. Overview page: atabaykut.github.io/Sezgi
Give any AI a token and it gets your application as ready MCP tools: only the operations you allow, nothing else. No API to write, no MCP server to build. How it works
When an assistant such as Claude, Cursor or Copilot needs to do something in your application, it scans the code from scratch every time and guesses: "Which endpoint creates a user, which fields are required, who is allowed to do it?" Sezgi reads the code once and builds a map of the application. The assistant stops scanning code and asks Sezgi instead; the answer is short and comes with its source.
Status: 0.1, experimental. Sezgi only reads by default and never writes to your application's code. Letting the assistant actually use the application (live mode) is opt-in and starts on a test copy. Writing to real data is experimental: it needs a key that an administrator sets up once and a password only the human knows, so an agent with shell access under the same account cannot open real data or approve a request without the password. It does not stop a program that learns the password or runs as administrator (SECURITY.md).
| Without Sezgi | With Sezgi | |
|---|---|---|
| Finding an operation | The assistant opens routes, controllers and services one by one for every question, and starts over in the next session | It asks Sezgi once and gets the operation, its address and its source file in a short answer |
| Inputs and rules | "Is quantity required? What is the limit?" is answered by guessing, and the call fails with a 400 | The rule is read from the code (for example a zod schema: quantity integer, 1 to 10) and shown with file and line |
| Who may do it | It does not see that one endpoint needs login, another needs admin, a third lets users touch only their own records | Login, roles (requireRole('admin')) and ownership checks (order.user_id !== req.user.id) are on the map |
| What it touches | "Delete user" looks like one row; it does not know the user's orders go with it | The tables each operation reads and writes, including cascades found in the schema (users → orders, ON DELETE CASCADE) |
| Outside effects | It calls "refund" without knowing it charges a real payment provider or sends an e-mail | Outgoing HTTP calls, e-mail, payment, queues and cloud services are listed per operation |
| Can it be undone? | Nobody says | Yes, partly, no or unknown, with the reason; irreversible operations always wait for a human |
| When it does not know | It fills the gap and sounds sure | Every fact is stamped certain, observed, inferred or unknown; gaps are reported, never filled |
| Acting in the app | Either it cannot, or it gets a key that opens everything | Opt-in live mode: a test copy first, a token with only the operations you allow, approval for risky steps, an encrypted log |
| When the code changes | Hand-written docs and integrations go stale; a removed field breaks clients in production | sezgi watch re-reads only what changed; sezgi diff and the GitHub Action fail a pull request that removes an operation, adds a required input or a new login rule |
Take the small example shop in this repository and ask: "If I delete a user, what happens, and can it be undone?"
Without Sezgi, the assistant reads server.js, the route files, auth.js, db.js and schema.sql, and may still miss the cascade or the admin check.
With Sezgi, it asks once and gets an answer like this (shortened):
DELETE /api/users/:id· roleadmin(requireRole('admin')) · deletes fromusers; the user'sordersare deleted too (ON DELETE CASCADEinschema.sql) · hard delete, cannot be undone · in live mode it always waits for a human's approval.
Each part points to the file it was read from. In the same app Sezgi also finds, from code alone, that the refund calls api.payments.example.com and cannot be undone, and that the receipt goes out by e-mail through nodemailer.
Once connected, you can ask your assistant things like:
This is the core idea: no API to write, no MCP server to build. Sezgi turns the application itself into MCP tools, and a token decides what an AI may see and do.
sezgi init # map the code
sezgi token create --name "support bot" --izin "orders.*:yaz" # a token for exactly these operations; shown once
sezgi connect # add Sezgi to your AI tools, asking tool by tool
orders.*:yaz. A token that would open writes on everything needs explicit confirmation; a pattern that matches nothing is reported.--sure <days>) and can be listed and revoked (sezgi token list, sezgi token revoke <name>).sezgi mirror, the permissions tab lists every operation with what it does, who may do it and the tables it touches. Tick the ones you want and you get the token, the connection line and a preview of the exact tools the AI will see.sezgi connect sets up Claude Code, Cursor, VS Code, Gemini CLI, Codex, Claude Desktop and Windsurf, and sezgi remove restores their files byte for byte. For Claude Code the token goes in as claude mcp add sezgi -e SEZGI_TOKEN=szg_… -- ….sezgi serve gives a local HTTP bridge with an OpenAPI document of Sezgi's tools, usable by any model with function calling and by your own agents.sezgi switchboard puts many apps behind one MCP server, and finds which app calls which.Measured on an Immich test copy (6 write tasks, 2 runs each, one model): an agent given the token's operations as its own tools completed 12/12 at 3.8 turns and $0.20 per task; with only the generic search-describe-call tools, 11/12 at 6.3 turns (details).
To connect an application to AI today, an API is written, documented and wrapped in an MCP server, separately for every application. Most companies never did it. Sezgi is a layer that does this without writing code: it is applied on top of the application, turns it into one API, and leaves no trace when removed. The goal is to give software a sense of self: an AI that reads any software once, truly understands it, and works in it safely.
This goal is measured against 17 founding questions (what the app is, why it exists, who may do what, which tables and other systems an operation touches, whether it can be undone, which screen starts it…). Today's Sezgi answers 2 reliably and 14 partly on never-seen apps. The 20 parts of the self, the principles, going beyond the application, the roadmap and an honest status for each: docs/VISION.md.
Requires Node.js 20 or later.
npm install -g sezgi # or without installing: npx sezgi <command>
cd path/to/your/app
sezgi init # reads the code, writes the map to .sezgi/ (a few seconds on a large app)
sezgi connect # adds Sezgi to your AI tool; asks tool by tool, `sezgi remove` undoes it
That's it. Restart your assistant and ask about your application.
Optional:
sezgi mirror # in the browser: what Sezgi knows about this app, and what it does not
sezgi watch # keeps the map up to date as the code changes
sezgi doctor # if something is wrong, says what is missing and the command that fixes it
Every command also has a Turkish name, for example sezgi bagla (connect) and sezgi izle (watch).
npm picks the prebuilt program for your computer: Windows x64, macOS (Apple Silicon and Intel, macOS 11+), Linux x64 and arm64 (glibc 2.34+: Ubuntu 22.04+, Debian 12+, RHEL 9+). On Alpine / musl and other platforms, build from source (cargo build --release, Rust 1.99+).
For every operation (endpoint), Sezgi extracts:
Every fact carries a confidence stamp: certain (read directly from the code), observed (seen at run time), inferred or unknown. Sezgi does not fill gaps; it reports them. The map stays on your computer, in the application's .sezgi/ folder; building it uses no network and no language model.
Sezgi also writes the application's Benlik Card: an open, signable description file that other tools can read too (sezgi init --sign).
| Language and framework | Quality level |
|---|---|
| TypeScript + NestJS | 2 |
| JavaScript / TypeScript + Express, Fastify, Next.js | 2 |
| Python + FastAPI | 2 |
| Python + Django (including Django REST Framework), Flask | 1 |
| Java / Kotlin + Spring Boot, Kotlin + Ktor | 1 |
| Ruby on Rails | 1 |
| C# + ASP.NET Core | 1 |
| Go + net/http, Gin, Echo, Chi, Fiber, gorilla/mux | 1 |
| PHP + Laravel | 1 |
Level 1: measured during development against an independent referee or a hand count. Level 2: also measured once on an application whose code had not been looked at, with the measurement plan registered in advance. React, Vue, Angular, Svelte, Remix and Solid front ends are read too. For applications without source code (.exe, .dll, APK, SQLite, Electron) there is sezgi discover.
Sezgi 0.1 maps REST/HTTP operations; GraphQL, gRPC, tRPC and WebSocket are not mapped yet. If your application uses them, or Sezgi finds far fewer operations than the route registrations in the code suggest (its own router, routes registered by reflection), sezgi init, sezgi report and the overview the AI sees say so plainly: an incomplete map is never presented as complete.
A public benchmark you can reproduce with one command (kanit/acik). Ground truth is each application's own official API document, published by its developers.
| Application (commit) | Endpoints found | Not in the doc | Auth decision | Body fields |
|---|---|---|---|---|
Immich server (aec0dd1, 61,567 lines) | 279/279 | 16 | 100% | 437/485 |
Cal.com API v2 (54343aa, monorepo) | 121/121 | 41 | 99.2% | 250/250 |
On Immich, with the same model and the same 16 tasks (one run): an agent reading code 14/16 at 39.5k tokens per task, the official OpenAPI 15/16 at 43.6k, Sezgi 16/16 at 20.5k.
The adapters were developed on these two applications. Results on applications never seen before, including the mistakes and caveats, are in the detailed reference and the kanit/ folder.
By default Sezgi only serves the map; the assistant cannot call your application. If you turn on live mode, the assistant can use the application with your session and only with the permissions you grant:
sezgi live setup # target address, test-copy confirmation, mode, session and first permission token; asks step by step
In this mode:
sezgi approve.sezgi log).sezgi human setup --system); on real data every write is approved in a terminal with your password.Sezgi takes no backup and cannot undo a write: back up your application before an operation that cannot be undone. All gates and protection limits: detailed reference, Live mode and SECURITY.md.
Security note. Text that Sezgi extracts from code (summaries, field names, rule texts) is passed to the assistant as data. A malicious repository can put instructions there. Sezgi strips control characters, limits length and tells the assistant not to follow such text; still, treat any code-derived text as untrusted.
For everyday use, init, connect, mirror and watch are enough. Turkish names work too; sezgi help <command> gives the details of each command.
| Group | Command | What it does |
|---|---|---|
| Start | init | Reads the code, writes the map and the Benlik Card to .sezgi/ |
discover (kesfet) | Inspects an application without source code | |
watch (izle) | Keeps the map up to date as the code changes | |
doctor (doktor) | If something is wrong, says what is missing and how to fix it | |
| Connect to AI | connect (bagla) | Adds Sezgi to your AI tool |
remove (kaldir) | Undoes everything Sezgi added | |
mcp | The MCP server (your AI tool starts it) | |
serve (sun) | Local HTTP + OpenAPI for tools that do not speak MCP | |
switchboard (santral) | Serves several applications over one connection | |
| Look | mirror (ayna) | Shows in the browser what is known, the operations and permissions |
report (rapor) | Lists what is known and what is not | |
diff (karsilastir) | Finds breaking changes between two versions | |
measure (olc) | Measures speed and accuracy on your own application | |
observe (gozlem) | Takes a browser network capture as evidence (shapes only, never values) | |
| Live mode | live (canli) | Shows the status; live setup sets it up step by step |
mode (mod) | Observe (default), read or write | |
target (hedef) | Where requests go |
kanit/: every measurement, its method and raw results (English summary in its README).Apache-2.0. Copyright © 2026 Sezgi contributors.
| Many applications | A separate API, docs and MCP server for each one | sezgi switchboard serves them all over one connection |
| What the owner sees | No idea what the AI can reach | sezgi mirror shows in the browser what is known, what is not, and what is open |
| Cost | Tens of thousands of tokens per task spent reading code | On Immich, the same 16 tasks: code reading 14/16 at 39.5k tokens per task, Sezgi 16/16 at 20.5k (benchmark) |
session (oturum) | Your own session in the application, and your roles |
token | Which operations the assistant may perform |
approve (onay) | Requests waiting for approval |
plan | A change plan across several applications (approved step by step) |
log (kayit) | The encrypted, hash-chained log |
| Security and data | key (anahtar) | Benlik Card signing keys |
human (insan) | The administrator-installed key and the human password for real data |
verify (dogrula) | Verifies a card's signature and validity |
ledger (defter) | What Sezgi keeps and for how long |
forget (unut) | Erases a person's data or all customer data (GDPR) |
| Advanced | memory (hafiza) | Avoids sending the same read to the application twice (off by default) |
share (paylas) | A signed map your team can commit |
rea | The optional REA tool for analysis without source code |
diagnostics (teshis) | Local-only diagnostics that keep counters only |