作为一个初出茅庐的小程序员,看到最近 AI 代码能力越来越强,就忍不住想要用 AI ,来尝试完成一个项目,看看只靠 AI 的能力,一个几乎完全不懂前端的人,能做到什么程度,同时,也想,如果这个项目能有人瞧瞧,希望能推广一下键盘风暴这个概念
项目的构思是这样的:用市场上的白板工具做流程图或者脑图的时候,工作流大概是这样的:
当我们需要画的内容变得越来越多的时候,我们需要频繁的这样进行切换,对比于在纸上构建思维导图或者脑图,我们需要来回切换鼠标和键盘,需要考虑容器的位置,拖拽考虑容器的位置,而又到了真正输入内容的时候,思绪可能已经被这些小动作打断了。
所以,我很讨厌这样的工作流,但又不得不接受。我也考虑过别的工作流,比如:
我会觉得这样的方式会更好一点,思绪不会太容易被打断。但这有点失去它们的一部分意义了,它们变成了一个单纯的,美化工具了,美化我原本画的比较丑的图的工具。而我找不到一款更合适的,能打破这个工作流的工具,正好最近 AI 的代码能力越来越强,我就尝试性的,在不太懂前端的情况下,用 AI 完成这个项目。
这个项目我尝试了 cursor 、Trae 、Trae CN 和 vscode 的 copilot ,尝试了 Cluade 3.7 Sonnet 、Cluade 3.7 Sonnet 、Cluade 3.7 Sonnet Thinking 、Gemini 2.5 Pro 、GPT-4.1 、GPT-4o 、deepseek-v3 、deepseek-r1 等模型。如果说,以前有的孩子是吃百家饭长大的,那也不怕您笑话,可以说这个项目是吃百家模长大的。喂孩子的模型可能很懂这些代码,但是孩子的主人几乎不太懂它们,可能也有点像什么都不懂的老板指挥手下的工程师干活?
您大概也能猜到,键盘风暴(kb-storm)是一个 copy 自头脑风暴( Brian storm )的词。这个项目是以键盘为主导的程序,当您进入了网页,按下 ctrl + d
就可以得到一个矩形框或者叫卡片、便利贴(我很喜欢卡片的背景颜色,像便利贴一样),然后就可以直接使用键盘进行输入您的想法了。当您写完了您的想法,您可以继续按下 ctrl + d
,创建下一张便利贴,然后进行输入。
对比于市场上的大部分工具,它使用快捷键就直接创建一个容器并进入了编辑状态,省去了我上面的那个工作流的鼠标步骤,我们只需要用键盘输入我们的想法就好了,不用离开键盘寻找鼠标,不用考虑下一个容器创建的位置,不用考虑容器的大小,不用再双击容器进入编辑状态了。您思维的流出速度,只取决于您的手速。
您可能会想,按下 ctrl + d
后,便利贴(卡片/容器)的位置会出现在哪?是随机出现在屏幕显示区域的位置的。当您移动或者缩放画布了,它就会在画布新的位置(依旧是您的可视区域中)随机生成。您可以运用这一个特性,在白板的不同区域,创建不同的想法区。
为什么是随机生成呢?因为按网格排列太死板了,就像随机生成的便利贴的颜色也不一样。随机生成的便利贴需要整理,就像我们的思绪需要整理。当我们在整理便利贴阶段,进行移动的时候,也正是在对我们的思绪整理的一个过程,而便利贴在移动的时候可能会与其他的便利贴进行碰撞,两个想法相互碰撞,得到新的火花。
卡片的大小呢?我自设了一个比较合适的值,可以容纳一个小想法的内容。而当您输入的内容比较多的时候,它会自适应变大来容纳您的文字,保证的能完全显示。
为了让键盘的功能更强大,除了 ctrl + d
我还设置了一些别的操作:
1
:按下数字 1
,您就进入了卡片选择模式,移动您的方向键,您就可以再卡片之间进行选择,按⬆️,会选中当前卡片该方向上的另一张卡片,按其它方向键同理。目前我没有遇到过有卡片无法选中的情况,可能在极端情况下会有卡片无法选中的情况,您可能不得不使用鼠标进行操作了。
2
:按下数字 2
,您就进入了卡片移动模式,移动您的方向键,您就可以移动您当前选中的卡片,如果您没有选中任何卡片,则会回到卡片选择模式。如果您移动方向键的时候同时按下 shift
键,那么卡片移动的速度会变快。
3
:按下数字 3
,您就进入了线条选择模式,移动您的方向键,您就可以选择卡片之间的连线了,这个是循环选择的,暂时没有像卡片那样设置算法。
ctrl + i
:既然说到了线条,那就说一下连线方式,在选择模式有选中卡片的请胯下,按下这个快捷键,您就可以,使用方向键,移动到另一张卡片上,选择好后,按下 enter
就会在这两张卡片之间连上一条线。也是一个少用鼠标的功能。
tab
:曾经的 tab
键也是用于线和卡片之间的循环,当前 tab
设计的功能是,切换选中卡片的颜色,和切换选中线条的箭头方向。您可以在卡片选择模式和线条选择模式下尝试一下。
快捷键修改:为什么创建卡片的快捷键是 ctrl + d
呢?(为了骗您收藏这个网页( bushi ))答:随便设的。您可以对最常用的 ctrl + d
和 ctrl + i
的快捷键需要修改,改成你喜欢的,更方便的快捷键。
介绍完了主要功能,就基本可以使用键盘风暴了,在给您项目地址前,我想先给您讲讲我设想的一些工作场景和工作流。
毫无疑问,第一个场景就是头脑风暴,当您在电脑上想要进行头脑风暴的时候,您不再需要使用之前的那些白板工具,先用鼠标创建卡片,点进去,再用键盘输入的工作流了,您可以直接用键盘进行一场键盘风暴!
另一个场景是整理,整理读完一本书的内容,整理学完一个知识的内容,做事件的复盘,做一天的回忆
不知道您有没有心动想要尝试的想法了,还有一个小场景是做自由书写,想到哪,写到哪,很符合这个工具的作用,在写完后,进行卡片之间的整理,也是一个对自己思想的考虑过程。
总结:主要的工作流就是先用键盘输入您想要输入的一切,然后再对随机分布的卡片进行整理。整理的过程中您可以用键盘,也可以用鼠标,还可以碰撞产生新的火花。
那么下面是项目地址:
体验地址:( github page 静态部署)
https://qkyufw.github.io/kb-storm/
项目主页:
https://github.com/qkyufw/kb-storm
用户手册:( AI 写的,大部分功能没毛病,您且看看)
https://github.com/qkyufw/kb-storm/blob/master/MANUAL.md
既然您还在阅读,那给您分享一下我设计的一些其它功能
我设计了导出图片,这个功能不是很完善,但能用吧。导入导出 mermaid 功能我也有加上,这个很有效,能同步到其它工具中使用,不太保证稳定性。
导入导出 markdown ,我想过如何保存这些个内容,又能保证可读性。就大胆的设计了用 markdown 来导出内容。导出的标题是 kbstorm 开头的,卡片的内容写在 markdown 正文,每张卡片用 ---
进行分割。在 markdown 的最后面是元数据,如果导入的时候识别到了有元数据,那将可以完全恢复这整个图。
对于导入 markdown ,您也可以选择自己手写一个 markdown 进行导出。具体设计的工作流是这样的:
---
,写一个分隔符当您按下工具栏上的自由连线按钮后,您可以用鼠标在白板上自由的拖拽画线了,对于线的起点终点,您无需费尽脑汁对准卡片的边缘了,起点是一个卡片内的任意一个点,终点是另一张卡片上的任意一个点,起点终点的区域都很大,连上了之后会自动连接两张卡片的边缘并吸附上。当然,起点终点如果有一个不再卡片上,都无法进行连线
其它的一些功能就大差不差的像普通的白板工具的功能了,哦对,还有,双击卡片进入该卡片的编辑,双击白板空白位置则是创建新的卡片,直接可以开始用键盘输入了(这个功能畅想的是在移动端很好用,可以用手双击任意区域,就可以开始新的卡片内容编辑了,不需要拖拽画卡片,方便,简单)
布局系统:您可以看到右上角设计了一种布局——随机布局,意味着您用快捷键,或者导入的卡片,都将出现在屏幕可视区域的随机位置,我希望用户对于这个布局算法能有更高的自定义,比如按网格排列,按螺旋排列?等等,暂时这个系统还不完善。
还有些其它小功能,这里就暂时不一一枚举了
对于这个吃百家模长大的孩子,我感觉磕磕绊绊的,对于一个完整可用的项目来说,它应该能算完成了百分之七十吧?
对于 AI 写代码的最大感受还是,它们对于普通人还是有些距离,如果您完全不了解一个方向,您最好还是有一个引导者,或者有一份完整的教程,因为我开始对前端几乎一窍不通,我最初使用 AI 搭建的过程中,AI 也没有告诉我需要创建 React 项目该如何进行,我就直接让它创建一个 html 网页,差不多就像我拿着剪刀就来拆手机了。
如果您不了解一个东西,您指挥会的人做,您也可能会被蒙蔽。AI ,暂时也没到全知全能的程度,您还是得了解代码,您才能灵活的用 AI ,去解决。大概 AI ,对于高级程序员还是更有用一些。
另外讲讲我遇到的一些问题,记录的不全,见谅:
使用 AI 生成内容最头疼的问题还是时间问题。您必须要比较精准的描述您的需求,或者说,要用它能听懂的话来和它进行沟通。一旦有什么理解错误,网络波动,调试错误,您就会大量浪费时间,尤其是在您可能不懂它写的内容的情况下。
另一个头疼的问题是,如何与它沟通,我在和它的沟通过程中,学会了一种方式,将您的需求交给另一个 AI ,让它来帮你写一份提示词,您可以用它生成一份您满意的,完善的提示词,再交给编辑程序去修改。不少时候,它写的提示词确实很完美,如果您觉的不完善,也可以让它再修改。
如果出现了一个 bug ,AI ,一直解决不了,您不仅可以尝试改提示词,也可以尝试换一个模型,很多时候都有奇效!!!这也是这个项目是吃百家模长大的原因。
目前位置,我还是很喜欢使用 ask 模式,和这些个 AI 斗志斗勇还是有一段时间了,我不太了解 React 都稍微了解一些了。然后能通过 ask 模式去和 AI 设计架构,重构价格,探讨功能如何设计,探讨 bug 如何解决,和它探讨更好的解决方案。
最后的建议:善用 git ,善用回滚。
AI 依旧还只是工具。
感谢您看完这篇长文,还是再说一下,我做这个项目是想看看,我能用 AI 将这个项目构建到什么程度,也希望能宣传一下键盘风暴这个概念,可能不止会有键盘党才喜欢。
我没有期待键盘风暴这个项目能得到流行,它只是我一个前端门外汉用 AI 设计的一个尚且能用的工具。如果您觉得这个项目还不错,您想要进一步完善,非常欢迎!
最后:求点赞,求三连,求分享,求收藏,求关注( bushi ,社恐不需要这个),总之就是小扑街求点热度,球你了 QAQ
欢迎留下您的想法
1
sanshi2018 94 天前
op 我也有个类似画流程图的项目,请问你这个流程图组件是用的现成的组件库如 react-flow ,还是 AI 自己制作的一个流程图组件
|
2
qkyufw OP @sanshi2018 因为是个小项目,组件只有一两种,所以全是 AI 制作,没有使用流程图组件库
|
![]() |
3
DigitaIOcean 94 天前
挺好玩的,不错!
|
4
qkyufw OP @DigitaIOcean 我感觉我写的也还行,就是没什么人看🥲
|
![]() |
5
DigitaIOcean 94 天前
|
6
glzcc520 94 天前
基于什么组件库开发的吗?还是完全 AI 手写
|