news 2026/5/10 3:19:17

AI Workflow:一键注入170+技能,让AI编程助手秒变行业专家

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI Workflow:一键注入170+技能,让AI编程助手秒变行业专家

1. 项目概述:告别重复“调教”,让AI助手秒变行业专家

如果你和我一样,每天都在和Claude Code、Cursor这类AI编程助手打交道,那你一定经历过这个场景:每次开启一个新对话,你都得像个老师一样,从头开始“调教”它——“写博客要用H2标题”、“SEO要加元描述”、“技术分析要看MACD金叉”……同样的行业知识、同样的最佳实践,一遍又一遍地重复输入,宝贵的对话轮次和创造力都浪费在了基础教学上。

这就是我最初发现nicepkg/ai-workflow这个项目时,感到眼前一亮的原因。它不是一个新框架,也不是一个复杂的SDK,而是一个极其聪明的“技能包”集合。简单来说,它把内容创作、市场营销、股票交易、产品管理等不同领域的专业知识和操作流程,打包成了一个个即插即用的“技能”(Skills)。你只需要运行一行命令,就能把这些技能瞬间注入到你常用的AI助手(如Claude Code、Cursor、GitHub Copilot等)中。从此,你的AI助手不再是白纸一张,而是自带170+项专业技能的行业专家,开箱即用,直接进入高效协作状态。

这个项目的核心价值在于“经验复用”和“零成本启动”。它解决了AI助手当前最大的一个痛点:会话失忆。每次新对话都是独立的,AI无法记住你上次教给它的那些特定领域的复杂规则和流程。而AI Workflow通过预置的、结构化的技能文件,巧妙地绕过了这个限制,让专业知识的沉淀和调用变得像安装一个npm包一样简单。无论你是想快速生成一篇符合SEO规范的博客大纲,还是想让AI帮你分析A股市场的技术指标,都不需要再从零开始解释。这对于需要频繁跨领域工作,或希望将个人/团队的最佳实践固化的开发者、创作者和专业人士来说,无疑是一个巨大的生产力提升工具。

2. 核心设计思路:技能即资产,开箱即用的专业知识库

2.1 从“每次教学”到“一次部署,处处使用”的范式转变

传统的AI协作模式是线性的、重复的。你有一个需求,打开AI,输入指令,AI基于其通用知识库生成内容,你进行修正和引导。这个过程里,那些属于你个人或特定领域的“隐性知识”——比如你公司内部的产品需求文档(PRD)格式、你习惯的SEO关键词布局策略、你信赖的股票技术分析组合——都需要你手动输入,且无法在下次对话中直接复用。

AI Workflow的设计哲学,正是要打破这个循环。它将“隐性知识”显性化、模块化、资产化。具体是怎么实现的呢?它利用了主流AI编程助手(如Claude Code)一个非常关键的特性:支持本地或项目级的“技能”(Skills)目录。这些技能本质上是一个个Markdown文件,里面用自然语言清晰地定义了在特定场景下,AI应该如何思考、如何行动、遵循哪些步骤和规则。

项目的设计者没有自己去从头创造这170多个技能,而是做了一件更高效的事:聚合与适配。他们从Anthropic官方技能库、Vercel的agent-skills、社区优秀的技能集合(如tradermonty的Claude交易技能)中,筛选、整理、分类,最终形成了六个高度凝练的“工作流”(Workflow)。每个工作流都是一个技能包,针对一个垂直领域。这种“站在巨人肩膀上”的做法,确保了技能的质量和实用性,也让项目能够快速覆盖多个热门领域。

2.2 工作流与技能的两层架构解析

理解AI Workflow,需要搞清楚两个核心概念:工作流(Workflow)技能(Skill)。这是一种清晰的两层架构。

  • 工作流(Workflow):这是顶层的逻辑容器,对应一个完整的专业领域。比如“内容创作者工作流”、“股票交易员工作流”。安装一个工作流,就意味着你一次性为你的AI助手加载了这个领域所需的一整套技能集合。目前项目提供了六大工作流,覆盖了从创意生产到金融分析的广泛需求。
  • 技能(Skill):这是底层的执行单元,是一个具体的、可执行的任务或知识模块。例如,在“内容创作者工作流”中,可能包含“SEO文章大纲生成”、“Markdown美化排版”、“社交媒体帖子改写”等多个独立技能。每个技能都是一个独立的.md文件,有明确的名称、描述和执行指令。

