TypeScript全栈开发:基于Vibe Coding理念的工程化流程图与实践指南
在实际 TypeScript 全栈开发中很多开发者会遇到一个困境从需求到上线的路径模糊不清技术栈选择、前后端接口定义、部署流程等环节各自为战缺乏一个清晰的、可执行的工程化路径。这导致项目结构混乱、开发效率低下难以独立完成一个完整的应用。Vibe Coding 作为一种强调开发体验和流程规范的理念其核心价值在于将这种模糊的路径“可视化”和“标准化”通过一套清晰的流程图来指导从零到一的开发过程。本文旨在为希望提升工程化能力、迈向独立开发的 TypeScript 全栈开发者提供一个基于 Vibe Coding 理念的、可落地的开发流程图及其详细解读。我们将不仅展示这张图更会深入拆解每个环节的技术选型、具体操作、常见陷阱以及如何验证让你能够真正按图索骥构建出结构清晰、可维护的 TypeScript 全栈应用。1. 理解 Vibe Coding 与 TypeScript 全栈开发的核心诉求在深入流程图之前我们需要明确两个核心概念Vibe Coding 究竟指什么以及 TypeScript 全栈开发面临哪些独特挑战。1.1 Vibe Coding一种聚焦开发流程与体验的工程思想Vibe Coding 并非一个特定的框架或工具而是一种强调开发者体验和高效、愉悦工作流的工程思想。它关注的是如何通过优化工具链、统一规范和清晰的流程减少开发中的摩擦和认知负担让开发者能更专注于创造价值。在 TypeScript 全栈开发的语境下Vibe Coding 具体体现在流程可视化将复杂的开发、构建、测试、部署过程用清晰的图表如流程图表示使团队每个成员都对工作流有共同的理解。环境一致性通过容器化如 Docker或完善的脚本确保从本地开发到生产环境的一致性避免“在我机器上能跑”的问题。自动化将重复性工作代码格式化、静态检查、测试、部署自动化集成到 CI/CD 流水线中。类型安全贯穿始终利用 TypeScript 的类型系统在前后端、甚至数据库层面通过 ORM 如 Prisma、TypeORM实现端到端的类型安全这是提升开发体验和代码质量的关键。1.2 TypeScript 全栈开发的挑战与机遇使用 TypeScript 同时开发前端和后端Node.js应用最大的优势在于共享类型定义实现前后端一体化开发。但这也带来了特有的挑战项目结构设计如何组织 monorepo 还是多个 repo如何共享类型和工具函数构建配置复杂前端可能需要 Webpack/Vite后端需要 tsc 或 ts-node配置需协调。开发体验割裂前端热更新HMR和后端服务重启如何高效联动部署流程统一前后端产物不同部署策略和流程需要精心设计。基于以上理解我们的目标就是设计一套流程图来系统性地应对这些挑战践行 Vibe Coding 的理念。2. TypeScript 全栈应用开发标准化流程图下图描绘了从零开始开发并上线一个 TypeScript 全栈应用的完整、规范化流程。它涵盖了技术选型、环境搭建、开发、测试、构建、部署等核心环节。graph TD A[需求分析与技术选型] -- B[初始化项目与工程配置]; B -- C[设计数据模型与共享类型]; C -- D[后端服务开发]; C -- E[前端应用开发]; D -- F[前后端联调与接口测试]; E -- F; F -- G[代码质量与自动化检查]; G -- H[构建与打包]; H -- I[容器化与生产配置]; I -- J[持续集成与部署]; J -- K[监控与维护]; subgraph “环境与工具链” B1[Node.js pnpm/npm/yarn] B2[TypeScript 配置] B3[Monorepo 工具] B4[代码规范工具] end B -- “环境与工具链” subgraph “开发阶段” D1[路由与控制层] D2[服务与业务逻辑] D3[数据访问层] E1[UI 组件开发] E2[状态管理] E3[API 调用封装] end D -- “开发阶段” E -- “开发阶段”流程图核心阶段解读规划阶段A明确做什么以及用什么做。奠基阶段BC搭建高效、一致的开发环境并定义数据核心类型。并行开发阶段DE前后端基于共享类型并行开发减少阻塞。集成与质保阶段FG联调接口并通过自动化工具保障代码质量。交付与运维阶段H-K将代码转化为稳定运行的服务并建立可持续的迭代机制。接下来我们将深入每个阶段给出具体的操作指南、技术选型建议和代码示例。3. 阶段详解从环境配置到开发实践3.1 阶段A与B项目初始化与工程化配置在动手写业务代码之前一个坚实的工程基础至关重要。这直接决定了后续开发的体验和效率。技术选型参考2024年常见组合运行时Node.js (LTS 版本如 18.x, 20.x)包管理器pnpm推荐速度快、磁盘空间优或npm/yarnMonorepo 工具pnpm workspace、Turborepo、Nx。对于全栈项目Monorepo 便于管理共享代码。后端框架NestJS企业级开箱即用、Express/KoaTypeScript更灵活。前端框架React(withVite)、Vue 3、Next.js/Nuxt.js(全栈框架)。数据库 ORMPrisma类型安全极致、TypeORM、Sequelize。代码规范ESLintPrettierHuskyGit hooks。初始化操作与配置示例创建项目并初始化 Monorepomkdir my-fullstack-app cd my-fullstack-app pnpm init # 创建 packages 目录并初始化前后端子项目 mkdir -p packages/server packages/client packages/shared cd packages/server pnpm init cd ../client pnpm init cd ../shared pnpm init在项目根目录的package.json中配置workspaces{ name: my-fullstack-app, private: true, workspaces: [packages/*] }配置 TypeScript 在根目录或每个子包中创建tsconfig.json。一个共享的基础配置tsconfig.base.json很有用。// tsconfig.base.json { compilerOptions: { target: ES2020, module: ESNext, lib: [ES2020, DOM], moduleResolution: node, strict: true, skipLibCheck: true, esModuleInterop: true, forceConsistentCasingInFileNames: true, resolveJsonModule: true, declaration: true, declarationMap: true, sourceMap: true } }后端和前端可以继承并覆盖此配置例如前端需要jsx: react-jsx。集成代码质量工具 在根目录安装并配置 ESLint 和 Prettier。pnpm add -Dw eslint typescript-eslint/parser typescript-eslint/eslint-plugin prettier创建.eslintrc.js和.prettierrc。使用 Husky 和lint-staged在提交前自动检查。pnpm add -Dw husky lint-staged npx husky init在package.json中配置{ lint-staged: { *.{ts,tsx,js,jsx}: [eslint --fix, prettier --write] } }注意不要将所有工具配置都堆在根目录。对于大型 Monorepo考虑使用Turborepo或Nx来管理任务管道如构建、测试、检查它们能高效处理依赖关系并利用缓存。3.2 阶段C设计数据模型与共享类型这是实现“类型安全全栈”的基石。核心思想是一处定义处处使用。使用 Prisma 定义数据模型以 Prisma 为例 在packages/server中初始化 Prisma。cd packages/server pnpm add -D prisma pnpm add prisma/client npx prisma init编辑prisma/schema.prisma// prisma/schema.prisma model User { id Int id default(autoincrement()) email String unique name String? posts Post[] createdAt DateTime default(now()) } model Post { id Int id default(autoincrement()) title String content String? published Boolean default(false) author User relation(fields: [authorId], references: [id]) authorId Int createdAt DateTime default(now()) }生成客户端并导出类型 运行npx prisma generate生成prisma/client。为了在前端共享类型我们可以在packages/shared中定义业务相关的 DTO数据传输对象和接口。// packages/shared/src/types/user.ts export interface UserProfile { id: number; email: string; name: string | null; } export type CreateUserRequest PickUser, email | name; // 可以从 Prisma 类型派生但注意前端不应依赖 prisma/client // 通常需要手动维护或使用工具转换更高级的做法是使用tsc的declaration选项将shared包编译为.d.ts文件供其他包引用。或者使用json-schema-to-typescript等工具基于 API 规范如 OpenAPI生成类型。3.3 阶段D与E前后端并行开发在类型定义清晰后前后端可以并行开发。后端提供类型安全的 API前端消费这些 API。后端开发示例使用 NestJS创建资源模块cd packages/server npx nest g resource users实现服务层使用 Prisma Client// users/users.service.ts import { Injectable } from nestjs/common; import { PrismaService } from ../prisma.service; import { CreateUserDto } from ./dto/create-user.dto; // 基于 shared 类型或自定义 DTO import { UserProfile } from my-fullstack-app/shared; // 引入共享类型 Injectable() export class UsersService { constructor(private prisma: PrismaService) {} async create(createUserDto: CreateUserDto): PromiseUserProfile { const user await this.prisma.user.create({ data: createUserDto, select: { id: true, email: true, name: true }, // 只选择需要的字段 }); return user; } async findAll(): PromiseUserProfile[] { return this.prisma.user.findMany({ select: { id: true, email: true, name: true }, }); } }前端开发示例使用 React Vite TanStack Query封装基于类型的 API 客户端// packages/client/src/api/client.ts import axios from axios; import type { UserProfile, CreateUserRequest } from my-fullstack-app/shared; const apiClient axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL || http://localhost:3000, }); export const userApi { getUsers: (): PromiseUserProfile[] apiClient.get(/users).then(res res.data), createUser: (data: CreateUserRequest): PromiseUserProfile apiClient.post(/users, data).then(res res.data), };在组件中消费 API// packages/client/src/components/UserList.tsx import { useQuery, useMutation, useQueryClient } from tanstack/react-query; import { userApi } from ../api/client; function UserList() { const queryClient useQueryClient(); const { data: users, isLoading } useQuery({ queryKey: [users], queryFn: userApi.getUsers }); const createMutation useMutation({ mutationFn: userApi.createUser, onSuccess: () { queryClient.invalidateQueries({ queryKey: [users] }); }, }); if (isLoading) return divLoading.../div; return ( div ul{users?.map(user li key{user.id}{user.name} ({user.email})/li)}/ul {/* 表单调用 createMutation.mutate */} /div ); }关键点前后端通过packages/shared中的类型定义进行契约对接。修改 API 时应优先更新共享类型这会在编译阶段就暴露出前后端不匹配的问题而不是在运行时。3.4 阶段F与G联调与自动化质量保障联调启动后端服务 (pnpm --filter server dev) 和前端开发服务器 (pnpm --filter client dev)使用浏览器或 API 测试工具如 Postman, Insomnia测试接口。确保前端配置的代理或 API 地址正确。自动化质量保障单元测试与集成测试使用Jest或Vitest。为关键业务逻辑和服务编写测试。// packages/server/src/users/users.service.spec.ts import { Test } from nestjs/testing; import { UsersService } from ./users.service; import { PrismaService } from ../prisma.service; describe(UsersService, () { let service: UsersService; let prisma: PrismaService; beforeEach(async () { const module await Test.createTestingModule({ providers: [UsersService, PrismaService], }).compile(); service module.get(UsersService); prisma module.get(PrismaService); }); it(should be defined, () { expect(service).toBeDefined(); }); });E2E 测试使用Playwright或Cypress测试完整用户流程。集成到 Git Hooks 与 CI在husky的pre-commit或pre-push钩子中运行 lint 和测试。在 CI 配置文件如.github/workflows/ci.yml中配置完整的检查流程。4. 阶段H-K构建、部署与运维4.1 构建与打包前端通常使用Vite、Webpack进行打包生成静态文件HTML, JS, CSS。// packages/client/package.json { scripts: { build: tsc vite build } }后端使用tsc将 TypeScript 编译为 JavaScript或使用esbuild/swc获得更快的速度。// packages/server/package.json { scripts: { build: nest build // 或 tsc -p tsconfig.build.json } }使用 Turborepo 进行优化构建在根目录package.json中配置 turbo利用缓存加速构建。{ scripts: { build: turbo run build } }4.2 容器化与生产配置使用 Docker 确保环境一致性。创建Dockerfile和docker-compose.yml。# 后端 Dockerfile 示例 (packages/server/Dockerfile) FROM node:18-alpine AS builder WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN npm install -g pnpm pnpm install --frozen-lockfile COPY . . RUN pnpm run build FROM node:18-alpine AS runner WORKDIR /app ENV NODE_ENVproduction COPY --frombuilder /app/dist ./dist COPY --frombuilder /app/node_modules ./node_modules COPY --frombuilder /app/package.json ./ EXPOSE 3000 CMD [node, dist/main.js]生产环境配置应通过环境变量注入使用dotenv或框架自带的配置模块。4.3 持续集成与部署 (CI/CD)在 GitHub Actions、GitLab CI 等平台配置流水线。典型步骤包括代码检出。安装依赖利用缓存。运行代码检查和测试。构建生产版本。构建 Docker 镜像并推送到镜像仓库。可选部署到云平台如 Kubernetes AWS ECS Vercel Railway。4.4 监控与维护日志使用结构化日志库如Pino,Winston并集成日志收集服务。错误追踪集成Sentry、Bugsnag等工具。性能监控使用APM工具如New Relic,Datadog。健康检查为后端服务添加/health端点。5. 常见问题排查与最佳实践5.1 常见问题排查表问题现象可能原因检查点与解决方案前端调用 API 404 或跨域错误1. 后端服务未运行或端口错误。2. 前端代理配置错误。3. 后端未配置 CORS。1. 检查后端进程和日志。2. 检查vite.config.ts中的proxy配置或环境变量VITE_API_BASE_URL。3. 在后端应用启用 CORS 中间件。TypeScript 类型在前后端不匹配1.shared包未正确构建或链接。2. 前后端使用了不同版本的类型定义。1. 在根目录运行pnpm -r run build重新构建所有包。2. 检查node_modules/my-fullstack-app/shared是否存在且版本一致。考虑使用pnpm link或workspace:*协议。数据库连接失败1. 数据库服务未启动。2. 连接字符串配置错误。3. 环境变量未加载。1. 检查数据库服务状态。2. 检查.env文件或生产环境变量中的DATABASE_URL。3. 确认 Prisma Client 已生成 (prisma generate)。生产环境构建失败1. 依赖版本冲突。2. 环境变量在构建时未定义。3. 内存不足。1. 使用pnpm install --frozen-lockfile确保锁文件一致。2. 构建脚本中只注入构建时需要的环境变量运行时变量在容器启动时注入。3. 在 CI 环境中增加内存或使用更轻量的构建器。Docker 容器启动后立即退出1.CMD或ENTRYPOINT命令错误。2. 应用启动时崩溃如缺少依赖。3. 端口冲突。1. 使用docker logs container_id查看启动日志。2. 检查容器内文件是否完整特别是node_modules。3. 确认主机端口未被占用或修改容器映射端口。5.2 最佳实践清单类型即文档充分利用 TypeScript将共享类型作为前后端契约。优先修改类型定义来驱动 API 变更。环境隔离严格区分开发、测试、生产环境配置。使用.env.example作为模板敏感信息绝不提交。依赖管理使用锁文件 (package-lock.json,pnpm-lock.yaml) 并确保 CI 和本地使用相同的包管理器版本。提交规范使用commitlint和commitizen规范提交信息便于生成变更日志。基础设施即代码将 Dockerfile、CI/CD 配置、部署描述文件纳入版本控制。渐进式复杂化不要一开始就引入所有复杂工具。从最简单的可工作流程开始随着项目增长再逐步引入 Monorepo、高级 CI/CD 等。日志结构化生产环境日志应包含请求 ID、时间戳、级别、模块等信息便于检索和分析。健康检查与就绪探针为微服务或容器化应用配置健康检查接口便于编排系统管理。遵循上述流程图和详细指南你能够系统化地搭建、开发和交付一个类型安全的 TypeScript 全栈应用。这套流程的价值在于它提供了清晰的路径和决策点减少了不确定性让你能更自信地以独立开发者或小团队核心成员的身份掌控从创意到产品的完整生命周期。真正的熟练来自于实践建议从一个小的个人项目开始完整地走一遍这个流程过程中遇到的每个问题都是加深理解的契机。

