TL;DR: 微软发布了 Copilot in Excel 的金融专业版——SKILL.md 技能文件引导 AI 执行多步财务建模、6 大数据连接器接入专业金融数据、\"Plan with Copilot\" 透明规划、痕迹追踪。本文解读后给出 Linux 开源替代方案:LibreOffice + Ollama + Python 自动化 + 自定义金融插件。
一、微软在 Excel 里做了什么
2026 年 6 月 25 日,微软发布了一篇重磅博文:Copilot in Excel: Built for the era of Frontier Finance。这不是一次普通的 AI 功能更新,而是一整套面向金融专业人士的 AI 能力体系。
核心亮点
#### ① SKILL.md——开放格式的技能定义
这是最让我意外又欣赏的设计。微软把金融工作流定义为一个 SKILL.md 文件,用 Markdown 格式描述 AI 应该如何完成一个多步任务:
\"把 SKILL.md 文件存在你的 OneDrive 里,Copilot 就会读取它,用你定义的方法来构建一个三表模型或一份董事报告。\"
这个思路和 OpenClaw 的 Skill 体系如出一辙——不在代码里硬编码工作流,而是通过人类可读的声明式文件来引导 AI 执行。 任何团队都可以:
- 使用微软预置的金融技能库
- 自己编写自定义 SKILL.md
- 通过 Microsoft Marketplace 部署分享
#### ② 金融数据连接器矩阵
微软一口气集成了 6 家专业金融数据提供商:
- CB Insights——私募市场和公司预测情报
- Daloopa——SEC 文件来源的可审计基本面数据
- FactSet——投资专业机构数据
- Morningstar——投资研究和组合分析
- PitchBook——私募资本市场情报
- S&P Global(Kensho)——API 驱动的结构化数据访问
有了这些连接器,分析师不必手动从多个平台拉数据——在 Excel 里自然语言问一句,数据自动填入。
#### ③ Plan with Copilot——透明可追溯
在金融场景里,\"答案\"本身不够,你得知道它是怎么算出来的。微软引入了:
- Plan 模式:Copilot 在改动前先输出一个修改方案(哪些区间、哪些公式、依赖哪些假设),你确认了再执行
- Copilot Attribution:在 Show Changes 面板中,每个修改都标记了是 Copilot 所为
- 工作簿规则:在 Excel 文件内定义命名规范、公式约定,AI 自动遵守
#### ④ 可落地的金融场景
微软给出了一些你可以在 Excel 里直接用的提示词:
- \"用 \@variance-analysis 对比上一季度实际与计划,找出前五大差异,解释异常,生成一份董事会议摘要\"
- \"用 \@comps-analysis 做 DCF 估值、可比公司分析和敏感性模型\"
- \"用 \@deal-screening 匹配我们的并购战略文档,推荐候选标的\"
每个场景都结合了 Work IQ(工作上下文记忆) + Skill(工作流模板) + Connector(实时数据),形成一个完整的 AI 协作者。
一句话总结微软的路径
不看 AI 在单一步骤上多聪明,看它在完整工作流上多可靠。
二、Linux 开源环境下的替代方案
问题来了:如果我的团队用 LibreOffice Calc(Linux 上最主流的表格工具),怎么实现类似的 AI 辅助财务分析?
核心差距分析
| 能力维度 | Copilot in Excel | Linux 开源替代 |
|---|---|---|
| 自然语言 → 公式/操作 | AI Agent 内嵌 | 需外部 LLM对接 |
| SKILL.md 技能模板 | 内置 | 可自行设计 |
| 专业金融数据连接器 | 6 家商业提供商 | 开源数据源 + API |
| Plan 透明规划 | 内置 | 需自行实现 |
| 可追溯修改 | 内置 | Git + Calc 历史 |
| 成本 | Microsoft 365 订阅 | 完全免费 |
推荐方案:LibreOffice + Ollama + Python
这不是一个现成的\"安装即用\"方案,但在 Linux 生态下,你可以用开源组件拼出 80% 的功能。架构如下:
┌─────────────────────────────────────────────┐ │ LibreOffice Calc │
│ (表格界面,基础的宏/VBA 支持) │
└──────────────────┬──────────────────────────┘ │ Python UNO API / Macro ┌──────────────────▼──────────────────────────┐ │ Python 自动化层 │
│ (uno.py + pyoo + subprocess) │
└──────────┬────────────┬─────────────────────┘ │ │ ┌──────────▼────┐ ┌────▼──────────────────┐ │ Ollama LLM │ │ 金融数据管道 │
│ (CodeLlama / │ │ yfinance / akshare │
│ Qwen2.5 / │ │ pandas_ta 技术指标 │
│ DeepSeek) │ │ 自定义数据库连接 │
└───────────────┘ └─────────────────────────┘
各层实现
#### ① 自然语言 → Calc 操作(替代 Copilot 对话)
方案:Ollama + 自定义 Agent
# 本地部署 LLM
ollama pull qwen2.5:14b # 或 deepseek-coder:6.7b
# Python 调用 API
curl http://localhost:11434/api/generate \
-d '{"model": "qwen2.5:14b", "prompt": "...", "stream": false}'
关键在 Agent 层:用 Python 写一个简单的 LLM Agent,解析用户的自然语言输入,转化为 Calc 的 UNO API 或 Macro 命令:
- \"把 A 列求和放到 C10\" →
calc_obj.getCellByPosition(2,9).setValue(sum(...)) - \"对第二季度数据做 DCF\" → 触发预设的 DCF 计算流程
- \"对比实际和预算差异\" → 调用差异分析函数
这个 Agent 可以写在 ~/.calc_agent/ 目录下,用 pyoo(LibreOffice 的 Python 桥接库)来控制 Calc 实例。
#### ② SKILL.md 等效方案:YAML/Markdown 脚本
直接向微软学习。 在 ~/.calc_skills/ 目录下放技能定义文件:
# skills/dcf_valuation.yaml
name: DCF 估值模型 version: 1.0 steps: - name: 拉取财务数据 tool: yfinance
params: { ticker: "$TICKER", statements: ["income", "balance", "cashflow"] }
- name: 计算自由现金流 formula: "FCF = OCF - CapEx" output: "Sheet1:A10"
- name: 计算 WACC
formula: "WACC = E/(E+D)*Re + D/(E+D)*Rd*(1-T)"
output: "Sheet1:B10" - name: 构建 DCF 模型 macro: "dcf_model.py"
params: { periods: 5, growth_rate: 0.03 }
- name: 敏感性分析
formula: "二维敏感性表 (增长率 x WACC)"
output: "Sheet2"
然后写一个简单的 skill_runner.py 来读取并执行。
#### ③ 金融数据连接器(开源版)
| 微软商业连接器 | 开源替代 |
|---|---|
| FactSet | yfinance + akshare |
| Morningstar | 可免费获取 Morningstar 的部分公开数据 |
| S&P Global | 部分可通过 SEC EDGAR API 获取 |
| CB Insights | Crunchbase API(免费版有限) |
| PitchBook | 无直接替代,可手动采集 |
重点推荐两个 Python 库:
- yfinance——雅虎财经数据,覆盖美股/港股/全球指数,免费
- akshare——中国的 Akshare,覆盖 A 股、期货、基金、宏观数据,国内开发,文档全中文
安装即用:
import yfinance as yf
import akshare as ak
# 获取苹果财务数据
aapl = yf.Ticker("AAPL")
income_stmt = aapl.income_stmt
# 获取上证指数数据
sh_index = ak.stock_zh_index_daily(symbol="sh000001")
#### ④ Plan with Copilot → Plan 模式脚本
这个可以直接照搬思路:在 Agent 执行任何修改前,先生成一个 JSON 格式的修改计划,输出到终端或 Calc 的备注中让用户确认:
plan = {
"actions": [
{"type": "update_cell", "range": "DCF!B5:B10", "description": "更新自由现金流预测"},
{"type": "add_formula", "range": "DCF!C12", "formula": "=NPV(WACC, B5:B10)", "description": "计算净现值"},
], "data_sources": ["yfinance: AAPL"],
"assumptions": {"growth_rate": "3%", "wacc": "8.5%"},
"review_needed": True
}
print(json.dumps(plan, indent=2))
# 等用户确认后再执行
#### ⑤ 可追溯修改
Open Source 的好处是你可以选择任意版本控制方式:
- Calc 原生:为工作簿启用\"记录变更\"(Edit → Track Changes → Record)
- Git 版本控制:Calc 文件本质上是 ZIP 包(ODS 格式),可以解压后用 Git 追踪 XML 变化,精确看到哪个单元格被谁改过
- 差异导出:每次 Agent 操作前导出快照,操作后 diff,生成人类可读的变更日志
需要自行开发的部分
我坦诚地说,有些东西开源生态确实没有现成的:
- Excel 的 LSEG/Moody\'s 连接器——专业金融数据需要付费,开源方案只能替代基础场景
- Work IQ(工作上下文记忆)——微软引入了全工作上下文记忆,开源方案需要自己搭向量数据库
- 企业级合规(审计追踪、权限管控)——LibreOffice 缺乏企业级权限模型
但如果你是一个个人分析师、小型投研团队或 Linux 开发者的日常工作流,这套开源方案完全够用。
三、快速上手:打造你的 Linux Calc AI
如果你想今天就试试,以下是 30 分钟搭建步骤:
安装依赖
# ① LibreOffice(大概率已安装)
sudo apt install libreoffice-calc libreoffice-script-provider-python
# ② Ollama + 模型
curl -fsSL https://ollama.com/install.sh | sh
ollama pull deepseek-coder:6.7b # 轻量化,够用
# ③ Python 依赖
pip install pyoo yfinance akshare pandas
# ④ 测试连接
python3 -c "import pyoo; import yfinance; print('✅ 环境就绪')"
最小可用的 AI Calc Agent
创建一个脚本 calc_agent.py:
import pyoo
import yfinance as yf
import json
import requests
OLLAMA_URL = "http://localhost:11434/api/chat"
class CalcAgent:
def __init__(self, file_path):
self.desktop = pyoo.Desktop(host='localhost', port=2002)
self.doc = self.desktop.open_spreadsheet(file_path)
def ask_llm(self, prompt):
"""向本地 LLM 提问"""
resp = requests.post(OLLAMA_URL, json={
"model": "deepseek-coder:6.7b",
"messages": [{"role": "user", "content": prompt}],
"stream": False
})
return resp.json()["message"]["content"]
def analysis(self, stock_ticker, cell="A1"):
"""获取股票数据并写入 Calc"""
stock = yf.Ticker(stock_ticker)
sheet = self.doc.sheets[0]
sheet[cell].value = f"{stock_ticker} 当前价格: ${stock.info.get('currentPrice', 'N/A')}"
def run_skill(self, skill_name):
"""执行技能"""
print(f"📋 计划执行: {skill_name}")
print("✅ 请确认 (y/n): ", end="")
if input().lower() == 'y':
print(f"▶️ 正在执行 {skill_name}...")
# 实际的 skill 逻辑在这里
print(f"✅ {skill_name} 执行完毕")
if name == "main":
agent = CalcAgent("my_finance.ods")
# 启动 LibreOffice 监听模式: soffice --accept="socket,host=localhost,port=2002;urp;"
print("🦞 Calc Agent 已就绪")
while True:
user = input("\n> ")
if user.lower() in ("exit", "quit"):
break
print(agent.ask_llm(user))
启动
# 终端 1:启动 LibreOffice 监听模式
soffice --accept="socket,host=localhost,port=2002;urp;"
# 终端 2:启动 AI Agent
python3 calc_agent.py
四、开源方案能做到什么程度
对比一下微软 Copilot 和开源方案的成熟度:
| 场景 | Copilot in Excel | LibreOffice + AI 方案 |
|---|---|---|
| 自然语言生成公式 | ✅ 原生 | ✅ 通过 LLM Agent |
| DCF / 可比公司模型 | ✅ SKILL.md + 连接器 | ✅ 自定义 YAML 技能 + yfinance |
| 多步工作流 | ✅ Skill 体系 | ⚠️ 需自行编写 |
| 可追溯变更 | ✅ Copilot Attribution | ✅ Git / Track Changes |
| 金融数据连接器 | ✅ 6 家商业提供商 | ⚠️ 免费数据有限 |
| Plan 模式 | ✅ 内置 | ⚠️ 需自行实现 |
| 企业级合规 | ✅ Microsoft 365 | ❌ 无 |
| 成本 | 💰 高 | ✅ 免费 |
五、总结与推荐
微软 Copilot in Excel 对金融场景的这次升级,技术上确实做得很扎实。SKILL.md 的设计理念尤其值得开源社区借鉴——把工作流和代码分离,让非技术团队也能定义 AI 行为。
对于 Linux 用户,最现实的路径是:用 LibreOffice Calc 做表格界面 + Python/Ollama 提供 AI 能力 + yfinance/akshare 提供金融数据。 它不是一键安装的\"替代品\",但提供了一个可扩展、可定制、完全属于你的金融分析框架。
如果你对这套方案感兴趣,可以从今天的 30 分钟搭建入手。等基础 Agent 跑通了,再逐步加入 SKILL.md 技能定义、Plan 模式和版本追溯能力。
在 Linux 生态下做金融分析,从来不是\"等别人给你造好\"的事情。但正因为能自造,所以更自由。
━━━ ━━━ ━━━
后记: 原文《Copilot in Excel: Built for the era of Frontier Finance》发布于微软官方博客,作者为 Microsoft 365 团队。本文 Linux 开源方案涉及的组件(LibreOffice、Ollama、yfinance、akshare)均为开源或免费使用。
━━━ ━━━ ━━━
*欢迎关注 LeisureLinux,获取更多深度技术解读。*
Claude 技能库全线刷屏!GitHub 今日热帖:数据分析、本地 LLM 与 AI 代理实战