[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82962":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},82962,"leek","hchen13\u002Fleek","hchen13","L.E.E.K — Logic-Enhanced Equity Kernel",null,"Rust",101,8,5,0,20,31,37,60,79.06,false,"main",true,[],"2026-06-12 04:01:39","[English](README.EN.md) | [中文](README.md)\n\n# L.E.E.K（老韭菜）\n\n**Logic-Enhanced Equity Kernel** 是一个独立开发的金融投研 agent 产品。它把大语言模型、投资原则语料库、市场数据工具、网页研究、画布化证据和可追踪的 agent harness 放在同一个本地工作台里，目标是让一次投资研究从“随口问问”变成“有框架、有证据、有反方、有行动约束”的完整流程。\n\n![L.E.E.K web workbench](docs\u002Fassets\u002Fleek-workbench.png)\n\nL.E.E.K 不是普通聊天机器人。它的核心不是把工具结果拼成一段看似专业的回答，而是让 agent 在研究过程中持续暴露：它为什么这样查、查到了什么、还缺什么、如何从事实走向判断。聊天窗口保留简洁对话，画布承载工具卡片、推理轨迹、财务表格、K 线、网页证据和 corpus 激活状态。\n\n当前项目仍处在早期 alpha。流程已经能跑，但还在持续加固分析质量、工具质量、前端体验和长程任务可靠性。它不是投资建议系统，也不替代个人判断、持牌投顾或正式风控流程。\n\n## 产品目标\n\nL.E.E.K 面向想严肃做投研的个人投资者和研究者。它试图解决几个普通 LLM agent 很容易失败的问题：\n\n- 简单汇总数据，却没有真正建立研究框架。\n- 忘记上一轮已经查过的事实，重复调用同一批工具。\n- 直接给“买\u002F卖”结论，却没有说明永久性亏损风险、能力圈边界和反方证据。\n- 把网页搜索、财务数据、行情和投资原则割裂成互不相干的信息片段。\n- 长程任务中跑偏、过早停下，或者把未完成的问题交还给用户。\n\nL.E.E.K 的目标是成为一个能持续工作的投研 harness：让模型更像研究员，而不是只会输出研报腔文字的聊天框。\n\n## 核心能力\n\n- **本地 agent gateway**：Rust 编写的长运行服务，负责 session、事件流、工具调用、vault 状态和 LLM provider。\n- **Chat-canvas 工作台**：左侧聊天，中央画布展示证据和产物，右侧展示 corpus brain、计划和当前上下文。\n- **A 股优先的数据工具**：支持公司信息、财务、行情、K 线、资金流、行业、指数、基金、宏观等 A 股研究入口。\n- **Corpus grounding**：从 curated investing corpus 中检索原则、实体和来源材料，把 Buffett \u002F Munger \u002F Dalio 等底层框架转成研究约束。\n- **Reasoning trace**：把 agent 的阶段性研究意图以 UI 事件展示出来，让用户能看到它如何推进任务。\n- **Plan 与 subagent 雏形**：长程任务可以创建计划、委派子研究任务，并把进展写回 session。\n- **Append-only session vault**：对话、工具调用、计划、LLM usage 和画布事件写入本地 SQLite，便于复盘、调试和评测。\n- **Prompt cache 优化**：面向 Codex backend 的 session identity 与 cache key 已接入，长工具循环的 cache hit rate 已显著提升。\n\n## 架构概览\n\n```text\nfrontend\u002Fweb        SolidJS + Vite web workbench\ncrates\u002Fgateway      Rust gateway, CLI, API, agent loop, tools, vault\ncorpus\u002F             投资原则与知识语料，作为 read-mostly knowledge layer\nharness\u002F            agent identity、discipline、corpus orientation\ntests\u002F              A 股 E2E eval cases 与测试记录\ndesign\u002F             架构、决策记录和历史设计材料\n```\n\n运行时主要由四层组成：\n\n1. **Agent harness**：决定如何构造上下文、何时调用工具、如何追踪计划、如何恢复 provider error。\n2. **Tool layer**：把市场数据、网页、corpus、财务和研究来源包装成少数高杠杆工具。\n3. **Vault**：保存每个 session 的事件、消息、工具调用、plan 和 provider 配置。\n4. **Workbench UI**：把聊天、推理、工具证据和 corpus 状态组织成可阅读的投研界面。\n\n## 本地运行\n\n安装依赖后，先构建 gateway：\n\n```bash\ncargo build -p leek-gateway\n```\n\n首次使用需要配置 Codex provider：\n\n```bash\ncargo run -p leek-gateway -- --vault tmp\u002Fdev\u002Fvault.db auth codex\n```\n\n启动 gateway：\n\n```bash\ncargo run -p leek-gateway -- --vault tmp\u002Fdev\u002Fvault.db serve --port 8964\n```\n\n另开一个终端启动前端：\n\n```bash\nnpm --prefix frontend\u002Fweb install\nnpm --prefix frontend\u002Fweb run dev -- --host 127.0.0.1 --port 5173\n```\n\n然后打开：\n\n```text\nhttp:\u002F\u002F127.0.0.1:5173\n```\n\n如果只想做一次 provider smoke test：\n\n```bash\ncargo run -p leek-gateway -- --vault tmp\u002Fdev\u002Fvault.db chat \"用一句话介绍 L.E.E.K\"\n```\n\n## 数据与配置\n\n- `--vault` 指向本地 SQLite vault，保存用户运行时状态。\n- A 股数据优先使用已配置的数据源；Tushare token 等 provider 凭据应放在本地配置或应用 settings 中，不应提交到仓库。\n- `corpus\u002F` 是通用投资知识层。agent 默认读取它，不应直接把 session 临时结论写入正式 corpus。\n- `tmp\u002F` 用于本地临时文件、测试 vault 和实验脚本。\n\n## 开发检查\n\n```bash\ncargo check -p leek-gateway\ncargo test -p leek-gateway\nnpm --prefix frontend\u002Fweb run build\n```\n\n固定 A 股 eval cases 位于：\n\n```text\ntests\u002Fa_share_e2e_cases.md\n```\n\n这些 case 用来观察三类问题：harness 是否可靠、agent 表现是否成熟、前端是否正确展示工具证据与时序。\n\n## 当前状态\n\n已经具备的基础：\n\n- session \u002F event log \u002F SSE \u002F canvas 基本跑通。\n- agent loop 能调用工具，并保留工具卡片与 tool_call_runs。\n- plan、subagent、provider retry、prompt cache、corpus brain 均已有可运行版本。\n- A 股公司、财务、行情、K 线、资金、行业、宏观等工具已有第一版。\n- 前端可以展示 reasoning trace、工具卡片、plan、corpus brain 和 settings。\n\n仍在重点打磨：\n\n- 分析质量还需要从“工具结果汇总”升级到真正稳定的投研方法论。\n- subagent 还不是成熟可靠的 worker 系统。\n- A 股数据层仍需继续补齐分钟线、实时行情、研报、公告、行业和替代资金面。\n- 前端卡片、财务详情、K 线交互、画布布局和性能还在持续迭代。\n- E2E eval 需要长期跑通、记录问题、批量修复并回归。\n\n## 项目原则\n\n- L.E.E.K 不预定义机械输出模板；输出应由任务、证据和用户约束自然决定。\n- 简单问题不强制 plan；复杂长程任务才使用 plan 来防止跑偏。\n- 工具应少而高杠杆，从 agent 视角设计输入、输出和错误反馈。\n- Corpus 是思维框架，不是答案库；没有命中 knowledge 时，agent 仍应通过研究建立本轮 working model。\n- 任何最终动作都必须尊重用户的仓位、风险偏好和“永久性亏损”约束。\n\n## 免责声明\n\nL.E.E.K 是研究工具，不提供投资建议。所有输出都可能出错，所有市场数据都可能延迟、不完整或来自第三方。任何投资决策都应由用户自行判断并承担风险。\n","L.E.E.K（Logic-Enhanced Equity Kernel）是一个专为金融投研设计的本地工作台，采用Rust语言开发。它整合了大语言模型、投资原则语料库、市场数据工具等资源，支持网页研究、画布化证据展示及可追踪的研究流程。其核心功能包括本地agent gateway、Chat-canvas工作台、A股优先的数据工具、corpus grounding以及reasoning trace等，旨在提供一个有框架、有证据、有反方、有行动约束的投资研究环境。适合希望进行系统性、深度投研的个人投资者和研究者使用，尤其适用于需要长期跟踪和分析复杂投资机会的场景。",2,"2026-06-11 04:09:45","CREATED_QUERY"]