相关新闻

Ubuntu apt依赖冲突解决:held broken packages错误分析与修复指南

Ubuntu apt依赖冲突解决:held broken packages错误分析与修复指南

1. 问题场景:当apt告诉你“你持有损坏的软件包”如果你正在Ubuntu 20.04上满怀期待地安装ROS Noetic,敲下sudo apt install ros-noetic-desktop-full后,终端却弹出一句冰冷的E: Unable to correct problems, you have held broken packages&a…

2026/8/3 7:04:25 阅读更多 →
从app_access_token出发,构建企业自建应用的安全与权限体系

从app_access_token出发,构建企业自建应用的安全与权限体系

1. 项目概述:从令牌到权限,企业自建应用的安全基石 最近在帮一家客户做飞书企业自建应用的深度集成,从需求评审到最终上线,整个过程中最让我和团队反复推敲、甚至踩了几个坑的,不是炫酷的界面交互,也不是复…

2026/8/4 19:02:07 阅读更多 →
企业网络钓鱼防御:基于人为因素的PEARL模型实践

企业网络钓鱼防御:基于人为因素的PEARL模型实践

1. 项目概述"人为因素主导下的企业网络钓鱼防御体系构建与实证研究"这个标题直指当前企业安全防护中最薄弱的环节——人的因素。我在过去五年为三十多家企业提供安全咨询服务时发现,超过80%的成功入侵都始于一封精心设计的钓鱼邮件。传统的安全防御往往把…

