
面向个人投资组合的本地化 Web 控制台,聚合资产、持仓、交易、策略 Agent、操盘计划、行情信号、资讯与提醒,帮助把“看盘、记账、生成计划、执行、复盘”放到一个系统里。
开源地址:https://github.com/huluohu/Lynx
L¥NX 读作 Lynx,中文名:灵猞,Lynx 取自猞猁,强调对市场变化的敏捷、警觉与连续观察能力;中间的 ¥ 指向资金、收益、成本与仓位管理场景。整体定位是:一个为投资决策服务的、敏锐而克制的个人资产驾驶舱。
| 登录页 | 仪表盘 |
|---|---|
![]() | ![]() |
| 行情中心 | 操盘计划 |
|---|---|
![]() | ![]() |
| 策略管理 | 策略 Agent 流式进度 |
|---|---|
![]() | ![]() |
| 操盘历史 | 系统设置 |
|---|---|
![]() | ![]() |
| 仪表盘 | 行情中心 | 操盘计划 | 策略 Agent |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
trade_history,联动更新持仓,并保留策略、计划批次和归因来源用于复盘和 Agent 分析。limit / offset 分页查询,支持资产、类型、状态、币种、时间和排序过滤。plan_sets 批次;旧计划自动归档为 superseded,避免旧计划交易混入当前策略复盘。plan_id、strategy_id、plan_set_id 和归因来源 plan_execute。系统内置策略 Agent,使用 SSE 流式推送进度,前端以“策略 Agent 工作中”浮层展示实时步骤、数据质量和质量评分。
Agent 主要流程:
Agent 相关能力:
/api/strategies/ai-agent-generate 使用 text/event-stream 返回 progress、result、error 事件。ai_generation_logs,用户确认后再采用为正式策略和计划。agent_resume_checkpoints 保存关键中间结果,可基于原参数继续执行。agent_traces 与 agent_artifacts 保存运行步骤、Prompt、LLM 原始响应、解析结果和校验报告,便于追溯与排查。price_cache,默认 5 分钟新鲜窗口;接口失败时优先展示缓存快照。| 层级 | 方案 | 说明 |
|---|---|---|
| 前端 | Vue 3、Vite 7、Pinia、Vue Router、Vue I18n、PWA | 单页应用,支持响应式布局、主题/语言切换、移动端安装 |
| 后端 | Node.js 24、Express | 提供认证、资产、持仓、交易、策略、计划、行情、资讯、通知、系统设置等 API |
| 数据层 | SQLite、better-sqlite3、WAL | 本地文件数据库,启动时自动执行 migrations/ 迁移 |
| Agent | SSE、LLM Chat Completions 兼容接口、Trace/Artifacts | 流式生成策略,保存运行轨迹、恢复检查点和质量评估 |
| 市场能力 | 多行情源、价格缓存、汇率缓存、信号分析、资讯聚合 | 兼顾实时性、可用性和接口失败回退 |
| 部署 | Docker、docker compose、多阶段构建 | 前端构建产物由 Node 服务统一托管 |
lynx/
├── client/ # Vue 前端
│ ├── src/components/ # 通用组件、Agent 进度浮层、表单、图表等
│ ├── src/views/ # 登录、仪表盘、资产、策略、计划、行情、资讯、设置等页面
│ ├── src/stores/ # Pinia 状态
│ └── src/utils/ # API、提示、确认弹窗、版本等工具
├── server/ # Express API + 业务服务
│ ├── routes/ # REST/SSE 路由
│ ├── services/ # Agent、行情、信号、新闻、推送、回测、压力测试等服务
│ ├── db/ # SQLite 连接与迁移执行
│ └── utils/ # 日志、时间处理等工具
├── migrations/ # SQLite 迁移脚本
├── docker/ # Dockerfile / compose / 构建推送脚本
├── docs/screenshots/ # README 截图
├── data/ # 默认 SQLite 数据库目录
├── start.sh # 本地一键启动脚本
└── package.json # 根脚本(并发启动前后端)
npm ci
cd client && npm ci
cd ../server && npm ci
cd ..
npm run dev
默认地址:
http://localhost:5173http://localhost:3456http://localhost:3456/api/health默认登录账号:
adminadmin123也可以直接执行一键启动脚本:
bash start.sh
后端启动时会自动执行
migrations/下尚未应用的 SQL 迁移,并在data/lynx.db创建或更新本地数据库。
cd client && npm run build
cd ..
node server/index.js
构建完成后,后端会自动托管 client/dist,统一通过 http://localhost:3456 提供服务。
cd docker
docker compose pull
docker compose up -d
默认端口:
30033456默认数据卷:
../data:/app/data:rwbash docker/build.sh
脚本会完成:
latestdocker/.env 中的 APP_VERSION默认构建会优先使用本地/BuildKit 缓存,不会每次强制拉取基础镜像;如需刷新基础镜像,可临时执行:
PULL_BASE_IMAGE=true bash docker/build.sh
如需同步 Docker Hub 仓库介绍,可在 docker/.env 设置 DOCKERHUB_DESCRIPTION_SYNC=true,并将本机凭据写入不会提交到 Git 的 docker/.env.local:
DOCKERHUB_USERNAME=your-dockerhub-username
DOCKERHUB_TOKEN=your-dockerhub-access-token
部分配置可通过环境变量设置,部分也可以在系统设置页保存到 settings 表。
| 配置 | 默认值 | 说明 |
|---|---|---|
PORT | 3456 | 后端监听端口 |
DB_PATH | data/lynx.db | SQLite 数据库路径 |
JWT_SECRET | lynx-invest-jwt-secret | 登录签名密钥,生产环境必须替换 |
AUTH_USERNAME | admin | 后台登录账号 |
AUTH_PASSWORD | admin123 | 后台登录密码,生产环境必须替换 |
AUTH_GATEWAY_PORT | 19000 | neodata 金价代理端口 |
AI_API_URL / AI_API_KEY / AI_MODEL | 空 / 空 / gpt-4o-mini | AI 策略生成与 Agent 默认模型配置 |
AGENT_LLM_RETRIES | 3 | Agent LLM 调用重试次数,系统设置中的 agent_llm_retries 优先级更高 |
AGENT_SEARCH_API_URL / AGENT_SEARCH_API_KEY | 空 / 空 | Agent 可选外部搜索接口配置 |
APP_VERSION | dev | 前端构建与关于页展示版本,Docker 构建时注入 |
TZ | Asia/Shanghai(Docker) | 运行时区 |
常用设置项会写入 settings 表,包括:
market_btc_sources_enabled、market_gold_sources_enabledmarket_refresh_interval(后端行情抓取间隔)、refresh_interval、rate_cache_durationstrategy_monitor_interval、signal_valid_hours、plan_approaching_pctnews_refresh_interval、news_sources_enabled、news_auto_cache、news_cache_batch_sizepush_enabled、push_webhook_type、push_webhook_urlai_api_url、ai_api_key、ai_model、agent_analysis_model、agent_llm_retries| 模块 | 路由前缀 | 说明 |
|---|---|---|
| 认证 | /api/auth | 登录与 token 验证 |
| 资产/持仓/历史 | /api/assets、/api/holdings、/api/history | 资产档案、持仓汇总、统一交易历史与分页复盘 |
| 兼容交易流水 | /api/transactions | 旧交易流水接口,当前主要页面使用 /api/history 形成持仓与归因闭环 |
| 仪表盘 | /api/dashboard | 组合总览、趋势、告警、配置 |
| 策略与 Agent | /api/strategies | 策略 CRUD、AI 生成、Agent SSE、草稿采用、Trace 查询 |
| 操盘计划 | /api/plans | 计划列表、触发、执行、取消、归因交易 |
| 行情与信号 | /api/market、/api/signals | 价格、汇率、趋势、手工价格、市场信号 |
| 资讯 | /api/news | 资讯列表、刷新、正文缓存、自定义源 |
| 设置与通知 | /api/settings、/api/notifications | 运行时设置、推送、通知事件 |
| 系统 | /api/system | 系统信息与运行状态 |
除 /api/health 和 /api/auth 外,API 默认需要登录 token。
data/lynx.dblynx.db-shm 和 lynx.db-wal/app/dataAUTH_USERNAME、AUTH_PASSWORD、JWT_SECRETAI_API_KEY、agent_search_api_key、Webhook 地址写入仓库data/,升级前先备份数据库L¥NX 采用自定义 Source Available Non-Commercial License:源码可见,允许个人学习、研究、评估、非商业自托管和非商业修改。
未经版权持有人事先书面授权,禁止任何商业用途,包括但不限于:
详情见:
L¥NX 是个人投资决策辅助与记录系统,不是自动交易系统:不会自动下单、不会托管交易账户,也不构成投资建议。所有策略、信号和 AI 生成内容都应由使用者自行判断后再执行。
Content type
Image
Digest
sha256:06b9040b1…
Size
86.2 MB
Last updated
2 months ago
docker pull fooololo/lynx