~/flow2spec · zsh · 01:00:00

whoami

你的 AI
失忆了吗

Flow2Spec · 让 AI 一直知道你在做什么

AI 协作框架 · Memory Coding(知识库只是一环)

  • 跨设备会话记住项目上下文
  • 内部 路由清单让 AI 不翻仓库、只拿该拿的
  • f2s-* 技能改代码顺手更新知识、始终最新不腐化
兰涛·2026.05·前端组
  • 开场:你的 AI 失忆了吗?
  • Memory Coding:记忆编码进仓;四环(知识 / 任务 / 规则 / 技能),别说三环
  • 知识库只是知识环;Flow2Spec 三件事:续作、路由收窄、f2s 改代码更知识(个数别和四环混)
  • 第 5 页展开两层架构
session · diff · product-review / batch-rescore

compare before-after

同一句需求,两段对话

真实场景:某大型互联网公司业务后端 trn-fe-ops-commerce-api · 796 文件 / 4.7 MB · 416 个接口

没有 Flow2Spec
> 改一下评价模板文案库的批量重评分

AI: 这个模块的表在哪?
AI: batchReScore 是同步还是异步?
AI: 有没有锁?幂等键是什么?
AI: 返回格式是什么?错误码是多少?
AI: (翻遍 416 个接口、796 份文件、4.7 MB 源码…)
反复介绍 · 反复翻代码 · 反复踩坑
有 Flow2Spec
> 改一下评价模板文案库的批量重评分

[matcher 命中] m-product-review-template-library
[加载依赖] 4 个 topic · 约 300 行
AI: 已知 — fire-and-forget
     Redis 锁 smp:product-review:template-library
     :batch-rescore:lock(TTL 10 分钟)
     单次最多 100 条 · 错误码 101
AI: 开始改,预计 3 处文件。
4.7 MB → 300 行 · 秒级定位到硬约束
  • 同一句需求:评价模板文案库 · 批量重评分
  • 左:没框架 → 问表 / 同步 / 锁,常要翻遍接口
  • 右:matcher 命中 → Redis key、错误码、条数已在 topic
  • 金句:不是模型变强,是上下文变准
stats · trn-fe-ops-commerce-api · 2026-05-13

du -sh . && cat .Knowledge/manifest-routing.json

这不是概念 · 是日常

在一个已经深度使用 Flow2Spec 的真实生产仓库里,这些数字每天都在生长。

对外接口数
416
serverless.yml 注册函数 · 传统做法需要 AI 通读全仓
src 文件 / 体积 / 行数
796 · 4.7 MB · 10 万行
Flow2Spec 每次只加载 ≈ 300 行命中 topic · 噪声切掉 99%
topic / matcher / 文档
12 / 11 / 28
主题分片 · 关键词分片 · 存量与需求文档双轨沉淀
接口 / 端 / 任务清单
17/3/14
断续 4 天 · 跨 B 端 · C 端 · 接口端 三仓库 · 评价模板库 / 标签 / 文章改造 / AI 审核 / agent 评分体系 / 前端自定义评分
  • 416 接口 · 796 文件 · 10 万行 — 真实规模
  • 每次约 300 行命中 topic,噪声砍掉绝大部分
  • 近 4 天:17 接口、14 归档任务,B/C/接口三仓并行
  • 无知识库托住,一人难扛这个节奏
why not · openspec · superpowers · rag-kb · ohmyclaude · spec-kit

diff market.md

不强行比 · 让你自己打分

上半:市面五家各做什么,不做什么。下半:Flow2Spec 自己的 5 条能力,映到每家的空位。