这种架构的好处是灵活。你可以按需安装整个工作流,获得全面的能力;也可以只安装工作流中的某一个特定技能,实现精准的功能增强。项目通过一个统一的命令行工具add-skill来管理这一切,使得安装过程变得无比简单。

2.3 跨工具兼容性的实现原理

另一个精妙的设计是它对多达14款AI工具的兼容支持。这并不意味着项目为每个工具都写了一套适配代码,而是巧妙地利用了这些工具在技能加载机制上的共性

仔细观察项目文档中“支持的AI工具”表格,你会发现,虽然工具名称各异,但它们的技能存储路径有规律可循。大部分工具都遵循类似的约定:在项目根目录下创建一个以工具名命名的隐藏文件夹(如.claude/,.cursor/),里面再包含一个skills/子目录。用户的技能就放在这里。

add-skill这个命令行工具的核心工作之一,就是路径映射与文件分发。当你运行npx add-skill nicepkg/ai-workflow/workflows/content-creator-workflow时,它会:

  1. 从GitHub仓库下载“内容创作者工作流”的技能包。
  2. 检测你当前环境或你指定的AI工具(比如Claude Code)。
  3. 根据预置的路径映射表,将技能文件(SKILL.md)复制到正确的目录下,例如~/.claude/skills/content-seo-optimizer/
  4. 完成安装,AI助手在下次启动或刷新时就能识别并加载这些新技能。

这个过程对用户完全透明,你不需要关心文件具体被复制到了哪里,只需要知道“命令执行成功,技能已就绪”。这种设计极大地降低了使用门槛,实现了真正的“一键部署”。

3. 六大核心工作流深度解析与实战场景

项目提供的六个工作流是其核心价值所在。下面我将结合自己的试用体验,逐一拆解它们能做什么,以及在实际工作中如何调用。

3.1 内容创作者工作流:你的全能内容副驾

作为一名技术博主,这是我测试的第一个工作流。安装后,在Claude Code中新建一个文件,输入“/”触发技能建议,我立刻看到了诸如“Generate SEO-Optimized Blog Outline”、“Rewrite for LinkedIn”、“Extract Meta Description”等技能。

实战场景:我需要写一篇关于“React Server Components”的教程。

  1. 我激活了“Generate SEO-Optimized Blog Outline”技能。
  2. 我对Claude说:“帮我生成一篇关于React Server Components入门教程的SEO大纲,核心关键词是‘React服务端组件’、‘SSR’、‘Next.js 13’。”
  3. AI在技能的引导下,没有直接生成普通大纲,而是输出了一份结构清晰、包含H2/H3标题、预估阅读时间、元描述建议、目标关键词列表,甚至在开头部分还建议了情感基调(如“友好、解惑式”)的详细提纲。这比我平时自己构思要快得多,而且结构更专业。

实操心得:这个工作流里的“Audience Adaption”技能非常实用。你可以将同一篇技术文章的核心内容,快速适配成面向小白的“科普文”、面向开发者的“实战文”或面向管理者的“趋势分析文”,大大扩展了内容的复用性。

3.2 市场营销专家工作流:从策略到执行的加速器

这个工作流适合需要制定GTM(Go-To-Market)策略、分析营销漏斗或撰写广告文案的从业者。它内置了AIDA模型、USP提炼、社交媒体日历规划等技能。

实战场景:为一个新的开发者工具设计启动计划。

  1. 激活“GTM Strategy Framework”技能。
  2. 向AI描述产品:“一个面向前端开发者的VS Code插件,能自动将设计稿中的样式转换为Tailwind CSS代码。”
  3. AI会基于技能框架,引导你一步步定义目标用户画像(Persona)、核心价值主张、关键渠道(如Product Hunt、Hacker News、技术社区)、KPI指标以及阶段性的营销活动日历。它甚至会建议你针对不同渠道准备不同话术的文案。

3.3 股票交易员工作流:多市场分析助手

