Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
AI 비용을 로컬에서 관리하는 도구로, 비용, 청구액, 할당액, 보관 작업 비용을 각각 라벨링해 보여줍니다
A local-first tool for AI costs: list cost, billed cost, allocated cost and the spend that went into work you kept, each labelled for what it is.
금융TypeScript · JavaScriptGitHub @GamingDragonwastaken온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Local-first ledger and spend guard for AI coding agents: metering, budgets, provider-bill reconciliation, and outcome evidence.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Govern the spend. Not the developer.
The financial control layer for AI coding agents, running on your own machine. Your agents' spend is metered, capped before a loop runs away with it, checked against the provider's bill, assigned to the budget it belongs to, and traced to the work it produced. And every number tells you exactly how much it can be trusted.
local-first · zero runtime dependencies · 3,000+ tests · Node 24+ · free to use, including at work (BUSL-1.1)
Coding agents bill by the token, and they fail expensively. An agent stuck in a
loop overnight doesn't raise an error; it sends an invoice. Your monitoring
can't see it, because a $0.002 request and a $0.40 retry loop look
identical when all you measure is latency and errors.
Then finance asks a simple question, "what is AI costing us, and is it worth it?", and every tool answers with one confident number. That number is usually an estimate dressed as a bill, or a bill with no owner, or a value figure nobody can defend.
Segreant is built on a single refusal: it will not collapse four different questions into one number.
| The question | Where the answer comes from | |
|---|---|---|
| Metered usage | What did the traffic use, at list price? | Segreant's proxy or your tools' own logs, priced from a versioned local rate card |
| Provider-billed cost | What did the provider actually charge? | The provider's cost export or Costs API (OpenAI today), imported and kept separate |
| Allocated cost | Whose budget does it belong to? | Allocation rules you write, reported together with what they left unallocated |
| Value | Did the spend become shipped, kept work? | Outcome evidence from git, tests and your reports |
Every figure on every screen says which of the four it is. When the evidence for a number is missing, Segreant shows unknown. It never fills in a guess.
Most cost tools are dashboards. Segreant is an accounting system with an evidence model underneath, and it behaves like one.
.segreantpack that a standalone verifier checks offline, without trusting
Segreant.No API key, no account, no setup. With Node 24 or newer:
npx segreant demo --serve # labelled synthetic data; opens the dashboard
Open http://localhost:8091. You'll see a month's statement with all four
figures, spend by project and model with each session and what its commits
came to, caps and alerts, a comparison with a generated provider bill,
cost-centre splits, and what the spend produced, with a review-only
cheaper-model comparison. It all runs on an isolated demo.db and is
labelled as synthetic. Clear it with segreant demo --clear.
Install the segreant command (it has no runtime dependencies):
npm install -g segreant
On Windows, a project-local install (npm install segreant) inside a folder
whose path contains & cannot start through npx or node_modules\.bin:
npm's generated .cmd shim does not quote that path. The global install above
and npx segreant from any folder are not affected. For a local install there,
run node node_modules/segreant/bin/segreant.mjs instead.
Option A: no wiring at all. If you use Claude Code, Codex or opencode, Segreant reads the usage those tools already log on your machine, including subscription usage a proxy never sees. Antigravity is read too, from 0.2.0 on:
segreant scan # finds your AI tools and git repos; changes nothing
segreant scan --setup # imports that usage and groups it by project
segreant today # what today cost, by model, project and tool
Option B: route traffic through Segreant to meter it live and enforce budgets:
segreant start # proxy on :8090, dashboard on :8091
segreant launch -- claude # or codex, opencode, aider, ...
launch points only that one tool at the proxy, and only while the proxy is
running. If the proxy is stopped, the tool starts unmetered with a warning, or
not at all when a budget cap is set. To point a shell at it yourself instead:
export ANTHROPIC_BASE_URL="http://localhost:8090"
export OPENAI_BASE_URL="http://localhost:8090/v1"
A tool pointed at the proxy this way cannot connect while Segreant is stopped.
Requests to OpenAI's and Anthropic's official APIs go through as soon as Segreant starts: that traffic was already going to your provider, and Segreant meters it on the way. Everything Segreant would send on its own (webhooks, team rollups, hosted judging) stays off until you allow it, and another provider or gateway needs one rule, which a refused request prints (GETTING-STARTED.md). Then set a cap:
segreant budget --daily 25 --soft 18 --runaway 2 # hard cap, warning, loop guard
Caps are opt-in. A fresh install meters but never blocks. Unset the two variables and Segreant is out of the path.
Per-tool recipes (Cursor, aider, opencode, Antigravity, your own SDK scripts): docs/INTEGRATIONS.md.
segreant today, week, month) or the dashboard. Export CSV for
your own BI.segreant frontier compares models on the
same kind of task. It never changes your routing for you.segreant start serves a local dashboard organised by job:
Statement: one calendar month, side by side. What was measured, what the provider billed, how it was split, and what it produced. The four are never added together, and the month downloads as a CSV.
Spend: where the measured spend went, by project, model and source.
Protect: caps and alerts that stop spend before it happens.
Close: declare the OpenAI project, bring in the cost export, and record the comparison with what Segreant measured.
Allocate: cost centres, the rules that assign spend to them, and the monthly split, previewed before it is recorded.
Value: what the spend produced, with the limits stated.
Settings: choose what you see, from density to which jobs sit in the top bar, and a map of everything Segreant can do. Each capability the dashboard runs opens from that map in one click.
Splits, bill comparisons, imports, adoptions and budget changes show a preview before anything is saved. The dashboard follows your system's light or dark setting, works at phone width, and loads nothing from the internet.
Every command, flag and design detail is in the Segreant guide.
The same local tool scales up without sending prompts or code to any Segreant-run service:
The team server is implemented and tested, but it has not yet been validated in a production deployment; see team-server/README.md before exposing it to a network.
Built to be believed, so it is strict about what it says.
The complete, test-enforced list of what is supported, intended and not offered is CAPABILITY-EVIDENCE-CONTRACT.md.
Segreant has no hosted service and sends no telemetry by default. The ledger
lives under ~/.segreant, and the dashboard loads nothing from third parties:
no CDNs, fonts or analytics. Requests you route through the proxy still go to
the AI provider you configured, and your API keys pass through without being
stored. Segreant also downloads the public price list when it meets a model
its rate card does not know; that download sends nothing about you, and
segreant pricing --auto off stops it. Every other outbound path (alert
webhooks, team rollups) is opt-in. The privacy statement is PRIVACY.md, also
one click from every dashboard page; every path in detail is in
DATA-BOUNDARIES.md.
Segreant is pre-release (0.1.0), published on npm as segreant. CI covers Linux, macOS and Windows, including a packaged-install
smoke test, real-browser tests and supply-chain checks.
Reconciliation and outcome measurement are implemented and tested but have not
yet been validated against real provider accounts or with outside users. That
is what the first users will prove.
If you try it, what confused you or what broke is the most useful thing you can send: open an issue or start a discussion.
| Start here | Go deeper | Trust and boundaries |
|---|---|---|
| Getting started | Segreant guide | Data boundaries |
| Integrations | Architecture | Capability contract |
| FAQ | Methodology (plain language) | Threat model |
The full index is in docs/README.md.
| Product code | ~105,000 lines of strict TypeScript |
| Tests | ~81,000 lines, 3,000+ test cases across the CLI, dashboard, team server and a real browser |
| Runtime dependencies | 0 |
| CI | 14 checks on every pull request: three operating systems, install paths with spaces and &, the team server against real PostgreSQL, a packaged install, supply chain, real-browser tests, and exact-head verification |
npm install # dev-only: typescript + @types/node
npm run build # compile to dist/
npm test # the full suite
npm run typecheck # strict TypeScript
npm run demo # rebuilds, then the demo dashboard from this checkout
npm run start # rebuilds, then the proxy and dashboard from this checkout
See CONTRIBUTING.md for how changes are verified, GOVERNANCE.md for who decides what, SECURITY.md for reporting a vulnerability, docs/COMPATIBILITY.md for what stays stable, and docs/RELEASE-PROCESS.md for how a release is gated.
Segreant is built independently and is free to use for everyone, people and organizations alike (LICENSING.md). Paying never unlocks features (docs/NEUTRALITY.md makes that a checkable commitment).
Business Source License 1.1 with an Additional Use Grant: anyone, person or company, may use, change and build on Segreant for free, including selling their own products built on it. The two things not allowed are offering Segreant as a hosted service and selling Segreant itself. Two years after each version is published, it becomes Apache 2.0 open source. Plain words: LICENSING.md.