Ydisks-Xianyu-Helper
闲鱼多账号自动发货、消息回复系统——基于 Go 与 React 构建
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The buyer in a room of sellers.
An autonomous agent with a USDC budget that discovers paid services, pays each per call on Arc, scores what it gets back, and reallocates its budget toward the ones that deliver — cutting off the ones that don't.README 전문 보기 ↗The buyer in a room of sellers.
An autonomous agent with a USDC budget that discovers paid services, pays each per call on Arc, scores what it gets back, and reallocates its budget toward the ones that deliver — cutting off the ones that don't.
Every economy mints a smallest coin. Paid agent APIs are multiplying on Arc: HTTP 402, pay per call, USDC. The hard question is on the buyer's side: which of them are worth paying? Obol pays them for real on Arc mainnet, scores what they deliver, stops paying the ones that fail, and publishes each verdict, with the payment evidence attached, to an on-chain registry any other agent can read before it spends.
| Dashboard (reads the chain in your browser) | https://obol-arc.vercel.app |
| ReputationRegistry v2 | 0xDCaf0CcB73fcd81b28099f27A784EA815FB630BE |
| Source verified | Sourcify, exact match (creation + runtime bytecode, metadata hash included) |
| Deploy tx | 0xe66a…e174, block 23,432,651, from the agent wallet |
| Deployment record | deployments/5042/ReputationRegistry.json + the exact compiler input |
| Agent wallet | 0x4a36Df350507d974C882Ac89f402215340d67f55 |
| ERC-8004 identity | agent #345 in the canonical IdentityRegistry 0x8004A169…a432 |
Check it yourself: curl -s https://sourcify.dev/server/v2/contract/5042/0xDCaf0CcB73fcd81b28099f27A784EA815FB630BE returns "match":"exact_match". Or rebuild it: cd contracts && forge build && diff <(forge inspect ReputationRegistry deployedBytecode) <(cast code 0xDCaf0CcB73fcd81b28099f27A784EA815FB630BE --rpc-url https://rpc.mainnet.arc.io) prints nothing.
Obol pays real third-party sellers on Arc mainnet:
exact transfer, settled on Arc. The evidence stored with the score is the Arc tx hash./selftest/fail): always answers HTTP 500 and never charges. Obol retires it on-chain after three free calls. That is the delivery gate working on a real endpoint at zero cost.Every registry write carries its evidence (0x… tx hash, gateway:<transfer id>, or no-payment:http-<code>), the provider's URL, and the block it was written in, so the dashboard and anyone else can find the exact write with a single-block query. No indexer, no backend.
The Lepton (testnet) deployment 0xd893…9d70 remains on Arc testnet for history.
Run a paid x402 endpoint on Arc mainnet? Obol will pay it per call and publish its score on-chain, with receipts.
→ Open a "Get scored" issue, or DM @GeiserJoe2 / Makabeez on the Canteen Discord, with three things: your endpoint URL, your price per call (up to 0.01 USDC), and your payTo address.
What you get:
Your endpoint needs x402 v2 on Arc mainnet (eip155:5042, Arc USDC), via exact (EIP-3009) and/or Circle Gateway batched. Scoring is based only on what Obol can verify itself (delivery, promised fields, latency, freshness of Arc data). Sellers that keep failing are retired, and retirement is reversible once fixed. Full rules and the onboarding checklist: docs/GET-SCORED.md.
The registry is public: any agent can check a seller before it spends. obol-kit packages that as one call (plus the pay-before-attest writer, if you want to run your own registry):
import { checkBeforePay } from "obol-kit/reader"; // npm i github:Makabeez/obol-kit
const v = await checkBeforePay("exa-search", { minScoreBps: 5000, minCalls: 3 });
// { pay: true, reason: "score 72.19/100 over 7 calls", record: {...} }
// checkBeforePay("cra-selftest-fail") -> { pay: false, reason: "retired on-chain after 3 calls (score 20/100)" }
No key, no backend: two eth_calls against Arc mainnet, plus a single-block eth_getLogs if you want the evidence behind the score.
The RFBs ask for agents that discover, evaluate, and pay for services on a budget (RFB 1), that sell their work per call (RFB 2), and that form agent-to-agent payment networks (RFB 3). Almost everyone ships the seller. The seller is the easy half — slap HTTP 402 on an endpoint. The buyer is where the agency lives: with finite USDC and noisy providers, what do you buy, how much, and when do you stop?
That is a capital-allocation problem. Obol treats every provider like a position: size into the ones with edge, keep probing the cheap unknowns in case they're alpha, and cut the losers the moment you're confident they're losers. The smartness is the allocation, not the plumbing.
It also produces a public good. Each thing Obol learns — this provider delivers, that one takes your money and returns nothing — gets written to an on-chain ReputationRegistry any other agent can read before it pays. One buyer's experience, priced in USDC, posted for the whole network.
+-----------------------------+
request -------------> | Obol agent |
| (buy / evaluate / record) |
+--------------+--------------+
|
select (Thompson on edge) | observe (quality, cost)
v
+-----------------------------+
| ValueBandit | <- the differentiator
| per-provider Beta posterior|
| edge gate + delivery gate |
+--------------+--------------+
|
pay_and_fetch | (x402)
v
+--------------+ +-----------------------------+ +------------------+
| Evaluator | <----- | Arc adapter | -----> | Reputation |
| prog + LLM* | result | sim (no creds) | live: x402 | score | Registry (Arc) |
+--------------+ | sidecar, exact + Gateway | +------------------+
+-----------------------------+
* LLM judge is Anthropic-only (wallet-adjacent decision; never a 3rd-party model).
One seam — the Arc adapter — separates the brain from the chain. SimArcAdapter runs anywhere with no creds, so the allocation logic can be tested and demoed offline. LiveArcAdapter drives the same interface through the local sidecar (sidecar/payer.mjs), which holds the key and pays x402 sellers on Arc mainnet. Flipping --sim to --live changes no call sites.
| Layer | Choice | Why |
|---|---|---|
| Allocation | Thompson sampling over value-per-USDC (Beta posteriors) | Explore/exploit under a hard budget; the agency the rubric weights |
| Adaptivity | Evidence decay + epsilon re-exploration | Re-evaluates a live market; tracks providers whose quality drifts |
| Cut-off | Delivery gate (non-decaying) + edge gate | Retires scammers that take payment and return nothing; starves the merely-mediocre |
| Payments | x402 v2 client with two rails: EIP-3009 exact (Circle Facilitator) + Circle Gateway batched | Pays whichever rail the seller offers; prefers exact because its evidence is an Arc tx |
| Settlement | Arc mainnet (5042), USDC gas, sub-second finality | A score write costs ~0.001 USDC on mainnet (measured), so publishing every verdict is economical |
| Reputation | ReputationRegistry v2 (Arc mainnet) + ERC-8004 identity | Public track record per provider, with payment evidence |
| Guardrails | Sidecar-enforced allowlist, payTo pins, Arc-only, per-call + lifetime caps | The brain decides; it can never overspend or pay a stranger |
| Evaluation | Programmatic + optional Anthropic judge | Free signal first; LLM only for substance, Anthropic-only |
| Dashboard | Static page, zero dependencies, reads Arc RPC directly | Nothing to trust but the chain |
ValueBandit samples each live provider's likely quality, divides by its advertised price, and buys from the best draw.[0,1]: programmatic by default, Anthropic judge for substance.contracts/src/ReputationRegistry.sol (v2) — delivered-quality scores (0–10000 bps), written by Obol as it spends, readable by anyone.
function describe(bytes32 providerId, string uri) external onlyOwner;
function recordScore(bytes32 providerId, uint16 scoreBps, uint64 calls, string evidenceRef) external onlyOwner;
function retire(bytes32 providerId, uint16 scoreBps, uint64 calls, string evidenceRef) external onlyOwner;
function scoreOf(bytes32 providerId) external view returns (Record memory); // score, calls, updatedAt, updatedBlock, retired, evidenceHash
function uriOf(bytes32 providerId) external view returns (string memory);
7 Foundry tests including a fuzz test (cd contracts && forge test), exercised on an Arc mainnet fork. Unaudited; the agent key that owns it holds only a few USDC.
pip install -r requirements.txt
# run the buyer against simulated sellers (no creds needed)
python -m obol.cli run --sim --budget 2 --seed 7 --min-edge 0.05
# the dashboard is a static page that reads Arc mainnet straight from your browser
python -m http.server 8099 -d site
# open http://localhost:8099
# tests (the allocator is the differentiator, so it carries the real ones)
python -m pytest -q
What a sim run shows: the agent concentrates spend on the cheap high-quality provider, probes the unknowns, and retires the rug-seller (takes payment, delivers nothing) after a handful of calls — a real decision, not a script.
Full runbook, with every address and gas figure verified on mainnet: docs/MAINNET.md.
Python brain (bandit + evaluator) --localhost--> sidecar/payer.mjs --x402--> sellers
(only key holder, (Exa, CRA AGENT)
all guardrails) --tx--> ReputationRegistry on Arc
site/index.html --JSON-RPC--> Arc mainnet (static, no backend)
First built for the Lepton Agents Hackathon (Canteen × Circle on Arc testnet); moved to Arc mainnet in September 2026. Uses Circle's stack end to end: x402 with the Facilitator Service (exact, EIP-3009), Circle Gateway batched payments, CCTP v2 via Bridge Kit for funding, and the canonical ERC-8004 identity registry on Arc.
MIT — see LICENSE.