尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
正在載入完整 README。 以下為已儲存的摘錄。
import { useState, useEffect, useCallback, useRef } from "react"; const C = { bg:"#F5F6F3",white:"#FFFFFF",surface:"#F0F2EE",surface2:"#E8EAE5", border:"#E0E2DC",border2:"#C4C8BE", ink:"#0C1410",text:"#1A2018",muted:"#5A6458",dim:"#8A9088",hint:"#C0C4BC", green:"#1E5C38",greenMid:"#2A7848",greenLight:"#E8F5EE",greenBorder:"#A8CEB8", red:"#A83030",redLight:"#FAEAEA",gold:"#7A5818", blue:"#1A3A78",blueLight:"#E8F0FF", navBg:"#1E5C38", };檢視完整 README ↗
'use client'
import { useState, useEffect, useCallback, useRef } from "react";
const C = { bg:"#F5F6F3",white:"#FFFFFF",surface:"#F0F2EE",surface2:"#E8EAE5", border:"#E0E2DC",border2:"#C4C8BE", ink:"#0C1410",text:"#1A2018",muted:"#5A6458",dim:"#8A9088",hint:"#C0C4BC", green:"#1E5C38",greenMid:"#2A7848",greenLight:"#E8F5EE",greenBorder:"#A8CEB8", red:"#A83030",redLight:"#FAEAEA",gold:"#7A5818", blue:"#1A3A78",blueLight:"#E8F0FF", navBg:"#1E5C38", };
const chgC = (v) => (+v)>0 ? C.green : C.red;
const chgBg = (v) => (+v)>0 ? C.greenLight : C.redLight;
const fmt2 = n => typeof n==="number"?n.toFixed(2):String(n??"-");
const fmtP = n => typeof n==="number"?${n>0?"+":""}${n.toFixed(2)}%:"-";
const timeAgo = m => typeof m==="number"?(m<60?${m}m ago:${Math.floor(m/60)}h ago):m||"Just now";
const TICKS = [ {sym:"SPY",price:524.38,chg:1.2},{sym:"QQQ",price:441.90,chg:0.8}, {sym:"NVDA",price:882.50,chg:2.4},{sym:"TSLA",price:174.20,chg:-0.6}, {sym:"AAPL",price:192.10,chg:0.3},{sym:"META",price:503.10,chg:1.1}, {sym:"BTC",price:68442,chg:3.1},{sym:"GLD",price:215.40,chg:0.5}, {sym:"ES=F",price:5241.25,chg:0.9},{sym:"CL=F",price:83.20,chg:-0.4}, {sym:"DJI",price:38547,chg:0.6},{sym:"VIX",price:18.30,chg:4.1}, ];
const TAG={ EARNINGS:{bg:"#E8F0FF",c:"#1A3A78"},FED:{bg:"#FFF6E8",c:"#7A5018"}, MARKETS:{bg:C.greenLight,c:C.green},TECH:{bg:"#F0EAFF",c:"#4A2A90"}, CRYPTO:{bg:C.redLight,c:C.red},"M&A":{bg:"#EAFFF2",c:"#1A5A30"}, MACRO:{bg:"#E8F4FF",c:"#1A4060"},SEC:{bg:"#FFF8E8",c:"#7A5010"}, };
// Photo placeholder colors for news cards const CARD_COLORS = [ ["#0C2A1A","#1A5A38"],["#1A0C2A","#5A1A88"],["#2A1A0C","#885A1A"], ["#0C1A2A","#1A5A88"],["#2A0C0C","#882A1A"],["#0C2A2A","#1A7A7A"], ];
const claude = async (system, user) => { try { const r = await fetch("https://api.anthropic.com/v1/messages", { method:"POST",headers:{"Content-Type":"application/json"}, body:JSON.stringify({ model:"claude-sonnet-4-20250514",max_tokens:2000, system,messages:[{role:"user",content:user}], tools:[{type:"web_search_20250305",name:"web_search"}], }), }); const d=await r.json(); return d.content?.filter(b=>b.type==="text").map(b=>b.text).join("")||""; } catch { return ""; } };
const parseJ=raw=>{
try{
const c=raw.replace(/json|/g,"").trim();
const m=c.match(/([[\s\S]]|{[\s\S]})/);
return m?JSON.parse(m[0]):null;
}catch{return null;}
};
const fetchAll=()=>claude(
"Financial data API. Return ONLY raw valid JSON. No markdown.",
Search web for today's live financial market data. Return this JSON: { "tickers":[{"sym":"SPY","price":524.38,"chg":1.2},{"sym":"QQQ","price":441.90,"chg":0.8},{"sym":"NVDA","price":882.50,"chg":2.4},{"sym":"TSLA","price":174.20,"chg":-0.6},{"sym":"AAPL","price":192.10,"chg":0.3},{"sym":"BTC","price":68442,"chg":3.1}], "news":[ {"headline":"Full bold compelling headline here","source":"Reuters","mins":3,"tag":"EARNINGS","sym":"NVDA","chg":8.4,"hot":true}, {"headline":"Full bold compelling headline here","source":"Bloomberg","mins":11,"tag":"FED","sym":"SPY","chg":1.2,"hot":false}, {"headline":"Full bold compelling headline here","source":"CNBC","mins":18,"tag":"MARKETS","sym":"TSLA","chg":-3.2,"hot":true}, {"headline":"Full bold compelling headline here","source":"WSJ","mins":26,"tag":"TECH","sym":"META","chg":4.1,"hot":false}, {"headline":"Full bold compelling headline here","source":"FT","mins":35,"tag":"MACRO","sym":"GLD","chg":0.5,"hot":false}, {"headline":"Full bold compelling headline here","source":"Reuters","mins":48,"tag":"CRYPTO","sym":"BTC","chg":3.1,"hot":false} ], "movers":[ {"sym":"NVDA","name":"Nvidia Corp","price":882.50,"chg":8.4,"why":"AI earnings beat"}, {"sym":"SMCI","name":"Super Micro","price":98.44,"chg":11.2,"why":"Server demand surge"}, {"sym":"TSLA","name":"Tesla Inc","price":174.20,"chg":-3.2,"why":"Deliveries miss"}, {"sym":"META","name":"Meta Platforms","price":503.10,"chg":4.1,"why":"AI ad revenue"}, {"sym":"AAPL","name":"Apple Inc","price":192.10,"chg":0.3,"why":"Steady buybacks"} ], "insiders":[ {"sym":"ORCL","name":"Larry Ellison","role":"CEO","type":"BUY","value":"$42.3M","filed":"1h ago"}, {"sym":"AMZN","name":"Andy Jassy","role":"CEO","type":"SELL","value":"$12.8M","filed":"2h ago"}, {"sym":"PLTR","name":"Peter Thiel","role":"Director","type":"BUY","value":"$8.1M","filed":"3h ago"} ], "politicians":[ {"name":"Nancy Pelosi","title":"Rep.","sym":"NVDA","action":"BUY","value":"$500K-$1M","filed":"2d ago"}, {"name":"Josh Hawley","title":"Sen.","sym":"AAPL","action":"BUY","value":"$15K-$50K","filed":"3d ago"} ], "chart_points":[420,418,422,425,421,428,432,430,435,438,442,439,445,448,446,450,455,452,458,462,460,465,468,470], "spy_chg":1.2,"vix":18.3,"top_gainer":"NVDA","top_gainer_chg":8.4 } Use real current data. Headlines should be bold and informative like Benzinga.
);
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