fb76b10033439075ffc4bcfa0bfbf049fb523328
Windows 迁移 M0。纯新增两个模块 + 4 个脚本接线,**macOS 行为零漂移**。 背景:仓库此前把 /tmp/findatahub-*.pid、~/Library/Logs、 ~/Library/Preferences/...plist 直接写死在十来个文件里;采集管线散落着 start_new_session=True、os.kill(pid,0)、signal.SIGHUP 等 POSIX 专属写法。 这些在 Windows 上分别是:路径不存在、ValueError、探测即杀进程、AttributeError。 - paths.py:temp_dir / pid_file / heartbeat_file / log_root / log_dir / app_support_dir / backups_dir / config_dir / user_defaults_plist / env_file - process_utils.py:detach_kwargs / is_running / terminate_pid / available_signals / register_signal_handler / restore_default_and_die / utf8_subprocess_env 两个必须记住的坑(已写成测试断言): 1. tempfile.gettempdir() 在 macOS 返回 $TMPDIR(/var/folders/.../T), 与现网 PID 文件所在的 /tmp **不是同一目录**。paths.temp_dir() 返回 /tmp 是刻意的,混用会导致新旧进程互相看不见。 2. Windows 上 os.kill(pid, 0) 等价于 TerminateProcess,不是「探测」, 必须用 OpenProcess。 接线:newsflash_collect(PID/心跳/日志/plist)、daily_summary(PID)、 migrate_date_format(备份目录)、install_collector_launchd(plist + 平台守卫)。 同时修 newsflash_collect.write_heartbeat 的静默失败:Swift 端以心跳 300s 未更新判定卡死并重启,而此处原为 except OSError: pass——重启理由 在日志里毫无痕迹。改为状态翻转才记录(心跳 60s 一次,无脑打日志会刷屏)。 验证:现网采集器 status 正常,5 个路径与旧硬编码逐字一致。 回归:test_paths_process_utils.py 32 条 + 心跳可观测性 5 条。
FinDataHub 文档中心
更新于 2026-08-09 | P1-P4 全部完成 | P5 远期规划
目录结构
Docs/
├── README.md ← 你在这里
├── pipeline/ # 🟣 数据管道架构设计
├── macos/ # 🍎 macOS App 设计
└── tracking/ # 📋 项目管理追踪
🟣 pipeline/ — 数据管道架构设计
| 文件 | 类型 | 说明 |
|---|---|---|
findatahub-data-pipeline.html |
设计手册 | 核心架构 + 架构规范:三层 Medallion、7 步 Pipeline、4 级门控、依赖铁律、组件契约、代码质量标准 |
rate_limit_pull_plan.md |
方案文档 | 限流方案:6 接口分析 + 新浪/东财降级 + 北交所重拉 |
EXECUTION_PLAN.md |
已归档 | 重构执行方案(2026-07 阶段,已执行完毕) |
🍎 macos/ — macOS App 设计
| 文件 | 类型 | 说明 |
|---|---|---|
DESIGN.md |
设计规范 | Apple HIG 设计 Token + Liquid Glass 改造方案(附录) |
DEVLOG.md |
开发日志 | SwiftUI App 每日开发记录 |
📋 tracking/ — 项目管理追踪
| 文件 | 类型 | 说明 |
|---|---|---|
TODO.md |
待办 + 完成记录 | 13 项任务 + P1-P4 完成明细 + 架构重构项 |
进度总览
| 阶段 | 内容 | 状态 |
|---|---|---|
| P1 | 采集层:双源交叉验证 + AKShare 修复 + 北交所重拉 | ✅ |
| P2 | 预处理层:7 步 Pipeline + 4 级门控 + 策略画像 | ✅ |
| P3 | 使用层:SDK 11 方法 + API 14 端点 | ✅ |
| P4 | AI 接入:Skills + MCP 7 工具 | ✅ |
| P5 | 云端扩展:阿里云同步 / Redis 缓存 / 数据血缘 | 📅 未来 |
Description
本地金融数据终端 macOS App(SwiftUI + kuaixun-service + MySQL 数据管线)
4.3 MiB
0 Stars
1 Watchers
0 Forks
Languages
Python
58.1%
Swift
26.9%
HTML
8.5%
Vue
2.8%
Shell
1.8%
Other
1.9%