尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Operator UI for CryptoBot — Proof of Value for Autonomous Agents: live execution, verifiable receipts, attribution and rewards on Solana devnet.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗The operator and demo UI (Angular) of Proof of Value and of CryptoBot's Trusted Agent Execution. It only reads and calls the
service API (life-engine-cryptobot-service); nothing is computed
client-side beyond presentation, and the only Merkle work in the browser is folding an inclusion proof to check it.
AI can create value. Proof of Value makes sure we remember who created it. Don't reward commits. Reward outcomes. · Software should remember who created its value.
| Route | What it shows |
|---|---|
/value | Accepted outcomes (ValueEvents): status RECORDED → ANCHORED, units, reward and revenue KPIs, devnet explorer link |
/value/:id | One outcome: task, the five acceptance stages, contributors and roles, knowledge assets, compute (cost ≠ value), why it was split this way, immediate distribution with one tx per wallet, future participation, Solana anchor and proof |
/value/identities · /value/identities/:id | Humans and agents: kind, wallet (explorer link), owner/operator, reputation (accepted outcomes, units), rewards received, history |
/value/ledger | Contribution Units by identity, knowledge asset or project; totals add up to the units distributed |
/value/revenue · /value/revenue/:id | RevenueEvents: source (a CryptoBot proposal or simulated, always labelled), 20 % contributor pool / 5 % fee / retained, historical distribution with payouts |
/value/treasury | Treasury read model of cryptobot-001: on-chain balance, income, payouts, fee, compute cost, retained, policies, recent events |
/live · /live/:proposalId | One trusted execution live: intent → policy → approval → timelock → validator → signer → Solana → reconciliation → receipt |
/demo | Demo Mode: the trusted execution in one click, and the simulated failure → dead letter → idempotent retry |
/tower | Control Tower: KPIs counted from the API and the latest executions with their phase |
/proof · /proof/:root | Merkle anchors on devnet, the inclusion path folded in the browser, server verification |
/recovery · /policies · /console | Dead-letter queue and its human decisions · the rules a proposal was decided under · the operator console |
/ | Landing |
Copy that is fixed on purpose: "devnet SOL stands in for stablecoin settlement in this demo" and "Contribution Units are an attribution primitive, not equity and not a promise of return".
https://life-engine.app/cryptobot/ is this UI built with --configuration public-demo: a replay of a real CryptoBot
run on Solana devnet that anyone can open without signing in, and that cannot change anything.
src/app/public-demo/snapshot.json,
a versioned recording of the run (the operation executed on 3 Oct 2026 and the ValueEvent anchored on 4 Oct 2026). The
page makes no request outside its own /cryptobot/ files, except reads from the public Solana devnet RPC
(https://api.devnet.solana.com, no key): Verify it yourself (one getTransaction, when you press it) fetches the
anchor transaction and compares its memo root with the event's root, falling back to the recorded result if devnet does
not answer; the network bar reads the current slot (getSlot every 10 s while the tab is visible, hidden if it fails).
The CSP (connect-src 'self' https://api.devnet.solana.com) enforces exactly that.define: __PUBLIC_DEMO__), not by runtime config. The
operator screens (/console, /demo, /recovery) are not routes and their code is not shipped; action buttons
(approve, execute, requeue, chaos, distribute) are not rendered; any write the code could still attempt is refused locally
with 405 READ_ONLY_REPLAY. There is no sign-in and nothing is stored in the browser./value/:id shows the service's proof verdict and folds the Merkle path in the
browser (WebCrypto, same scheme as the service), then links the anchor transaction on Solana Explorer (devnet)./tour?step=N walks the nine links of the chain (Intent → Strategist → Guardian → Operator → Solana →
AcceptanceProof → ValueEvent → Contribution Units → Reward & Reputation) with the recorded values, ←/→ and a 90 s autoplay.
Every value carries a label saying how far it can be trusted: on-chain, recorded, declared, simulated or estimated./value/<id> has its own link preview (a card drawn from the snapshot by
scripts/public-demo/receipt-cards.mjs; og-pages.mjs writes the per-event page in the image build). English by
default, Spanish on request; light or dark following the system. /use-cases lists where this could go next, each
marked ROADMAP — not built.npx ng build --configuration public-demo && node scripts/public-demo/check-dist.mjs --prune # bundle hygiene gate
docker build -f docker/public-demo/Dockerfile -t cryptobot-public-demo . # what is deployed
docker run --rm --read-only --tmpfs /tmp -p 8080:8080 cryptobot-public-demo # → :8080/cryptobot/
node scripts/public-demo/walk.mjs --url http://127.0.0.1:8080/cryptobot/ # browser walk
Re-recording the snapshot (read-only against a demo stack; it refuses to write a snapshot that carries internal ids,
loopback or internal hosts, host paths, tokens or keys): node scripts/public-demo/record-snapshot.mjs --help.
The demo stack lives in the service repo and builds this UI as its ui profile. With both repos side by side
(cryptobot-service/ and cryptobot-ui/ in the same folder; otherwise set CRYPTOBOT_UI_CONTEXT to this checkout):
cd ../cryptobot-service
scripts/demo/wallet-devnet.sh && scripts/demo/run.sh --keep # keys, .env.demo, stack up on devnet
docker compose -f docker-compose.demo.yml --env-file .env.demo --profile ui up -d --build
scripts/demo/pov-e2e.sh --task "Improve CryptoBot opportunity detection" --task-id TASK-042 --assume-accepted --skip-op
scripts/demo/ui-url.sh --path /value # prints a signed-in URL (1 h demo token)
The demo stack has no login service: ui-url.sh mints a short-lived demo token and the UI consumes ?token= once. The UI is
published on port 4204, the origin the service's CORS admits.
For development against the same stack: npm ci && npm start -- --port 4204, with public/config.js → cryptobotBase
pointing at the service (default http://localhost:8091), then open the URL ui-url.sh prints.
npm test # Angular unit tests (Vitest)
npx ng build # production build
npx ng build --configuration public-demo && node scripts/public-demo/check-dist.mjs --prune
Captured against a live devnet stack and stored in docs/screenshots/ (see the capture section below).
Per-screen implementation notes: docs/REFERENCE.md. Architecture, what is real today on devnet (with
explorer links), limitations and roadmap: the service README.
Apache License 2.0 — see LICENSE. Copyright (c) 2026 Sebastian H. De Vito. See NOTICE for contributors.
Captura manual (no corre en CI ni en npm test) de las pantallas /value*, /live/:id y /proof/:root contra un stack vivo:
npx playwright install chromium # una vez
UI_URL=http://127.0.0.1:4204 UI_TOKEN=<jwt> npm run screenshots
UI_TOKEN sólo por entorno (nunca en el repo; en el demo se acuña con scripts/demo/ui-url.sh de cryptobot-service). Elige los ids reales desde la API
(último ValueEvent ANCHORED con distribución y revenue, último proposal, su root). Salida: docs/screenshots/*.{desktop,mobile}.png (1440×900 y 390×844,
página completa, paleta PNG8 si pasa de 300 KB). Opcionales: API_URL, OUT_DIR, DUMP_DIR (texto visible por página), UI_DIST=dist/cryptobot-ui/browser
(sirve un build local bajo el origen de UI_URL, para probar un cambio sin mergear contra el backend real).