这是我个人认为非常硬核的一个工作流。它不仅仅包含通用的技术指标分析,还特别区分了A股、港股、美股等不同市场的分析逻辑和关注要点,比如A股对政策面的敏感性、港股对国际资金流的关注等。

实战场景:快速分析一家科创板上市公司。

  1. 激活“A-share Fundamental Screening”和“Technical Analysis Composite”技能。
  2. 将公司股票代码和近期财报关键数据(营收、净利润、毛利率)提供给AI。
  3. AI会结合技能知识,不仅计算常见的PE、PB比率,还会提醒你关注科创板特有的“研发投入占比”、“行业定位”等要素。在技术分析部分,它会综合MACD、RSI、布林带等多个指标,给出一个多维度研判,而不仅仅是罗列数字。

注意事项:金融分析涉及重大决策,此工作流技能仅为信息整理和初步分析工具,绝不能作为唯一的投资决策依据。所有AI生成的分析结论都必须经过你个人的独立验证和判断。

3.4 产品经理工作流:结构化产品思维的延伸

这个工作流将产品经理日常的PRD撰写、用户故事拆分、优先级排序(如RICE、MoSCoW模型)等流程固化成了技能。它能确保AI输出的产品文档符合专业规范。

实战场景:为一个“团队知识库”功能撰写用户故事。

  1. 激活“User Story Mapping”技能。
  2. 描述功能核心:“用户可以在知识库中创建、编辑、分类文章,并支持团队协作和版本历史。”
  3. AI会按照“角色-目标-价值”的格式,生成一系列颗粒度合适的用户故事,例如:“作为一名内容编辑,我希望能使用富文本编辑器格式化文章,以便产出更美观易读的内容。” 并且它会自动将这些故事归类到“发布文章”、“管理内容”等不同的活动组下,形成故事地图的雏形。

3.5 视频创作者工作流:破解流量密码的脚本库

从爆款标题公式、3秒钩子(Hook)创作,到YouTube算法优化建议和缩略图设计原则,这个工作流直击视频创作的核心痛点——吸引并留住观众。

实战场景:策划一个关于“AI编程助手对比”的视频。

  1. 激活“YouTube Hook Generator”和“Script Structure (Problem-Agitate-Solution)”技能。
  2. 告诉AI视频的主题和想要对比的几款工具(如Cursor vs. Claude Code vs. GitHub Copilot)。
  3. AI会基于PAS(问题-激化-解决)模型,先帮你构思一个抓人的开头:“还在为每个编程助手都要重新教学而烦恼吗?(问题)每次新对话都像教小学生,重复劳动浪费你多少本可以写代码的时间?(激化)今天,我用一个神器,让它们全部秒变专家,教你一键部署专属技能库!(解决)”。接着,它会给出一个包含对比维度、演示环节、结论总结的完整脚本框架。

3.6 Talk to Slidev工作流:将对话变成专业幻灯片

这是一个极具创意的工具型工作流。Slidev是一个基于Markdown制作幻灯片的工具。这个工作流的技能,能让你直接用自然语言描述演讲内容,AI自动生成符合Slidev语法的Markdown文件,进而渲染出风格统一的专业幻灯片。

实战场景:准备一个技术分享幻灯片。

  1. 确保你已安装Slidev。
  2. 激活“Generate Slidev Presentation”技能。
  3. 对AI说:“创建一个关于‘现代前端构建工具演进’的幻灯片,共15页,包含Vite、Turbopack、Rspack的对比,需要一个有科技感的主题。”
  4. AI会生成一个完整的slides.md文件,里面已经分好了页(---分隔),每页有标题和要点,甚至可能包含代码块、图表指令和主题配置。你只需运行slidev slides.md就能预览和进一步编辑。

4. 从安装到自定义:全流程实操指南

了解了工作流能做什么,接下来我们一步步实现它。整个过程非常顺畅,几乎不会遇到障碍。

4.1 基础安装:一行命令的魔法

安装一个完整的工作流是最简单的使用方式。你不需要克隆仓库,也不需要安装任何全局依赖,得益于npx,所有过程都是一条命令完成。

# 例如,安装内容创作者工作流 npx add-skill nicepkg/ai-workflow/workflows/content-creator-workflow

运行这条命令后,你会看到一个交互式命令行界面。它会自动检测你系统上已安装的AI工具(比如Claude Code),并询问你是否要将技能安装到这些工具中。确认后,它就会自动完成下载和文件复制。

