Skip to content
Thy985Public

About

A portable Markdown and mathematics runtime for humans, agents, and CLI.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Tafcm

Typeset · Agent-native · Formula-aware · CLI-native · Markdown-first 移动端 Typora 类排版写作工具:所见即所得(WYSIWYG),以公式 / 图表 / 学术写作为特色。 目标:让手机端也能拥有 Typora 级别的排版级写作体验,任意 .md 即开即看。

CI Phase License


这是什么

Tafcm 不是"带预览的 Markdown 编辑器",而是 移动端 Typora 类产品,三维定位(ADR-0033):

  • T · Typeset:排版优先——用户看到的是 Document 而不是 Block,所见即所得,无"编辑/预览"模式切换
  • F · Formula-aware:原生支持 LaTeX 公式(SVG 矢量渲染)、Mermaid 图表、代码高亮
  • M · Markdown-first:.md 单一真相源,任意来源文件即开即看,无需导入到 Vault

其他特性:手机优先(触屏 + 单手握持重新设计)、离线可用(100% 本地渲染,无云端依赖)、多平台(Android / Windows / Web)。

工程侧差异化(不对最终用户承诺):A · Agent-native(ADI 诊断接口 + issue triage,Agent 可诊断、可驱动的文档工具)、C · CLI-native(ffx-cli 诊断 / 验证 / 分析工具链)。详见 ADR-0024 与 ADR-0033。

核心能力

能力 说明 完成度
Markdown 解析 / 序列化 手写 parser(AST 驱动)+ round-trip fuzz 守护 ✅ 完整
块级 WYSIWYG 编辑 8 种 BlockType + Transaction 模型 + Undo/Redo ✅ 完整
公式渲染 LaTeX → SVG 矢量 + PNG 回退(E6 真机验证) ✅ 完整
Mermaid 图表 WebView 渲染 → SVG 嵌入导出 ✅ 完整
导出 Markdown / Word / PDF / 文本(SVG 矢量硬约束) ✅ 完整
主题 Light / Dark / Sepia(Design System Token 驱动) ✅ 完整
可观测 / ADI 渲染追踪 + Agent Diagnostic Interface + FFX 验证编排 ✅ 完整(Phase 3.7-3.11)

