一个本地运行的 Web 应用,用于创建、编辑和管理行业智能化分析报告。支持导入 Markdown 文件、AI 辅助生成内容、关键词搜索(本地/联网/AI),并导出完整的 Markdown 报告。
| 功能 | 说明 |
|---|---|
| 导入 MD 文件 | 自动解析文件中的章节结构(H1/H2/H3) |
| 章节编辑 | Markdown 编辑器,支持编辑、预览、分屏三种模式 |
| AI 辅助生成 | 基于 Claude AI 为指定章节生成专业分析内容 |
| 本地搜索 | 在所有已导入的报告内容中全文检索 |
| 联网搜索 | DuckDuckGo 搜索外部资料,支持一键插入引用 |
| 章节管理 | 拖拽排序、新增、删除章节,添加标签分类 |
| 导出报告 | 将所有章节编译为完整的 .md 文件下载 |
- Python 3.10 及以上
- 现代浏览器(Chrome / Firefox / Safari / Edge)
- (可选)Anthropic API Key,用于 AI 生成功能
cd report_tool
python3 -m venv venv
venv/bin/pip install -r requirements.txtcp .env.example .env编辑 .env 文件,填入你的 Anthropic API Key:
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx
如果不使用 AI 生成功能,可跳过此步骤。
.report_tool/start.sh或手动启动:
venv/bin/uvicorn app:app --host 0.0.0.0 --port 8063 --reload点击顶部「导入 MD」按钮,选择本地 .md 文件(也支持拖拽到上传区域)。
系统将自动解析文件中的标题层级(# ## ###),生成章节目录。
# 一级标题 → H1 章节
## 二级标题 → H2 章节
### 三级标题 → H3 章节
点击「新建报告」,输入报告标题和描述,创建一份空白报告,再手动添加章节。
在左侧章节目录中点击任意章节,中间区域即进入编辑状态。
编辑器模式切换:
| 模式 | 说明 |
|---|---|
| 编辑 | 纯文本 Markdown 编辑 |
| 预览 | 渲染后的富文本预览 |
| 分屏 | 左侧编辑,右侧实时预览 |
保存方式:
- 快捷键
Cmd+S(macOS)或Ctrl+S(Windows/Linux) - 点击工具栏「保存」按钮
- 切换章节时自动保存
顶部出现「未保存」角标时,表示当前内容尚未保存。
添加章节: 点击章节目录底部的「+」按钮,填写标题并选择层级(H1/H2/H3)。
删除章节: 鼠标悬停在章节上,点击右侧「×」按钮。
调整顺序: 拖拽章节左侧的「⠿」图标,上下移动到目标位置后释放。
添加标签: 在编辑器底部点击「+ 标签」,输入标签名称后按回车确认。点击标签右侧「×」可移除。
右侧面板提供三种搜索模式:
在所有已导入的报告中全文检索,点击搜索结果可直接跳转到对应章节。
通过 DuckDuckGo 搜索外部资料,点击「插入引用」可将链接自动追加到当前章节编辑器中。
- 在左侧选择需要生成内容的章节
- 切换到右侧「AI生成」标签
- 在输入框中补充生成要求(可选),例如:
重点分析金融行业的挑战,需要包含数据支撑和具体案例 - 点击「✨ AI 生成内容」
- 查看生成预览后,选择:
- 替换内容:用生成内容替换当前章节
- 追加到末尾:在现有内容后追加
- 丢弃:放弃本次生成结果
完成编辑后,点击顶部「导出 MD」按钮,系统将所有章节按顺序合并,下载为 .md 格式文件。
report_tool/
├── app.py # 后端服务(FastAPI)
├── requirements.txt # Python 依赖
├── .env # 环境变量(API Key)
├── .env.example # 环境变量模板
├── start.sh # 启动脚本
├── data/ # 报告数据存储(自动创建)
└── static/
├── index.html # 前端主页面
├── app.js # 前端应用逻辑(Vue 3)
└── style.css # 界面样式
Q: 启动时提示端口被占用
# 查找占用进程
lsof -i :8063
# 终止该进程
kill -9 <PID>Q: AI 生成提示"未配置 ANTHROPIC_API_KEY"
检查 .env 文件中是否正确填写了 API Key,保存后重启服务。
Q: 联网搜索失败
DuckDuckGo 偶发限流,稍等片刻后重试即可。
Q: 导入后章节数量不对
检查 MD 文件中的标题格式,确保标题行以 # 开头且与文字之间有空格,例如 ## 章节标题。
- 后端:Python · FastAPI · uvicorn
- 前端:Vue 3 · marked.js
- AI:Anthropic Claude (
claude-sonnet-4-6) - 搜索:duckduckgo-search