为什么文档很重要

文档提供最新、准确的上下文。没有文档时,模型会依赖过时或不完整的训练数据。文档能帮助模型理解:
  • 最新的 API 和参数
  • 最佳实践
  • 组织约定
  • 领域术语
以及更多内容。继续阅读,了解如何直接在 Cursor 中使用文档,无需来回切换上下文。

模型知识截止点

大型语言模型只在某个特定时间点之前的数据上训练,这个时间点称为“知识截止点”。这意味着:
  • 最近的库更新可能不会体现
  • 新的框架或工具可能不被识别
  • 截止点之后的 API 变更会被漏掉
  • 自训练以来的最佳实践可能已经发生变化
比如,如果一个模型的知识截止点是 2024 年初,它就不了解 2024 年末发布的功能,即便是热门框架的更新也一样。

我该用哪个工具?

用这张决策树快速找到最适合你文档需求的方案:

心智模型

工具心智模型
@Docs就像浏览阅读官方文档
@Web就像在网上搜解决方案
MCP就像访问你自己的内部文档

公共文档

外部文档涵盖公开可获取的信息,而模型对这些信息的掌握可能有限或已过时。Cursor 提供两种主要方式来获取这类信息。

使用 @Docs

@Docs 会把 Cursor 连接到各大工具和框架的官方文档。需要最新、权威的信息时就用它,比如:
  • API 参考:函数签名、参数、返回类型
  • 入门指南:安装、配置、基础用法
  • 最佳实践:官方推荐的模式
  • 框架专属调试:官方排错指南
@
@Docs Next.js How do I set up dynamic routing with catch-all routes?
Agent⌘I
Auto

使用 @Web

@Web 会在实时互联网中搜索最新资讯、博客文章和社区讨论。需要以下内容时用它:
  • 最新教程:社区产出的内容与示例
  • 对比:不同方案的对照文章
  • 最新动态:最新的更新或公告
  • 多元视角:解决问题的不同思路
@
@Web latest performance optimizations for React 19
Agent⌘I
Auto

内部文档

内部文档包含你们组织特有的信息,这些信息在训练阶段 AI 模型从未接触过。它可能包括:
  • 内部 API:定制化服务与微服务
  • 公司规范:编码约定、架构模式
  • 专有系统:自研工具、数据库、工作流
  • 领域知识:业务逻辑、合规要求

使用 MCP 访问内部文档

Model Context Protocol(MCP)提供了一种标准化方式,把你的私有文档和系统接入 Cursor。MCP 充当 Cursor 与内部资源之间的轻量层。 为什么 MCP 很重要:
  • 模型无法揣测你们的内部约定
  • 自定义服务的 API 文档不会对外公开
  • 业务逻辑和领域知识具有组织特有性
  • 合规与安全要求因公司而异

常见 MCP 集成

IntegrationAccessExamples
Confluence公司 Confluence 空间架构文档、内部服务的 API 规范、编码标准与指南、流程文档
Google Drive共享文档与文件夹规格说明、会议纪要与决策记录、设计文档与需求、团队知识库
Notion工作区数据库与页面项目文档、团队 wiki、知识库、产品需求、技术规范
Custom内部系统与数据库专有 API、遗留文档系统、自定义知识库、专用工具与工作流

自定义方案

针对独特需求,你可以构建自定义 MCP 服务器,用于:
  • 抓取内部网站或门户
  • 连接专有数据库
  • 访问自定义文档系统
  • 从内部 wiki 或知识库拉取内容
如果你构建了自定义 MCP 服务器,也可以暴露工具,让 Cursor 能更新文档
用于抓取内部文档的自定义 MCP 服务器示例:
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import TurndownService from "turndown";

// Create an MCP server for scraping internal docs
const server = new McpServer({
  name: "internal-docs",
  version: "1.0.0"
});

const turndownService = new TurndownService();

// Add tool to scrape internal documentation
server.tool("get_doc",
  { url: z.string() },
  async ({ url }) => {
    try {
      const response = await fetch(url);
      const html = await response.text();
      
      // Convert HTML to markdown
      const markdown = turndownService.turndown(html);
      
      return {
        content: [{ type: "text", text: markdown }]
      };
    } catch (error) {
      return {
        content: [{ type: "text", text: `Error scraping ${url}: ${error.message}` }]
      };
    }
  }
);

// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport();
await server.connect(transport);

保持文档始终最新

文档很容易过时。Cursor 可以基于你的实际代码和开发对话生成并更新文档,帮你持续维护及时且有用的文档。

基于现有代码

用 Cursor 直接从你的代码库生成文档:
@
为这个 Express 路由生成 API 文档,包含所有端点、参数和响应格式
Agent⌘I
Auto

来自聊天会话

你和 Cursor 的对话里有很多有价值的意图,可以直接转化成文档。
在解决复杂问题之后:
@
把我们关于设置身份验证的对话整理成一篇团队 wiki 的分步指南
Agent⌘I
Auto

要点

  • 把文档作为上下文能让 Cursor 更准确、也更及时
  • @Docs 查官方文档,用 @Web 探索社区知识
  • MCP 让 Cursor 能无缝对接你的内部系统
  • 从代码和对话生成文档,随时让知识保持最新
  • 结合外部和内部文档来源,获得更全面的理解