安装后的验证: 以Claude Code为例,安装成功后,你可以通过以下方式验证:

  1. 在Claude Code的聊天界面,输入“/”查看技能列表,你应该能看到新安装的技能。
  2. 或者,直接去文件系统查看。对于全局安装,技能会放在~/.claude/skills/(Mac/Linux)或C:\Users\<你的用户名>\.claude\skills\(Windows)目录下,里面会多出以技能名命名的文件夹。

4.2 高级安装技巧:精准控制与批量部署

add-skill工具提供了丰富的参数,满足不同场景的需求。

# 1. 仅安装特定技能,而非整个工作流(适合深度用户) npx add-skill nicepkg/ai-workflow/workflows/marketing-pro-workflow --skill utm-builder # 这只会安装营销工作流中的“UTM构建器”这一个技能。 # 2. 在安装前列出工作流中的所有技能,方便选择 npx add-skgill nicepkg/ai-workflow/workflows/stock-trader-workflow --list # 终端会打印出该工作流包含的所有技能名称和简介。 # 3. 指定安装到特定的AI工具(当你安装了多个工具时) npx add-skill nicepkg/ai-workflow/workflows/product-manager-workflow -a cursor -a claude-code # 这将只把技能安装到Cursor和Claude Code,忽略其他工具。 # 4. 全局安装 vs 项目本地安装 # 默认是项目本地安装(技能放在项目目录的 .cursor/skills/ 等位置)。 # 添加 `--global` 或 `-g` 参数进行全局安装,对所有项目生效。 npx add-skill nicepkg/ai-workflow/workflows/video-creator-workflow --global # 5. 非交互式安装(适用于脚本或CI/CD) npx add-skill nicepkg/ai-workflow/workflows/content-creator-workflow -y # `-y` 参数会自动回答所有提示为“是”,适合自动化场景。

4.3 创建属于你自己的定制化工作流

项目的真正威力在于你可以扩展它。也许你是一个法律科技从业者,需要“合同审阅要点”技能;或者你是一个独立游戏开发者,需要“像素美术设计规范”技能。创建自定义工作流非常简单。

方法一:直接克隆仓库并利用AI创建(推荐)这是最智能的方式,完美体现了“用AI增强AI工作流创建”的理念。

# 1. 克隆仓库到本地 git clone https://github.com/nicepkg/ai-workflow.git cd ai-workflow # 2. 用你喜欢的AI编程助手(如Cursor)打开这个项目文件夹。 # 3. 直接向AI发出指令,让它为你创建新工作流!

你可以尝试这样提问:

“请为我创建一个‘开源项目维护者’工作流。它需要包含以下技能:1. 撰写专业的GitHub Issue模板。2. 生成清晰的Pull Request描述指南。3. 编写版本发布说明(Changelog)的规范。4. 社区常见问题(FAQ)的整理与回答模板。请按照本项目已有的格式,在workflows/目录下创建新的工作流文件夹和技能文件。”

AI在理解项目现有结构后,有很大概率能自动完成目录创建、技能文件编写甚至README生成。你只需要做最后的审核和微调。

方法二:手动创建如果你想完全掌控,或者技能逻辑非常独特,也可以手动创建。

  1. workflows/目录下新建一个文件夹,例如open-source-maintainer-workflow
  2. 在该文件夹内,为你支持的AI工具创建对应的技能目录。例如,创建.claude/skills/github-issue-template/
  3. 在该目录下创建SKILL.md文件。这个文件的格式是固定的:
--- name: github-issue-template description: 指导AI帮助用户或维护者撰写结构清晰、信息完整的GitHub Issue报告。 --- # GitHub Issue模板生成指南 当用户需要报告Bug或提出功能请求时,请遵循以下结构引导他们: ## 1. Issue类型 请用户选择:[Bug] 或 [Feature Request] ## 2. 问题描述 * **当前行为**:清晰描述发生了什么。 * **预期行为**:描述你期望发生什么。 * **重现步骤**:提供1,2,3...的步骤。 * **环境信息**:操作系统、浏览器/Node版本、相关软件版本等。 ## 3. 附加信息 建议用户提供日志、截图或错误信息。 **请始终以友好、协助的语气引导用户填写上述信息。**
  1. 参照项目根目录的package.json,在你新建的工作流文件夹里也创建一个,并配置好add-skill工具所需的元数据。
  2. 最后,你可以将自己创建的工作流文件夹推送到你自己的GitHub仓库,然后就可以用npx add-skill <你的仓库路径>来安装了。

