跳到主内容
创建时间:最后更新:作者:白川

技术全景

这些技术怎样连接成可工作的产品? 技术矩阵与选型决策记录。

内容状态:调研后的课程设计与实现提纲。除导读中的说明性正文外,完整步骤教程、练习代码和实验结果尚未交付。以下产物与验收条件是写作目标,不代表已经运行完成。

这些技术怎样连接成可工作的产品?

本节目标与前置条件

每项关键技术独立比较适用范围、接入位置和替换代价。 本节完成后应能交付:技术矩阵与选型决策记录。

先阅读 为什么学 Agent 开发,明确学习目的,再用本章定位相关技术专题。

实现拆解

  1. 按浏览器、主站 BFF、Hono 服务与存储画出请求路径。
  2. 区分现行实现、历史兼容和可选扩展的依赖。
  3. 围绕“技术矩阵与选型决策记录”编写正常与失败样例,记录实际输入、状态变化、输出和清理动作;涉及外部模型或支付的步骤另行保存受控测试证据。

请求怎样穿过系统

浏览器先维护输入、当前任务和必要的本地草稿。Next.js 主站负责页面装配与现有 BFF 接线;Hono Node 服务负责业务授权、模型执行、任务和账本;PostgreSQL 保存关系数据与任务状态;对象存储保存媒体。Vite 管理端通过共享契约管理配置与运营命令。共享包只承载明确的协议、组件与公共业务。

一次平台模型请求要经过身份校验、配置解析、预算检查、运行时执行、结果保存和用量结算。个人模型与平台模型有不同的凭据来源和成本边界,不能只凭界面选择共用一份秘密配置。

现行主线与历史接线

服务端当前入口是 server/src/runtime/main.ts,数据库适配器使用 pg。主站仍保留 Drizzle 相关接线;聊天与文章生成接入 packages/agent-runtime 的 Pi 封装,面试等路径仍存在 AI SDK 调用。这是可在当前源码检查的分工,不是要求初学者从第一天同时实现所有适配器。

仓库仍有旧 Worker、D1 或迁移兼容材料,正式写作应沿实际入口核验。Caddy、自助支付、多租户与通用工作流平台属于扩展设计;有配置文件或依赖不等于已完成线上验证。

每个关键选型一篇

下面 40 项技术分别有独立文件,讨论问题、选择条件、替代方案、接入实验和失败边界。它们覆盖课程使用的主要技术,并不把 lockfile 中的每个间接依赖都当作必须学习的内容。

独立选型文章要解决的问题当前项目阅读入口
进程、流与后台任务
server/package.json
跨包类型与输入输出契约
tsconfig.base.json
多应用依赖与共享包发布边界
pnpm-workspace.yaml
组件组合、状态与渲染边界
frontend/main/package.json
工作空间路由、服务端装配与 BFF
frontend/main/next.config.ts
独立 HTTP 服务与中间件装配
server/src/app.ts
后台到服务端的类型推导链路
admin/src/service/rpcClient.ts
不可信输入校验与 schema 共享
packages/contracts/package.json
统一身份、会话与认证适配
server/src/features/web/auth
关系约束、事务与业务账本
server/migrations/postgres
连接池、SQL 与事务控制
server/src/integrations/database/postgres.ts
主站既有 ORM 与 SQL 服务边界
frontend/main/package.json
逐请求 Agent、工具循环与事件
packages/agent-runtime/src/index.ts
提供商协议和模型构造
packages/agent-runtime/package.json
现有模型适配与渐进迁移
server/src/features/web/workspace-interviews/providers/interview-model.provider.ts
外部工具协议与连接生命周期
server/src/features/shared/ai/web-search
流式事件、断线与取消语义
packages/contracts/src
本地作品、Blob 与数据库升级
packages/app-kit/src/storage/aiwork-image-studio.ts
界面交互状态与最小订阅
frontend/main/package.json
远端状态缓存、失效与重试
frontend/main/package.json
用户端可访问组件与共享 UI
packages/ui/package.json
主题变量、响应式与原子样式
frontend/main/package.json
后台 SPA 的开发和生产构建
admin/vite.config.ts
后台表格、表单和批量操作
admin/package.json
用户端路由和消息翻译
frontend/main/src/i18n
文章编辑状态与结构化内容
frontend/main/src/features/article-studio/components/article-rich-editor.tsx
持久化任务、重试与消费者
server/src/runtime/queues.ts
图片视频对象与数据库引用
server/src/integrations/storage/s3-bucket.ts
图片压缩、尺寸与服务端资源控制
server/src/integrations/storage/sharp-images.ts
Node 服务的可复现交付
server/deploy/Dockerfile
现有 Next Cloudflare 部署适配
frontend/main/open-next.config.ts
自托管入口、TLS 与反向代理的扩展实验
server/deploy/Dockerfile
服务端行为与契约测试
server/package.json
后台组件与状态回归
admin/package.json
跨页面流程与真实视口验证
columns/column-demo/playwright.config.ts
统一代码格式、lint 与导入整理
biome.json
Biome 范围之外的格式化
prettier.config.mjs
React Hooks 等补充语义检查
eslint.config.mjs
增量质量门禁与可审计交付
.github/workflows/code-quality.yml
API 指标、请求追踪与脱敏
server/package.json

选型时回答四个问题

它解决当前哪个问题;运行在浏览器、Node 还是目标部署适配器;失败时谁负责恢复;以后更换它会影响哪些契约。能回答这些问题,比记住版本号更有帮助。版本仍然必须固定,正式示例须用仓库实际锁定的版本重新验证,不能从在线文档直接拼接不同大版本的 API。

实践产物与验收

  • 产物:技术矩阵与选型决策记录。
  • 完成标准:能说明每个技术的职责和替换成本,而不是背诵工具名称。
  • 验证记录应包含运行环境、使用的配置版本、命令或操作、期望与实际结果;有外部服务时注明 fixture、沙箱或真实调用。

源码阅读入口

  • frontend/main/package.json
  • server/package.json
  • admin/package.json
  • pnpm-lock.yaml

源码路径用于定位当前工程,不是可直接复制的新项目代码。正式教程会按从零实现顺序解释接线,必要时单独标记历史兼容。本文未检查这些业务在生产环境的完整可用性。

官方资料与核验范围

  • pnpm Workspace:核对 workspace 协议、共享包与锁文件;课程不引入尚未采用的构建编排器。
  • Next.js App Router:核对服务端与客户端边界、路由和缓存;先查安装版本的本地文档。
  • Hono Node.js:服务端采用 Node 适配器;不将旧 Worker 入口当作现行主线。

调研日期为 2026-10-25。在线资料可能更新;实现 API 与部署行为以正式写作时固定的版本和实际验证为准。