OpenSpec
spec 格式最严
× 单向 · 代码漂了不反哺
Superpowers/ ohMyClaude
现成技能即插即用
× 绑 Claude · 无项目知识
RAG 向量库
全量索引 · 相似检索
× 概率命中 · 硬约束拿不住
Spec Kit/ Kiro / BMAD
PM 友好 · 需求直出
× 一次性 · 二次迭代分家
Claude Memory
省得反复自我介绍
× 绑模型 · 非 Memory Coding(未落盘仓)
Flow2Spec · 5 条能力
多端复用
.Knowledge/ 一份 · Cursor / Claude / Codex 原生加载并存
路由收窄
matcher 命中 + 依赖链 + 缺口闸门强制澄清
双向同步
f2s-kb-feat/fix 改代码带改知识 · 不是一次性生成
原生 agent
只给规则+知识+技能 · 不做 wrapper · 新模型来了不卡
变更留痕 + 收尾闸门
.task/ 跨会话续作 · f2s-git-commit 提交前强制查 KB 覆盖
// 老实话 停用 f2s-kb-feat / fix 一样腐化 —— 差别是会被缺口闸门喊出来,不是静默偏差。
  • 上半:五家各做什么、不做什么(快扫即可)
  • OpenSpec 单向不反哺;Superpowers 绑工具;RAG 概率命中;Spec Kit 一次性;Claude Memory 非公仓
  • 下半:Flow2Spec 五条能力(多端 / 路由 / 双向同步 / 原生 agent / 留痕)
  • 老实话:停用 f2s 库仍会腐化,但缺口闸门会喊出来
architecture · two-layer · one-arrow

tree -L 1 -d

一张图 · 两层 · 一根箭头

知识层随项目走 · 规则层随工具走 · 生命周期不同,分开是最基本的决策。

Memory Coding 把要记住的东西编码进可提交的仓,可 diff、可协作——不是押在模型或聊天里。下面两层图里,.Knowledge/知识环(一环);进度、读法、维护由任务环、规则环、技能环分担。 知识环 .Knowledge/ · manifest 任务环 .task/ · 续作清单 规则环 rules · 怎么读 · 怎么做 技能环 f2s-* · 维护与触发 ≠ 模型 Memory(私有) · ≠ 裸 RAG(概率猜) · Flow2Spec ≠ 只有知识库
KNOWLEDGE LAYER · Memory Coding 知识环
.Knowledge/
路由 + 主题 + 存量/需求文档 —— Memory Coding 的一环,不是全部。
manifest-routing.json matchers/*.json topics/*.md stock-docs/*.md req-docs/*.md
知识环 · 多层记忆
L0 manifest L1 matchers L2 topics L3 stock / req
横读:match → expand → verify → act(第 6 页)· 纵链:topicDependencies(第 7 页)
RULES LAYER · 规则环 + 技能环
.cursor/ · .claude/ · .codex/
规则环规定怎么读、怎么做;技能环(f2s-*)维护知识、触发流程;.task/ 任务环在仓内并列。
.cursor/rules/*.mdc .claude/rules/*.md .codex/AGENTS.md skills/*/SKILL.md
  • Memory Coding:要记住的编进可提交仓,可 PR / review
  • 四环:知识环 .Knowledge/ · 任务环 .task/ · 规则环 · 技能环(分列,勿说三环)
  • 两层:知识层随项目 · 规则层随工具;箭头:技能维护 ↑ · 规则读与做 ↓
  • L0→L3 横读;topicDependencies 纵链(第 7 页)
  • Flow2Spec ≠ 只做 RAG
feature · 01 / 03 · progressive load

cat match·匹配 && expand·展开 && verify·校验 && act·执行

渐进式读取 · 先查目录,再翻书

知识环上横读收窄:用户说一句「改评价模板文案库的批量重评分」,Flow2Spec 走四步:

match · 匹配
m-product-review-
template-library
命中 matcher,只读这一个分片
expand · 展开
+3 依赖 topic
common / platform / toClient 自动拉齐
verify · 校验
缺口检查
置信度不足 → 先向用户澄清
act · 执行
开始改代码
预计 3 处文件 · 带硬约束
加载什么,就是不加载什么 —— 4.7 MB 源码 → 300 行 topic, 不是让 AI 更聪明,是把噪声切掉。
  • 知识环横读:match → expand → verify → act
  • 只开一个 matcher 分片,不全仓 grep
  • 置信度不够先澄清,不瞎猜
  • 金句:几 MB 仓库 → 几百行 topic,是切噪声不是变聪明
feature · 02 / 03 · topicDependencies

resolve topicDependencies('product-review-template-library')

一句话 · 4 层依赖自动展开

知识环 L2 纵链:你只说了「商品评价」三个字,topicDependencies 已拉齐通用约定 → 子域边界 → C 端白名单 → 本域细则。

└─
common-modules-context ctx · responseData · QMQ · getDb · DB 字段规范 79 行
  └─