5. 常见问题与排坑实录

在实际使用和测试中,我遇到并总结了一些典型问题,这里分享给大家。

5.1 安装后技能未显示或无法触发

这是最常见的问题,通常由以下几个原因导致:

问题现象可能原因解决方案
运行命令后,AI工具中看不到新技能1. AI工具未重启或刷新。
2. 技能安装路径错误。
3. 技能文件格式不正确。
1.重启你的AI助手应用(如完全退出Cursor再打开)。大部分工具需要重启才能加载新技能。
2. 使用add-skill时,确保终端当前路径是你希望安装技能的项目目录(对于项目级安装),或者检查全局安装路径是否正确。可以手动去~/.claude/skills/等目录查看文件是否存在。
3. 检查SKILL.md文件是否包含正确的Frontmatter(---包裹的name和description)。
技能列表可见,但输入“/”后不提示或触发无效1. 技能描述不够清晰,AI未匹配到使用场景。
2. 对话上下文不符合技能激活条件。
1. 在自定义技能时,优化description字段。用更具体、包含关键词的语言描述技能用途,例如“当用户需要撰写包含技术对比的博客文章时使用此技能”。
2. 尝试在对话中更明确地提及技能相关的任务,或者直接输入技能名称。
npx add-skill命令执行报错(网络或权限)1. 网络问题无法连接GitHub。
2. 没有对目标目录的写入权限。
1. 检查网络连接,或尝试使用代理(此处指网络代理服务,请确保合法合规使用)。
2. 对于全局安装,尝试使用sudo(Mac/Linux)或以管理员身份运行终端(Windows)。对于项目安装,确保你对当前项目目录有写权限。

5.2 技能效果不理想或生成内容泛化

有时你会发现AI虽然激活了技能,但产出的内容还是有点“通用”,不够精准。

  • 提供更具体的上下文:技能是“指南针”,不是“自动驾驶”。在请求AI时,除了激活技能,一定要提供你任务的具体细节。例如,不要只说“写个博客大纲”,而要说“针对‘如何用Vite优化大型项目构建速度’这个主题,使用SEO技能生成大纲,目标读者是中级前端工程师,关键词包括Vite、构建优化、代码分割”。
  • 组合使用技能:很多复杂任务需要多个技能协同。你可以先让AI用“内容大纲”技能搭好架子,再用“段落展开”技能填充某一部分,最后用“风格校对”技能统一语气。在对话中通过“/”不断切换和引导。
  • 迭代优化自定义技能:如果你自己创建的技能效果不好,回去修改SKILL.md。思考是否将步骤拆解得足够细?是否提供了足够的示例?AI遵循指令的能力很强,但指令本身必须清晰、无歧义。

5.3 管理多个工作流和技能

随着安装的技能越来越多,管理就成了问题。

  • 技能冲突:不同工作流可能包含名称相似但内容不同的技能。add-skill工具通常采用覆盖策略。建议在安装时留意提示。更好的做法是,为你自定义的技能使用更独特、带前缀的名字,例如mycompany-prd-template
  • 查看已安装技能:目前add-skill工具没有提供统一的列表查看功能。你需要手动去各个AI工具的技能目录下查看。一个简单的命令行操作可以帮你快速查看(以Claude Code全局目录为例):
    ls -la ~/.claude/skills/
  • 卸载技能:同样,没有一键卸载命令。需要手动删除技能目录。例如,要删除全局安装的“SEO优化”技能:
    rm -rf ~/.claude/skills/seo-optimizer
    然后重启AI工具。

5.4 自定义技能的编写技巧

