经 AI Skill Hub 精选评估,个人理财助手 获评「强烈推荐」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
个人理财助手 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
个人理财助手 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install licai
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install licai
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/SnowWarri0r/licai
cd licai
pip install -e .
# 验证安装
python -c "import licai; print('安装成功')"
# 命令行使用
licai --help
# 基本用法
licai input_file -o output_file
# Python 代码中调用
import licai
# 示例
result = licai.process("input")
print(result)
# licai 配置文件示例(config.yml) app: name: "licai" debug: false log_level: "INFO" # 运行时指定配置文件 licai --config config.yml # 或通过环境变量配置 export LICAI_API_KEY="your-key" export LICAI_OUTPUT_DIR="./output"
<img src="docs/logo.svg" width="112" alt="理财助手 licai">
```bash git clone https://github.com/SnowWarri0r/licai cd licai
python run.py
```bash python scripts/seed_demo.py --use # 备份你的 DB + 写入演示数据 (4 只 A股 + 11 笔外部资产)
python scripts/seed_demo.py --restore # 看完恢复真实 DB ```
也可以 --peek 只生成 portfolio.demo.db 不动当前 DB。
cp config.example.py config.py
启动日志出现 `TDX 数据源已启用: <地址>` 即接通。**不配也能用**——详情页会收敛成只有「日」一个页签,实时行情、日线、看板与榜单都不依赖它。
<h3 id="zsxq">可选:知识星球(只读观点面)</h3>
现有情绪面全是指标(涨停/炸板/赚钱效应/连板高度),缺**文本面**——盘该怎么定性、社群在讲什么逻辑。接上之后 agent 多三个只读工具(`get_zsxq_digest` 读最近主题 / `search_zsxq` 按关键词搜 / `read_zsxq_file` 读附件正文),走知识星球官方 MCP 端点。
设置 → 知识星球 → 填入官方 MCP 端点 URL(带 api_key)→ 读取我的星球 → 勾选 → 保存
不用装 npm 包、不依赖系统 Keychain,填个 URL 就能跑;`services/mcp_http.py` 是个一百来行的极简 MCP streamable-HTTP 客户端(只实现 `tools/list` + `tools/call`,不引 SDK)。
五条约束(默认全关,不勾星球等于没这功能):
- **只读白名单** — 远端 21 个工具里有 `create_topic` / `create_topic_comment` / `set_topic_digested` / `set_topic_tags` / `create_note` 这些写口,白名单(`_READ_TOOLS`)只放行取数的 10 个;万能口 `call_zsxq_api` 仅在「`GET` + 取文件直链」这一条组合下放行(见下方附件那条),其余一律拒且不发请求(有测试盯着)
- **可按星主收窄** — `scope=by_owner` 每个星球单独开关,默认不开:实测有的星球发帖人不算「星主/合伙人」,一开就筛成空(只剩几个月前的附件帖),所以默认全量、内容太杂再收
- **原文不落库** — 只在内存里过一遍送进模型,落 SQLite 的只该是提炼后的结论;不做成付费内容的本地镜像
- **附件按需读、不批量爬** — 帖子里的研报/会议记录(docx·pdf)可按 `file_id` 单份取正文(`read_zsxq_file`),字节只过内存不落盘、有大小上限、扫描件取不到文字会如实说明。取直链要走远端那个万能 `call_zsxq_api`,所以额外钉死成**只允许 `GET` + 只允许「取文件直链」这一条 path**(有测试覆盖 POST / 其他 path / 路径穿越都被拒)。**平台对每个附件按次计数**,所以只做按需单取,不做遍历下载
- **单独一档可信度** — 返回带 `stance=opinion`,回答里按 `[星球观点]` 标注并带作者日期;数字与结论一律以 `[实测]`/`[联网]` 为准,原文里的操作倾向只当「有人这么说」的舆情记录
api_key 拼在 URL 里,所以:**存本机数据库**(不进 `config.py`)、界面只回显 `host/path`、启动日志也只打脱敏值、只收 `https`。没接入时这三个工具不塞给模型(40 → 43 动态过滤),免得模型去调然后拿一串 error。
> 内容版权与平台条款属于你和知识星球之间的事:请用**自己的账号**、遵守所在星球的规则,本项目只提供只读通道。
<h3 id="provider">可选:扩展数据源(provider 插件)</h3>
上面数据源清单里的每一条都是**公开接口**:不要账号、不要凭证、不伪装客户端。装了这个项目,开箱就是这些。
有四样不在其中,只有商业终端才有——接它们要带**你自己的账号凭证**去打对方的接口:
| 缺的口径 | 自带公开源能到哪 |
|---|---|
| 深度龙虎榜席位的**身份标签**(知名游资 / 量化通道) | 东财只给裸营业部名;本地名号表 `data/seat_names.json` 能补一部分 |
| **板块级**集合竞价异动 | 盘口异动里有个股级的竞价事件,没有板块维度 |
| 机构**季报**行业增减仓 | 龙虎榜机构专用席位只反映短线盘口 |
| 三周以上的**涨停历史** | 东财涨停池只有滚动约 3 周 |
那是你自己与对方的关系,不该由这个仓库替所有装了它的人预置一条直连通道。所以**本仓库只定义协议,一个实现都不带**:自己写一个包(或装一个别人写的)实现 `services/providers/base.py` 的协议,再选中它。
bash pip install -e /path/to/your-provider # 装上
export MARKET_PROVIDER='mypkg.myprovider:Provider'
包若在 `licai.providers` 入口点组里登记过,设置页会把它列成「已装可选」,点一下即可,不用手敲导入路径。
两条边界都有测试钉着:
- **装上 ≠ 启用** —— `pip install` 本身不会让任何数据源生效,仍要显式选一次
- **列候选只读打包元数据,不 import 任何 provider** —— 否则光是装上,它的代码就会在每次打开设置页时跑一遍
**不配也能用**,而且是默认状态。上表四样对应的界面各自收敛:
- 「资金·机构」是唯一整页依赖它的,没接时给一句说明而不是留白
- K 线浮层里那层席位身份标签提示「未接入 —— 上面的龙虎榜(东财口径)不受影响」
- 情绪温度计里那条第二数据源、涨停档案的历史回填与题材标签,直接不出现
- agent 少挂 4 个工具(40 而非 44)
其余一切照常。
协议、能力清单与一个最小实现见 [docs/providers.md](docs/providers.md)。
> 凭证与服务条款属于你和那个数据源之间的事:请用**自己的账号**、自行判断是否合规。本项目只定义接口形状,不内置任何实现、不分发任何凭证。
<h3 id="analyzer">可选:分析插件(analyzer)</h3>
provider 是**多一路数据**,analyzer 是**在已有行情上多一层计算**:输入某只票的前复权日K,输出对这段 K 线的结构化解读。你自己的量价模型、形态识别、风险打分,都可以做成一个包挂进来,不用改本仓库。
两者的区别:
| | provider | analyzer |
|---|---|---|
| 做什么 | 补数据源 | 在日K上算东西 |
| 同时启用 | 只能选一个 | 装几个挂几个,互不影响 |
| 入口点组 | `licai.providers` | `licai.analyzers` |
bash pip install -e /path/to/your-analyzer # 包里在 licai.analyzers 入口点组登记一个类, 重启即生效 export LICAI_ANALYZERS=off # 排查问题时整体关掉 ```
约定(完整说明在 services/analyzers.py 顶部):
name / display_name / min_bars(至少要多少根日K),可选 context_symbols(还需要哪些指数日K,比如 sh000852,由主程序取好传入)analyze(code, bars, stock_name, live_last, context) 返回一个 dict。前端只认一套通用展示结构:头部标签 chips、条目 items(标题 / 说明 / 徽标 / 若干统计)、近期出现过的日子 timeline、状态行和脚注。插件怎么算都行,翻译成这几个字段就会被渲染live_last 告诉插件末根是盘中未收盘的 bar(量只走了一部分),由插件自己决定要不要用它review_points / review_catalog:给定一串历史买入日,返回每天前一交易日收盘时的判定和对照统计,买点回看会把它们和你的实际结果并排列出装上以后,K 线弹窗头部多出插件的标签,主图下方多一块解读面板。和 provider 一样,本仓库只定义接口,不带任何实现。
一个挂了 40 个数据工具(接知识星球+3、扩展数据源+4,满配 47)的问答 agent,自由问个股涨跌 / 市场风格 / 资金主线 / 产业链 / 自己的成交,它自己决定调哪些工具取数据(并行调用),再客观解读——只给客观信息,不给任何买卖建议。流式打字机展示每一步在调什么工具,支持多轮追问("它明天呢"会顺着上文标的继续)。
工具覆盖七个维度
| 维度 | 能问到什么 |
|---|---|
| 行情 / 走势 | 实时报价(含涨停/跌停/炸板/封板判断)+ 近 N 日**裸K量价**与结构形态扫描 |
| 资金面 | 主力资金流、龙虎榜席位明细、席位追踪、机构动向、打板情绪、板块动量矩阵 |
| 业绩面 | 最新报告期业绩预告看板(预喜/预警 + 与你持仓的关联) |
| 基本面 / 公司画像 | 营收净利 ROE PE/PB(A/港/美)+ 主营与实控背景 + **客观红线清单** |
| 消息面 | 个股新闻、结构化公告、宏观快讯、联网搜索 + **read_url 读网页全文** |
| 我的持仓 | 成交流水、综合成本、已实现盈亏、持有天数、做T识别、买入逻辑复盘、**今天的盈亏与操作**(含今天清仓的票) |
| 产业链全景 | 问「X 产业链上游到下游」→ 联网拿各环节代表公司 → 批量量价一览表 |
<details> <summary><b>行情 / 走势</b>:裸K量价具体给哪些字段</summary>
</details>
<details> <summary><b>资金面</b>:能回答哪几类具体问题</summary>
| 工具 | 回答的问题 |
|---|---|
| 主力资金流 | 超大 / 大 / 中 / 小单净额 + 近几日趋势 |
| 龙虎榜席位明细 | 「那天谁在买谁在砸」——营业部名称 / 金额 / 占成交比 + 席位画像(机构 / 北向 / 知名名号 / 量化通道) |
| 席位追踪 | 「大佬说 XX 进场了帮我看看」「这个席位胜率如何」——传名号或营业部名,出近 90 天上榜明细 + 净买后 1/5 日红盘率 |
| 机构席位动向 | 「机构接在山顶还是跑对了」——近 30 天净买/净卖榜 + 距上榜日至今涨跌 |
| 打板情绪 | 涨停 / 连板 / 炸板 + 全市场涨跌家数(含沪深北分市场)+ **涨跌分布直方图**(每 1% 一档,看下跌集中在哪个深度) |
| 板块动量矩阵 | 带量价配合判**真上升趋势 vs 虚涨**,趋势窗口 5/10/20 可调 |
| 其他 | 同行横向对比、筹码面(十大流通股东 + 北向增减 + 解禁抛压)、热门概念榜、资金人气榜 |
</details>
<details> <summary><b>其余四个维度</b>的细项</summary>
read_url 把搜到的研报原文读全再下结论,免 key。A/港股走东财,美股换 Yahoo(东财的美股关键词搜索会返回几天前的旧稿,异动归因看的就是时点)</details>