详细能力状态见 docs/product/CAPABILITY-STATUS.md(人类视图) 与 contracts/*.json(机器视图)。

🤖 Agent 诊断接口(ADI)

Tafcm 为 AI Agent 提供完整诊断闭环——让 Agent 从 Observation 出发,自主完成 发现 → 复现 → 定位 → 修复 → 验证(ADR-0024):

环节 能力 命令
发现 渲染 / 导出异常自动采集(Observability,Phase 3.7) adi latest-error --json
因果追踪 追溯诊断链(trace),不凭空假设 adi trace show <id>
复现 重放会话确认可复现(不能复现的 bug 不修) adi replay <id>
验证 修复后验证闭环 adi validate --after-fix

复用而非重采:ADI 消费 Phase 3.7 已建成的采集能力,不重复采集证据(ADR-0024)。 CLI 入口:dart run tools/adi/adi.dart <command>,详见 docs/design/adi-design-v1.md。

🛠 CLI 工具链(ffx-cli)

Python(Click)命令工具链,文档项目全生命周期诊断 / 验证 / 分析:

域 命令 用途
project ffx project create / info / export / diff / status 文档项目生命周期管理
analyze ffx analyze file / adr / structure 文件 / ADR / 目录结构分析
adi ffx adi latest-error / trace / replay / validate Agent 诊断(ADI 的 CLI 封装)
contract ffx contract-sync 能力契约同步(contracts/*.json)

170+ pytest 用例守护;--json 输出可机器消费(CI / Agent 编排)。 详见 tools/ffx-cli/。

📱 演示

真机实拍(v0.1.1,Android 1080×2400)——移动端所见即所得排版:公式 / 表格 / 代码 / 图表 WYSIWYG 编辑。

首页 · 文件列表 文档内部 · WYSIWYG 排版
Tafcm 首页 Tafcm 文档内部

▶️ 演示视频:Tafcm 移动端演示(B 站)

附:App 内置演示文档「Tafcm演示文档.md」,覆盖公式 / 表格 / 代码 / Mermaid / 任务列表。

下载安装

v0.1.1 已发布(2026-08-31,导出稳定性专项):

面向 下载
普通用户 GitHub Releases · v0.1.1(app-release.apk,约 99 MB)
开发者 GitHub Releases · v0.1.1(app-debug.apk,约 231 MB,含调试日志)
  • 要求:Android 8.0+(API 26+)
  • ⚠️ 当前为 debug 签名(正式 keystore 发布前占位);包名已改为 com.tafcm.app
  • 安装前请卸载旧版 FormulaFix(包名不同,避免签名冲突提示)
  • 版本历史见 CHANGELOG.md;详细发布证据见 docs/releases/

当前状态

Phase 0-3.11 全部完成;Phase 3.11(Capability Hardening Loop)已按 PHASE_3_11_EXIT 判定关闭(2026-08-22)。 v0.1.1 已发布(2026-08-31,导出稳定性专项:导出卡死修复 + SnackBar 残留修复;v0.1.0 为 2026-08-30 首个正式版本)。 当前处于 Phase 3.12:信息架构重构(2026-08-27,本文件即为该阶段产物)。

工程地基五维状态(2026-08-22 冻结):

维度 状态
Engineering Foundation ✅ ~95%(编辑内核 / 块运行时 / 持久化 / 导出 / 可观测 / E2E)
Capability Coverage ✅ COMPLETE(F1-F4 四能力族全部验证)
Runtime Validation ✅ FULLY VALIDATED(Formula Real Defect Loop 闭环)
E6/E8 Evidence ✅ RELEASE-GATE SATISFIED(真机 zorn 4/4 PASS + E8 视觉语义验证)
Visual / Product Identity 🟡 ~60%(UI 修复 P2-P3 进行中)

核心架构

Markdown
   ↓
Parser(手写,AST 驱动)
   ↓
Document AST(sealed DocumentElement)
   ↓
Live / Committed 双状态(ADR-0012)
   ↓
Transaction(操作日志 / commit-rollback / coalescing,ADR-0008)
   ↓
History(Undo/Redo)
   ↓
Renderer(Block → Widget,公式 → SVG/PNG)
   ↓
Export(Markdown / Word / PDF / 文本)

—— Agent Engineering 闭环 ——
ADI(诊断采集)→ FFX(验证编排)→ contracts/(能力契约)→ regression/(回归资产)

六层分层架构(core → data → domain → providers → presentation): flutter_app/lib/ 内严格自上而下依赖,循环依赖零容忍(详见 AGENTS.md §1)。

快速开始

# 1. 安装 Flutter(>= 3.44)与 Dart(>= 3.0)
# 2. 拉取依赖
cd flutter_app && flutter pub get
# 3. 运行(Android 模拟器 / 桌面 / Web)
flutter run
# 4. 跑测试
flutter test
# 5. Agent 验证编排(可选)
cd tools/ffx-cli && python -m pytest cli_anything/ffx/tests/

文档入口

入口 用途
docs/README.md 文档门户:按阅读目的导航(新人 / 改代码 / 查决策 / 验证 / 追溯历史)
docs/decisions/INDEX.md ADR 索引:架构决策状态总表(29 篇)
docs/architecture/ARCHITECTURE.md 当前架构总览(只讲"现在是什么")
docs/product/CAPABILITY-STATUS.md 当前能力完成度(人类视图)
docs/engineering/ENGINEERING-BASELINE.md 工程基线 + 已知债务(DEBT 表)
docs/ROADMAP.md 路线图(Phase 0-4)
AGENTS.md AI 协作规范(架构原则 / 编码规范 / 禁止事项 / CI 失败手册)
.agent/CURRENT-STATE.md Agent 当前状态入口

验证入口

资产 位置
能力契约(机器可读) contracts/*.json(11 个)
回归资产(可核对 case 包) docs/regression/
证据资产(截图 + 判定,可追溯) docs/evidence/
视觉基线(golden) flutter_app/test/golden/
运行时产物(不入库) .adi/

🙏 致谢

  • 开源生态:Flutter / Dart、Riverpod、dart_pdf、share_plus、flutter_inappwebview、flutter_math_fork、crypto、Click、pytest 等优秀开源项目
  • 工具链:ffx-cli(cli_anything 命名空间包:诊断 / ADI 封装 / Markdown 分析,Click 实现,170+ pytest 用例)
  • 设计启发:Typora(产品定位与交互范式参照)、formulafix-redesign.design(UI 设计稿)
  • 验证支持:真机测试设备与 E2E 验证(E6 公式渲染 / E8 视觉语义真机证据)

License

本项目基于 MIT 协议 开源。

Copyright (c) 2026 Thy985

About

A portable Markdown and mathematics runtime for humans, agents, and CLI.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages