为了这碟醋,我包了顿饺子 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
raejee
V2EX    分享创造

为了这碟醋,我包了顿饺子

  •  
  •   raejee 1 天前 767 次点击

    事情要从一个本来很简单的念头说起。

    我想做一个行情类应用。 目标朴素得不能再朴素了:

    用户自己配个 API Key , 就能看 A 股 / 港股 / 美股 / 汇率 / 指数 / 加密货币 的实时行情和历史曲线。

    于是我开干了。


    第一阶段:理想很丰满

    应用很快写完了,逻辑清晰,代码优雅,README 看起来还行。 t/1187033

    设计初衷也非常“程序员式正义”:

    • 不收钱
    • 不代理数据
    • 不碰隐私
    • 用户自己申请 API Key ,爱用谁用谁

    听起来是不是特别合理? 我当时也觉得自己是个天才。


    第二阶段:现实一巴掌打醒我

    应用一交到用户手里,问题就来了:

    • 「这个 API Key 去哪申请?」
    • 「这个平台要绑信用卡?」
    • 「免费额度不够用?」
    • 「这个接口不支持指数?」
    • 「那个接口不支持港股?」
    • 「我就想看个价格,怎么像在考证?还要梯子?」

    总结一句话:为了用我的 App ,用户得先修完一门《全球金融数据 API 导论》。

    本来是看行情, 结果变成了 配置行情

    功能是有的, 但体验极其反人类

    我终于意识到一个残酷的事实:

    用户根本不想折腾。


    第三阶段:为了这碟醋,我决定包顿饺子

    问题的本质其实很简单:

    • 应用不是核心
    • 数据整合和交付方式才是核心

    既然如此,那干脆一步到位。

    我干了件看起来有点“本末倒置”的事:

    我去改了一个开源库

    项目名叫 Aktools,原本就很强, 但我对它下手更狠了一点,加缓存,加数据源:

    https://github.com/johnny-peters/aktools-change


    第四阶段:饺子包完,醋也成了主角

    我改造后的 Aktools ,目标只有一个:

    用户什么都不用配置

    只需要:

    docker run / deploy aktools 

    然后就能直接用。

    你能拿到什么?

    • A 股实时 & 历史行情
    • 港股实时 & 历史行情
    • 美股实时 & 历史行情
    • 汇率
    • 各类指数
    • 加密货币
    • K 线 / 曲线 / 时间序列

    没有 API Key 没有平台选择 没有额度焦虑 没有配置地狱

    一句话:

    Aktools 部署完,数据就自己长出来了。


    最终形态:饺子反而成了主菜

    回头看这件事,特别有意思:

    • 我原本是想推广一个应用
    • 结果为了提升体验
    • 把底层工具链全重做了一遍
    • 最后发现 Aktools 才是本体

    真正实现了:

    “为了这碟醋,我包了顿饺子, 结果发现饺子比醋香多了。”


    如果你是谁?

    如果你是:

    • 普通用户

    那你直接访问 https://price.btc-reborn.com/ ,可以订阅行情,配置持仓; 也可以在项目地址 https://github.com/johnny-peters/financial-dashboard 下载 exe,拥有一个无广告绿色的可开机启动的控件(仿 mac 做的)

    如果你是:

    • 想做行情类应用的开发者
    • 想快速拿到金融数据的个人项目
    • 不想被 API Key 折磨的工程师
    • 想本地 / 私有化部署行情服务的人

    那你可以直接从这里开始:

    Aktools (改良版): https://github.com/johnny-peters/aktools-change


    最后一句真心话

    技术人常犯的错是:

    把“可配置性”当成“用户友好”。

    但后来我才想明白:

    真正好的体验, 是让用户连“配置”这个概念都不需要知道。

    10 条回复    2026-02-04 08:03:27 +08:00
    Hansah
        1
    Hansah  
       1 天前
    cool ,刚好搓了个虚拟交易系统,用得上

    币安有免费 API 的
    raejee
        2
    raejee  
    OP
       1 天前
    进来留言的朋友不妨留下以太坊地址,我们会给前 100 个留言的人发放服务代币
    JimmyG
        3
    JimmyG  
       1 天前
    0xE49Ce83b2e6940137cb252E67c052B66B882beA3
    jimbray
        4
    jimbray  
       1 天前
    我是普通用户,进入网站之后, 我不知道怎么添加持仓:(前往资产标签页添加资产到您的观察列表,然后将它们添加到您的投资组合。),但是我没有看到 `资产标签页`。
    P.S.: 5dyyUvBzkJ1fGdvU4NAcXaD1ALfcsNmn6NnPcAHQuQxZ
    raejee
        5
    raejee  
    OP
       1 天前
    @jimbray 设置页面,点击 添加 按钮,搜索资产名称,搜到后点击 添加;
    然后在 自选 卡片中,填写持有数量,这样持仓页面就可以看到了
    raejee
        6
    raejee  
    OP
       1 天前
    @jimbray 你这不是以太坊地址呢
    raejee
        7
    raejee  
    OP
       1 天前
    @JimmyG 已发,请关注代币及官网 btc-reborn.com ,后续有优惠服务
    xiaoao199
        8
    xiaoao199  
       21 小时 30 分钟前 via Android
    0x215788a841924aca2f16a8141ea3098573e94a29
    KelleyV9
        9
    KelleyV9  
       19 小时 30 分钟前
    0xD47907598e1749B6E80fB5649e9DC47eDFc98b6B
    jimbray
        10
    jimbray  
       3 小时 34 分钟前
    @raejee #6 0x0B2fAF2021386CC01DE802209857751933a674f4 谢谢大佬
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4535 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 03:37 PVG 11:37 LAX 19:37 JFK 22:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86