2026/8/3 7:04:25 阅读更多 →

最新新闻

4卡GPU训练提速不到2倍:分布式训练中的通信瓶颈与3个调优策略

4卡GPU训练提速不到2倍:分布式训练中的通信瓶颈与3个调优策略

深度剖析大模型分布式训练性能优化:从理论到SageMaker实践 上周在SageMaker上跑一个BERT-large分布式训练时,发现4张A100的加速比只有1.8倍——远低于预期的4倍理论值。经过系统性排查,发现梯度同步的通信开销消耗了大部分计算收益。本文将完…

2026/8/4 21:13:30 阅读更多 →
黑木耳颜色与肉质形成的双因子协同模型——气候窗口与营养供给的时间匹配分析

黑木耳颜色与肉质形成的双因子协同模型——气候窗口与营养供给的时间匹配分析

摘要 黑木耳的颜色深度与肉质紧实度,是营养供给与气候条件两个变量在时间轴上对齐后的并行输出。本文分析了常规栽培模式下“气候最优时营养已耗尽”的错配机制,以及冷积温慢生耳通过一年一茬制度实现双因子同步对齐的匹配逻辑。研究表明:颜色…

2026/8/4 21:13:30 阅读更多 →
快速上手ContrastiveSeg:3步完成语义分割模型训练与推理