social-media-platform-context 业务 B 端子域 · 3 仓库分工 · @sm/* 别名 79 行
    └─
social-media-toclient-whitelist C 端 checkUidAndWhiteList · UID 隔离 · 错误码 39 行
      └─
product-review-template-library 本域细则 · Redis 锁 · AI 评分 · 本域例外 67 行
依赖挂在主题级,不是任务级 —— 新增任务无需重复声明前置,漏了也不会静默失效。
  • 纵链:topicDependencies 四层 topic 自动展开
  • 依赖挂在主题级:挂一次,全任务共享
  • 新任务不必每次手写前置约束
  • 漏了不会静默失效
case · groupon × coupon · hard-constraints

cat .Knowledge/topics/{groupon,coupon}-context.md | grep "必须\|禁止"

每一条 topic · 都是 挡 AI 犯错的防线

另一条主线:拼团 + 通用券。这些约束凭 AI「看代码」绝对猜不出来 —— 写在 topic 里直接挡掉。

groupon · 01

joinGroupon · 同事务双写

参团记录 + 用户统计表 必须在同一 sequelize.transaction() 内提交。
禁止先写参团记录再另起事务更新统计, 并发下会出现 maxUserJoins 漂移。
groupon · 02

maxUserTeamLeader · 按 type 隔离

团长上限 仅统计当前活动 type 的开团数
跨 type 不累加;校验源为 QConfig groupon-setting.json · validField / maxUserJoins / needNewGuest 必须先读再动。
coupon · 03

前端只传 activityCode

对外接口不接受 promotionId;后端通过 activityCodepromotionId + couponConfigId,改造必经 @/utils/couponHelper.js
泄露 promotionId 会让活动在未上线时被枚举调用。
coupon · 04

status 优先级 0 > 1 > 2

领券结果 status 语义:0=失败 · 1=成功 · 2=已领取 · 3=已领完 · 4=不可领
合并多源状态时 必须按 0>1>2>3>4 取优先级,不是取 max 也不是取 min。
  • 上一页广度,本页密度
  • 拼团双写限流、券 status 优先级 — AI 看代码猜不出
  • 踩坑 → f2s-kb-fix 写进 topic → 后续直接挡错
  • 知识库是长出来的,不是先堆两周文档
feature · 03 / 03 · resume-across-sessions

cat .task/completed/20260511-product_review_review_publish_flow/task.md

会话断了 · AI 自己接上

一个横跨三端、9 步、分多次会话完成的真实任务 —— 中途任何一次下班关机,下次只说一句「继续」。

.task/completed/20260511-product_review_review_publish_flow/task.md
# product_review_review_publish_flow
  • 步骤1:生成技术方案(接口端 + B端)
  • 步骤2:接口端 · 文章表新增 5 字段
  • 步骤3:修改文章创建接口
  • 步骤4:修改审核接口(状态流转:已通过→待发布)
  • 步骤5:新增文章发布接口(回填帖子链接 + 合作码)
  • 步骤6:B端 · 修改列表/详情接口
  • 步骤7:B端 · 修改编辑接口
  • 步骤8:同步知识库
  • 步骤9:提交代码

// 续作体验

下一次会话开口只说 「帮我继续做文章发布流程」——
关键词命中 todo.json 里的任务, AI 读出 剩余步骤、自动加载技能规则、从上次断点继续。
大模型没有跨会话记忆 · 我们用一份 .task/todo.json 显式接回来。
user-todos.md 还会把须用户在线下做的事(跑 DDL、开开关、发版)落盘。
// .task/ 目录结构
.task/
├── todo.json              ← 任务索引 · 命中关键词即续作
├── active/
│   └── template_ai_score/
│       ├── task.md        ← checklist([x] = 进度)
│       ├── context.md     ← 涉及文件 · 资料链接
│       └── user-todos.md  ← 用户线下待办(DDL · 发版)
└── completed/
    └── 20260511-product_review_review_publish_flow/
        ├── task.md        ← 全部 ✅
        ├── context.md
        └── user-todos.md
todo.json 命中关键词 读出 task.md 剩余步骤 从断点继续
  • 真实任务:三端 · 9 步 · 多次会话
  • 只说「继续」→ todo.json 命中 → task.md 断点续作
  • user-todos.md:DDL / 开关 / 发版 — Agent 干不了的落盘
  • 任务环也是 Memory Coding 的一环
skills · command-map

f2s skills --list

命令能力总览

按阶段选 f2s-*,不必记全表; flow2spec init 落盘模板与路由,日常在对话里点名技能即可。

① 接入 落盘与迁移 flow2spec init · f2s-kb-migrate · f2s-kb-upgrade 新仓对齐模板;旧库一次性迁到 .Knowledge
② 需求 澄清 → 技术方案 f2s-req-clarify · f2s-req-backend PRD 问清、出后端/技术方案文档(不必经过 req-plan)
③ 文档入库 方案 / 终稿 / 架构 / 里程碑 f2s-doc-pdf · f2s-doc-final · f2s-doc-arch · f2s-doc-milestone req-docs 与 stock-docs 沉淀;里程碑由四源生成并落盘
④ 迭代同步 规划(可选)· 实现 · 同步 f2s-req-plan · f2s-kb-feat · f2s-kb-fix · f2s-kb-sync req-plan 独立可选;feat/fix 按技术方案改代码(可带 .task);sync 回写知识库
⑤ 收尾 提交与合并 f2s-git-commit · f2s-kb-merge 带知识库检查的 commit;合并后上下文冲突处理
⑥ 知识维护 路由与已有能力 f2s-ctx-build · f2s-ctx-rm · f2s-doc-add stock-docs ↔ topics/manifest;多文件解析进知识库

按技术方案写代码走规则 implement-tech-design(非单独 f2s 技能名);多文件已有能力用 f2s-doc-add 一条龙入库。

  • 命令地图 — 记阶段,不背二十几个技能名
  • ① 接入:init / migrate / upgrade
  • ② 需求:clarify / backend(不必经过 req-plan)
  • ③ 文档:pdf / final / arch / milestone
  • ④ 迭代:req-plan(可选)+ feat / fix / sync;按方案走 implement-tech-design
  • ⑤ 收尾:git-commit / kb-merge · ⑥ 维护:ctx-build / ctx-rm / doc-add
  • init 只落模板,业务知识要靠 f2s 流程长出来
onboarding · progressive-kb

f2s progressive --no-upfront-cost

写着用 · 不用先写完

最小可用集是 1 条 manifest + 1 个 matcher + 1 份 topic,其余**随需求长出来**。

init1 分钟
拉起骨架
# 生成 .Knowledge/ + 工具配置
$ npx @double-codeing/flow2spec@latest init
空的 manifest-routing.json
可直接跑,不写一行知识
首次接入一个需求
沉淀首批知识
# 喂一份架构文档
/f2s-doc-arch
/f2s-doc-add
AI 读存量文档
→ 生成首个 topic + matcher
日常改代码 → 记知识 → 提交
开发闭环
# 一条命令走完:改 + 记 + 提交校验
/f2s-kb-feat    # 新功能 → 代码 + topic 同步入库
/f2s-kb-fix     # 修 bug → 更新 topic 防再踩
/f2s-git-commit # 提交前检查 topic 覆盖 + 规范信息
改代码、记知识、提交校验一条龙
知识库**随业务增长**,不腐化
维护按需
体检 · 对齐
# 代码超前了 / 合并冲突了
/f2s-kb-sync   # 同步能力到知识库,先出大纲再落盘
/f2s-kb-merge  # rebase/merge 后处理上下文冲突
kb-sync:实现落地后再补录知识库
kb-merge:解决分支合并后的知识冲突
// 知识库 + 项目配置 + 内置规则主题
.Knowledge/ + 配置
.Knowledge/
├── manifest-routing.json         ← 路由表
├── matchers/
│   └── *.json                       ← 关键词分片
├── topics/
│   └── <topic>.md                   ← 主题知识
├── stock-docs/
│   └── *.md                        ← 存量文档
└── req-docs/
    └── *.md                        ← 需求 + 方案

flow2spec.config.json
├── subAgent: true/false              ← 子 agent 开关
└── switchAgentVerification           ← 交叉校验
    changeTracking.feat/fix/implement ← 变更追踪
.claude/rules/ · .cursor/rules/(镜像同步)
f2s-* 内置规则主题(包模板 → init 落盘)
├── f2s-config-check.md           ← 技能前置强制步骤
├── f2s-knowledge-preflight.md    ← 知识库首读约束
├── f2s-karpathy-guidelines.md    ← Karpathy 编码准则
├── f2s-task.md                    ← 变更追踪规范
└── f2s-flow2spec-unified-entry.md ← 知识读取顺序

init 补齐骨架 → f2s-* 技能随需求生长 → 缺口闸门防静默偏差
"得先写完所有文档才能用?"→ init 当天就跑,文档为零也不挡路
"不知道写多少才够?"→ 1 topic + 1 matcher 起步,缺口闸门会喊
"格式学习成本高?"→ 不用手写,f2s-* 技能代写、代改、代校验
"写了用不起来?"→ 加一条测一条,matcher 命中即验证
"历史项目要整块迁?"不必。init 骨架 → 下次需求命中哪块,写哪块
  • 不必先写两周文档
  • 最小集:1 条路由 + 1 个 matcher + 1 份 topic
  • init 一分钟拉骨架;feat/fix 日常记知识;commit 前检查覆盖
  • 方向:下次需求命中哪块,写哪块
live · demo · routemap

./demo.sh --case product-review-template-library

真实案例 · 评价模板文案库

一条主线 6 步走通 · 期间穿插十余次 feat/fix 小迭代,都在同一条知识链上生长。

1
/f2s-req-clarify 「做一个模版库给用户文章做 AI 润色,模版和文章都要 AI 评分,B/C 两端都要读」
澄清是 「成批问 → 你答 → AI 对知识库查缺 → 再成批问」的迭代,不是一问一答:
轮 1 · 一次性抛 12 个问题
AI:定位(仅运营编辑?C 端选模版发帖?历史版本?去重?)· 数据形态(标签独立表/内联?多对多?纯文本/富文本?3000 字按字符数?图片数组几张?占位符?)· 匹配(U⊆L 完全覆盖 vs 交集最大?权重何时 +1?下线/删除可被命中?)
:一次性逐条回答。
↓ AI 自检 · 把答案对齐已加载的 4 层 topic + stock-docs
对照 product-review / common-modules / social-media-platform 已有事实:发现 (a) 批量方法没说够数是否补查、(b) 并列怎么破没讲、(c) 图片上传工具没点名、(d) 接口是新建还是复用现有没确认 → 继续追问。
轮 2 · 针对缺口再抛 4 个问题
AI:需要 needCount 不足时补查吗?|L| 最小相等时按什么兜底?图片上传复用 admin utils 还是新建?BC 接口从零实现吗(当前 0)?
:不补查直接返回 · 按使用权重破平 · 复用 admin utils · BC 均从零。
→ AI 再次对 KB 查缺,无遗留 → 定稿 req-docs/商品评价_模版文案库_需求澄清.md(10 小节 · U⊆L 三档规则)+ 配套 商品评价_文章发布流程改造_技术方案.md(postType / imageUrls / publishStatus 流转)
2
/f2s-req-backend matcher 命中 m-product-review-template-library
自动加载 4 层 topic 依赖(common-modules → social-media → product-review → template-library),产出 req-docs/商品评价_模版文案库_技术方案.md + 5 份 DDL(文案库 / 标签 / 关联 / 评分规则 / agent prompt)。
3
方案定稿后 你说一句「实现这个技术方案」或「继续」 · 落 .task/active/template_ai_score/
不用记命令——读到 req-docs/ 里的技术方案,AI 触发 f2s-implement-tech-design,自动拆 8 步 checklist:建评分规则表 → 模型 → aiScoreHelper(先 mock)→ 4 个 CRUD + serverless 注册 → 入库 fire-and-forget 触发评分 → 批量重评分接口 → 列表/详情透传 aiScore → KB 同步。每步勾钩,中断可续。
4
/f2s-kb-feat 说需求 = 实现 + 自动入库
c1d2e3f · 新增 rpAiForPeta
:格式是字段映射关系,模型和 endpoint、 apiKey 由端上传入,服务端只做转发+格式校验
AI:实现 rpAiForPeta(fields, model, apiKey, endpoint) · 按映射提字段 → 拼 prompt → 调指定模型 · model 白名单 gpt-4o-mini / deepseek-chat · endpoint 须白名单域名 · 超时 30s
→ topic「rpAiForPeta」映射规则 / 端上入参 / 白名单 / 超时约束
f4a5b6c · C端新增图片上传方法
:发帖前传图拿 CDN URL,单张 ≤10MB、每次 ≤9 张
AIPOST /api/c/upload/image · 限制格式 jpg/png/webp · 鉴权复用发帖 token · 禁止 base64 直传
→ topic「C端图片上传」接口路径 / 限制 / 鉴权
a7b8c9d · 用户上传的文章也需要评分
:不只模版库,用户自上传文章也要 AI 评分
AIscoreContent 已通用 → 发帖接口加评分调用 · 结果不进模版库表,新开 user_article_score
→ topic「评分体系」补充:用户文章评分 → 独立表
5
/f2s-kb-fix 3 次迭代都走同一入口 · 每次带着改 topic
c8d9e0f1 · 评分漏传 title
:运营吐槽同样内容分数波动大——我一看 scoreContent 只把 content 扔给 Agent,标题完全没进去
AI:给 scoreContent(title, content, model?),prompt 里把标题作为独立上下文。六个 handler 都补一下调用。要改 topic 吗?
→ topic「评分输入结构」表新增一行:title: string · 必传 · 用于 Agent 理解主题意图
2a3b4c5d · scoreContentBatch 串行改并发
:批量重评分 10 条要 90 秒,这个方法不用一条一条等
AIfor-awaitPromise.all 并发触发,实测 10 条 9 秒。顺手把繁忙错误码 AI_BUSY 从字面量拆到 _enum——避免后面又飞散。
→ topic「批量重评分时序」从「顺序」改「并发」+ 加一段 Redis 互斥锁(避免并发雪崩)
6e7f8a9b · 标签软删改物理删
:标签软删之后,关联表里还挂着脏数据,查询偶尔带出已删标签,先改物理删
AI:删标签改物理删除 + 开事务一起清 commerce_review_template_library_tag_rel。topic「标签生命周期」那段原来写的是「软删保留 180 天」,我直接改成「物理删 + 事务清关联」
→ topic 更正:删除语义 = 物理删 + 事务清关联(旧版软删描述已废弃)
6
/f2s-git-commit 收尾闸门 · 冲突扫 / KB 覆盖查 / emoji + Conventional
提交前强制三查:① 冲突标记预扫 ② topic 已覆盖新字段 ✓ ③ 首行 🚀 feat(product-review): 模版文案库 + AI 评分 · 不 add -A · 不跳 hooks · 不自动 push。B 端管理 UI 另起仓库走同一套。
一条主线 6 步 走通 · 期间 10+ 次小迭代 都在同一条知识链上生长。
  • 案例:评价模板文案库 → 17 接口 / 约 4 天(可滚动,挑重点)
  • f2s-req-clarify:成批问 → 你答 → 查缺 → 再追问,两轮定稿
  • f2s-req-backend:四层依赖 + 技术方案 + 5 份 DDL
  • ③ 实现:「继续」→ implement-tech-design + 8 步 checklist
  • f2s-kb-feat / ⑤ f2s-kb-fix:代码与 topic 同步
  • f2s-git-commit:三查通过;不自动 push
honest · dont-use-when

echo "not a silver bullet"

说实话 · 什么时候不要用

Flow2Spec 用结构投入换长期复利。下面三种场景,结构投入不划算,别硬上。

×
一次性脚本 · 临时工具
写完就删的东西,直接把几个 Markdown 丢给 AI 更快。知识库维护是纯额外成本。
×
单人小项目 · 不多端协作
只有你一个人、一个 AI、一台电脑 —— 一份 CLAUDE.md 足够,路由和分片的开销大于收益。
×
团队不愿同步 .Knowledge/
改了代码不同步技能,知识库照样腐化。工具不能替代纪律,f2s-* 只是降低"同步成本"的手段。
  • 说清楚「什么时候不用」比夸好用更可信
  • ① 一次性脚本写完就删
  • ② 单人小项目一份 CLAUDE.md 够用
  • ③ 团队不愿同步 .Knowledge/ — 工具不能替代纪律
~/flow2spec · end · 02:00:00
// the takeaway

不是让 AI 更聪明
是让 AI 一直知道你在做什么

repo·github.com/Lands-1203/Flow2Spec
install·npx @double-codeing/flow2spec@latest init
upgrade·对话点名 f2s-kb-upgrade(知识库模板升级,≠ 单独 init)
contact·兰涛
  • 收束:差别在上下文,不在模型更聪明
  • github.com/Lands-1203/Flow2Spec · npx @double-codeing/flow2spec@latest init
  • 老项目:f2s-kb-upgrade 对齐模板;勿把单独 init 当升级
  • 欢迎试用 / issue / 会后交流