要让你的自定义技能真正好用,有几个关键点:

  1. 明确的触发条件:在description和技能正文开头,清晰定义“在什么情况下使用本技能”。例如:“当用户需要将一段复杂的技术说明转化为面向非技术高管的总结报告时激活。”
  2. 结构化步骤:使用编号列表或清晰的章节,将任务分解为AI可以逐步执行的步骤。避免使用模糊的语言。
  3. 提供示例:在技能文件中包含1-2个输入输出的例子,这是让AI理解你期望格式的最有效方式。示例要典型且具体。
  4. 定义输出格式:明确说明你希望AI以什么格式输出,是Markdown表格、项目符号列表、JSON还是纯段落。例如:“请以表格形式对比以下三个方案的优缺点。”
  5. 保持更新:你的工作流程和最佳实践会变,技能文件也应该随之迭代。将它纳入你的团队知识库管理流程。

从我个人的深度使用来看,AI Workflow项目代表了一种非常务实的AI应用方向:它不追求颠覆性的AGI,而是聚焦于解决当下AI协作中最具体、最耗时的痛点——知识复用。它就像为你常用的AI工具打造了一个“外置专业大脑”,让AI从通才变成了在你专业领域的专才。无论是为了提升个人效率,还是为了在团队内部统一工作标准和输出质量,这个项目都提供了一个极其轻量且高效的起点。真正的门槛不在于安装和使用,而在于你能否像项目作者一样,将自己的工作流清晰地拆解、定义并固化下来,这本身就是一个极具价值的思考和实践过程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 3:19:13

可解释AI与人类决策融合:从理性模型到证据积累的统一框架

1. 项目概述&#xff1a;当AI解释遇上人类决策最近几年&#xff0c;可解释人工智能&#xff08;XAI&#xff09;火得不行&#xff0c;但一个核心问题始终困扰着从业者&#xff1a;我们辛辛苦苦生成的解释&#xff0c;真的能被人类决策者有效理解和利用吗&#xff1f;或者说&…

作者头像 李华
网站建设 2026/5/10 3:19:09

微信集成Claude Code:本地代理实现AI无缝对话

1. 项目概述&#xff1a;在微信里直接调用Claude Code 如果你和我一样&#xff0c;日常工作和沟通的主阵地都在微信上&#xff0c;但同时又需要频繁地借助AI工具&#xff08;比如Anthropic的Claude Code&#xff09;来处理一些代码片段、技术问题或者文档草稿&#xff0c;那么…

作者头像 李华
网站建设 2026/5/10 3:19:03

Weaviate Recipes实战指南:从零构建RAG问答系统与向量搜索应用

1. 项目概述&#xff1a;Weaviate Recipes 是什么&#xff0c;以及为什么你需要它 如果你正在构建一个涉及向量搜索、RAG&#xff08;检索增强生成&#xff09;或者任何需要让大语言模型&#xff08;LLM&#xff09;理解你私有数据的应用&#xff0c;那么“数据管道”和“模型…

作者头像 李华
网站建设 2026/5/10 3:19:00

Prisma Relay Cursor Connection:GraphQL分页连接器实战指南

1. 项目概述&#xff1a;一个为Prisma量身定制的分页连接器 如果你正在用Prisma构建GraphQL API&#xff0c;并且想实现符合Relay Cursor Connections规范的分页&#xff0c;那么你很可能已经听说过或者正在寻找一个像 devoxa/prisma-relay-cursor-connection 这样的库。这个…

作者头像 李华
网站建设 2026/5/10 3:18:58

syncfu:现代化文件同步工具的设计、配置与实战指南

1. 项目概述与核心价值最近在折腾一个开源项目&#xff0c;叫syncfu&#xff0c;来自 GitHub 上的Zackriya-Solutions组织。这个名字很有意思&#xff0c;syncfu一看就是 “Sync” 和 “Fu” 的组合&#xff0c;直译过来大概是“同步功夫”。这让我立刻联想到那些需要处理多端、…

作者头像 李华
网站建设 2026/5/10 3:16:35

基于Transformer的EEG信号预测:从特征工程到模型部署全流程实践

1. 项目概述与核心挑战最近在做一个脑电图&#xff08;EEG&#xff09;信号预测的项目&#xff0c;核心目标是用深度学习模型&#xff0c;根据历史EEG数据&#xff0c;预测未来一小段时间的脑电信号。这玩意儿在神经科学研究和脑机接口&#xff08;BCI&#xff09;开发里挺关键…

作者头像 李华