几条贯穿的"读盘原则"(来自实战反馈,固化进 agent):
[实测](本地工具)/ [联网](搜到的,带来源时间)/ [待核实](仅记忆);接了知识星球则多一档 [星球观点](社群里某个人的看法,不作为数字依据)。联网结论正文带可点角标,点击直跳原文核实,底部列完整来源
<details id="ask-run"> <summary><b>切走了那一轮还在不在</b>:跑在服务端,不挂在这个页面上</summary>
问一句要跑十几秒到一分钟(agent 要串好几轮工具)。这段时间里切到别的页、关掉抽屉、刷新、甚至关掉页面——那一轮都照跑,答完自己落库,回来接着看,没回来也能在历史里翻到。
原来不是这样,而且是两层原因叠在一起(只改一层现象还在):
abort() → 客户端断开 → 服务端的响应任务被取消,agent 在下一个 yield 处就地死掉。拿最小探针实测过:客户端一走,生成器当场 CANCELLED现在开跑就建会话并把问题写进去(历史里立刻看得到),agent 在独立任务里跑到底,事件按序进缓冲,前端拿游标拉、断了照游标续拉。前端断开只是"不看了"。
ask_run 表,答案照旧进 ask_message):服务重启(改代码 / 掉电)那一轮确实会死——asyncio 任务不可能跨进程活下来——但它跑到哪一步还在。启动时把上一进程留下的 running 全标成 interrupted,不自动重跑(重跑要再烧一遍 token,该不该跑由人决定);再去跟看那一轮,会重放已经跑出来的步骤,末尾明说「跑到一半服务重启了,没跑完」再收尾,不让界面一直转拿kill -9实测过:被杀时盘上是running+ 已落的事件;重启日志打出「上次没跑完的 agent 轮次 1 条, 已标记为中断」;再跟看那一轮,拿到已跑出的步骤 + 中断说明 + done。
</details>
<details> <summary><b>答错了怎么不再错第二遍</b>:回归评测集 + 纠正沉淀 + 缺口台账</summary>
prompt 里已经堆了几十条读盘原则,靠"再加一句嘱咐"来修 bug 的边际收益越来越低,而且改动无法验证——所以做了四件配套的事,全部离线、不影响正常问答:
| 机制 | 做什么 |
|---|---|
| **回归评测集** | 每个用例来自一次真实答错:现取行情算出**硬断言**(比如"当前是跌,所以答案里不能出现'现在涨'"),再判 agent 的回答过不过。python -m evals.run 跑全量(默认对着演示库,不碰真账本),--list 看用例清单 |
| **运行时自检** | 答案成型后先过一遍确定性检查(美股时段标注 / 用了旧新闻却没联网 / 指数编出成交额 / 出现买卖指令 / 漏出 HTML 标签),命中就把问题回灌给模型重答一轮。与评测集共用同一份判据 |
| **纠正沉淀成规则** | 从历史对话里挖"用户在纠正我"的三元组(问题 → 回答 → 纠正),起草成候选规则进待审队列。**每周一自动挖一次**(一次最多起草 3 条),在**设置页 → AI 读盘规则**里逐条批准/否决,也可 python scripts/rules.py。**批准了才进 prompt**,待审的一条都不生效 |
| **工具缺口台账** | 工具返回报错 / 空 / 过期(按交易日算,不按日历天)/ 关键字段全 0 时记一笔,python scripts/tool_gaps.py 看排行——"哪个市场缺哪类数据"有账可查,而不是等下次答错 |
闸门是刻意的:prompt 对单个词都敏感(曾因词表里缺"主题/标题"两个词让模型吞掉整句首句),自动往里加规则最容易造成规则互撞。所以只自动提案,不自动生效;否决的也留着,下次挖掘不会把它原样再提一遍。
两个踩出来的细节:
logs/eval-fail-<用例>.txt),断言消息带上命中处的原文。因为一条用例跑一次要十万 token 且答案不稳定——实测同一条"一次挂一次过",靠回头重跑分不清是真答错还是断言写歪了</details>
3 套预设模板(保守 / 平衡 / 激进)× 按总资产 4 档,显示当前 vs 目标配比 + 该加多少 / 该减多少。
分档是因为海外配置对小资金不划算(开户 / 汇兑 / 单笔门槛都有固定成本),所以海外比重随资金量上行:< ¥30 万 / ¥30-100 万 / ¥100-500 万 / > ¥500 万。
10 个桶按「实质」穿透——ETF / QDII 先按底层归到对应桶,不再有一个笼统的「基金」桶。以「¥30-100 万」这一档为例:
| 模板 | 现金 | 理财 | 债基 | A股 | 港股 | 美股 | 其它海外 | 商品 | 加密 |
|---|---|---|---|---|---|---|---|---|---|
| 保守 | 21% | 42% | 16% | 10% | 1% | 5% | 0% | 5% | 0% |
| 平衡 | 22% | 25% | 8% | 20% | 3% | 10% | 2% | 6% | 4% |
| 激进 | 22% | 8% | 5% | 28% | 4% | 14% | 2% | 7% | 10% |
设计原则写在 AllocationAdvisor.jsx 的 TEMPLATE_MATRIX 上方:保守 = 现金+理财+债基 ≥ 60%;平衡 = 权益与稳健 50:50;激进 = 权益+加密 ≥ 70%。

高质量的开源AI工作流,提供多种理财功能
该工具使用 AGPL-3.0 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
⚠️ AGPL 3.0 — 最严格的 Copyleft,网络服务端使用也需开源,SaaS 使用受限。
AI Skill Hub 点评:个人理财助手 的核心功能完整,质量优秀。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | licai |
| 原始描述 | 开源AI工作流:本地化个人理财助手 — A股/基金/理财/现金/数字资产/机器人全资产看板 + 市场AI问答 + 个股K线盘口详情 + 板块对比 + 早盘信息简报 + 资讯AI。⭐15 · Python |
| Topics | ai股票基金理财机器人 |
| GitHub | https://github.com/SnowWarri0r/licai |
| License | AGPL-3.0 |
| 语言 | Python |
收录时间:2026-06-28 · 更新时间:2026-07-03 · License:AGPL-3.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端