快速上手ContrastiveSeg:3步完成语义分割模型训练与推理

快速上手ContrastiveSeg:3步完成语义分割模型训练与推理 【免费下载链接】ContrastiveSeg ICCV2021 (Oral) - Exploring Cross-Image Pixel Contrast for Semantic Segmentation 项目地址: https://gitcode.com/gh_mirrors/co/ContrastiveSeg ContrastiveSeg…

2026/8/4 21:13:30 阅读更多 →
给 Agent 写操作加幂等键:工具重试为何会重复下单、扣款,怎么防

给 Agent 写操作加幂等键:工具重试为何会重复下单、扣款,怎么防

Agent 演示里最危险的从来不是答错,而是“重复执行”。一次“创建订单”工具调用超时,编排框架按策略自动重试,结果同一笔订单下了两次、同一张卡扣了两次款——用户投诉、对账对不平,你还很难在本地复现。问题的根子不在模型&…

2026/8/4 21:13:30 阅读更多 →
单机→Nginx→LVS→熔断:流量每涨一个量级,你的负载均衡架构就要多一层

单机→Nginx→LVS→熔断:流量每涨一个量级,你的负载均衡架构就要多一层

负载均衡与高可用:LVS Nginx Sentinel 三层防护架构 问题场景:流量上来,单机扛不住→加 Nginx→Nginx 成瓶颈→加 LVS→某服务挂了拖垮整个调用链→需要熔断。负载均衡三层架构——LVS 四层转发→Nginx 七层路由→Sentinel 应用层熔断&…

2026/8/4 21:13:30 阅读更多 →
WSA Toolbox终极指南:Windows 11上一键部署Android应用的完整解决方案

WSA Toolbox终极指南:Windows 11上一键部署Android应用的完整解决方案

WSA Toolbox终极指南:Windows 11上一键部署Android应用的完整解决方案 【免费下载链接】wsa-toolbox A Windows 11 application to easily install and use the Windows Subsystem For Android™ package on your computer. 项目地址: https://gitcode.com/gh_mir…

2026/8/4 21:12:29 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →