AI个人学习
和实操指南

PearAI中文使用教程,实用快捷命令讲解

⚙️PearAI 核心功能

  • CMD+I - 内联代码编辑:PearAI 会对您当前的文件进行修改并显示差异。
  • CMD+L - 新建聊天(如果您选择了代码,也会将其添加到聊天中)。
  • CMD+SHIFT+L - 追加到当前聊天。
  • 地址符号 (@) 命令
    • @filename/foldername@docs - 添加文件、文件夹或文档。您还可以通过滚动到页面底部并点击“Add Docs”来选择添加您自己的文档链接。
    • 输入 @codebase 可自动检索代码库中最相关的片段。在此处阅读有关索引和检索的更多信息。您也可以按下 CMD/CTRL+ENTER 直接使用代码库上下文。
    • 输入 @code 引用整个项目中的特定函数或类。
    • 输入 @terminal 引用 IDE 终端的内容。
    • 输入 @diff 引用您当前分支中所做的所有更改。这在提交之前总结所做工作或请求一般性审查时非常有用。
    • 输入 @problems 引用当前文件中的问题。
  • 斜杠命令
    • /commit - 为您当前的所有更改生成提交消息。
    • /cmd - 生成一个 CLI 命令并直接粘贴到终端中。
    • /edit - 使用 CMD+L 或 CMD+SHIFT+L(Windows 用户为 CTRL)将代码带入聊天,然后添加 /edit 来生成带有差异的代码更改。
    • /comment - 与 /edit 功能类似,但会为代码添加注释。
    • /test - 与 /edit 功能类似,但会为高亮显示或提供的代码生成单元测试。

快速终端调试:使用 CMD+SHIFT+R 将最后的终端文本添加到聊天中。

  • 自定义斜杠命令添加自定义斜杠命令主要有两种方式:
    1. 自然语言提示:您可以通过向 config.json 中的 customCommands 属性添加内容来新增自定义斜杠命令。
      • name: 使用 /name 调用的命令名称。
      • description: 下拉菜单中显示的简要描述。
      • prompt: 发送到大语言模型 (LLM) 的模板化提示。

      非常适合频繁重复使用提示。例如,创建一个命令以预定义提示检查代码中的错误。

    2. 自定义函数:要为斜杠命令创建自定义函数,请使用 config.ts 而不是 config.json。将新的 SlashCommand 对象推送到 slashCommands 列表中,指定“name”(用于调用命令)、“description”(显示在下拉菜单中)和“run”(一个异步生成器函数,用于生成要显示在 UI 中的字符串)。通过编写自定义 TypeScript 代码,可以实现更高级的功能,例如基于代码更改生成提交消息。~/.pearai/config.ts
      export function modifyConfig(config: Config): Config {  
      config.slashCommands?.push({    
      name: "commit",    
      description: "Write a commit message",    
      run: async function* (sdk) {      
      const diff = await sdk.ide.getDiff();      
      for await (const message of sdk.llm.streamComplete(        
      `${diff}\n\nWrite a commit message for the above changes. Use no more than 20 tokens to give a brief description in the imperative mood (e.g. 'Add feature' not 'Added feature'):`,        
      {          
      maxTokens: 20,        
      },      
      )) {        
      yield message;      
      }    
      },  
      });  
      return config;
      }
      

      这种灵活性使您能够创建强大且可重用的自定义命令,以满足特定的工作流程需求。

      如果您希望在 PearAI 中也具有 Tab 自动补全功能,请参阅下个章节内容。

 

🗃️ "@" 命令

如何使用 

@ 命令提供额外的上下文信息(例如额外的信息),可以包含在您的提示中,以便让大语言模型(LLM)更了解您的工作环境。要使用它,请在 PearAI 聊天中输入 @,然后会出现一个下拉列表,其中包含上下文选项。每个上下文提供者都是一个插件,允许您引用一段额外的信息。


例如,您在本地运行一个应用程序时遇到了问题,终端中有大量错误。您可以使用 @terminal 包含错误日志,并进一步使用 @files 引用 package.json,立即开始调试问题。PearAI 通过让您将完整的上下文集中在一个地方来简化调试过程。

PearAI中文使用教程,实用快捷命令讲解-1

内置上下文提供者 

PearAI 附带了一些开箱即用的有用上下文提供者。如果您希望移除或添加上下文提供者,可以在 config.json 的 contextProviders 列表中进行修改。

@Files 

允许您指定一个文件作为上下文。

{  "contextProviders": [    {      "name": "files"    }  ]}

@Codebase 

允许您将代码库作为上下文。请注意,根据代码库的大小,这可能会消耗大量的信用额度。

{  "contextProviders": [    {      "name": "codebase"    }  ]}

@Code 

允许您指定函数/类。

{  "contextProviders": [    {      "name": "code"    }  ]}

@Docs 

允许您指定一个文档站点作为上下文。

{  "contextProviders": [    {      "name": "docs"    }  ]}

@Git Diff 

将您当前分支相对于主分支所做的所有更改作为上下文提供。使用此功能可以获取当前工作的摘要或进行代码审查。

{  "contextProviders": [    {      "name": "diff"    }  ]}

@Terminal 

将您当前的终端内容添加为上下文。

{  "contextProviders": [    {      "name": "terminal"    }  ]}

@Problems 

将您当前文件中的问题添加为上下文。

{  "contextProviders": [    {      "name": "problems"    }  ]}

@Folder 

引用指定文件夹中的所有内容作为上下文。

{  "contextProviders": [    {      "name": "folder"    }  ]}

@Directory Structure 

将项目的目录结构作为上下文提供。您可以使用此上下文让 LLM 知道您对目录所做的任何更改。

{  "contextProviders": [    {      "name": "directory"    }  ]}

🆕 添加新模型

除了 PearAI 内置的模型,您还可以按照以下步骤添加您自己的模型/API 密钥。

  1. 打开 PearAI 中的添加模型部分。PearAI中文使用教程,实用快捷命令讲解-2
  2. 选择“其他”。PearAI中文使用教程,实用快捷命令讲解-3
  3. 然后选择您希望添加的任意模型。PearAI中文使用教程,实用快捷命令讲解-4
  4. 按照屏幕上的指示完成设置。

注意:

  • 添加的模型配置可以在 PearAI 的 config.json 文件中找到(CMD/CTRL+SHIFT+P > Open config.json)。
  • 对于 Azure OpenAI,“engine”字段是您的部署名称。

 

⏩ 重要快捷键

操作 Mac Windows
新聊天(带选定代码) CMD+L CTRL+L
追加选定代码 CMD+SHIFT+L CTRL+SHIFT+L
打开/关闭聊天面板 CMD+; CTRL+;
切换模型 CMD+' CTRL+'
放大/缩小聊天窗口 CMD+\ CTRL+\
上次打开的聊天 CMD+0 CTRL+0
历史记录 CMD+H CTRL+H
将最后的终端文本带入聊天 CMD+SHIFT+R CTRL+SHIFT+R

这些快捷键可以再次按下以切换到之前的状态。

所有快捷键都可以在 PearAI 内部查看,方法是打开命令面板 CMD/CTRL+SHIFT+P → Keyboard shortcuts

 

✅ Tab 自动补全

PearAI 支持 Tab 键自动补全功能,可以在您编写代码时预测并建议接下来的输入内容。以下是设置方法:

设置指南 

Supermaven 目前是市场上最快、最优的代码自动补全 AI 之一,并且提供慷慨的免费使用额度。只需将 Supermaven 安装为 PearAI 的扩展程序即可。

PearAI中文使用教程,实用快捷命令讲解-5

我们目前正在开发自己的代码自动补全模型,敬请期待!

替代方案 

  1. 设置 Codestral我们推荐使用 Codestral,这是目前领先的代码补全(或 FIM — Fill In Middle)模型,且是开源的!您需要从 Mistral API 获取一个 Codestral API 密钥。
  2. 添加到 PearAI 的 config.json 文件将以下内容添加到您的 config.json 文件中(将 "YOUR_API_KEY" 替换为您的实际 API 密钥):
    "tabAutocompleteModel": {  "title": "Codestral",  "provider": "mistral",  "model": "codestral-latest",  "apiKey": "YOUR_API_KEY"}
    
  3. 享受自动补全带来的开发提速!

 

🚀 使用成本与可用模型

使用成本是多少?(仅限 PearAI 服务器) 

PearAI 的使用成本以积分为单位计算。积分消耗量取决于输入提示的大小、输出回复的大小、使用的模型以及 AI 工具(如 PearAI Chat、PearAI Search、PearAI Creator 等)。

作为早期用户福利,当前订阅者将享受早鸟价——这意味着您将永久保留这些优惠价格。每月仅需 $15 的订阅费用,即可比直接从大语言模型提供商购买等值 API 积分享受更多使用量,性价比更高。

请注意,较长的消息和较大的文件会消耗更多积分。同样,长时间的对话会更快地用尽额度,因为每条先前的消息都会作为上下文发送。建议经常开始新的对话。通过更加具体的提示,您不仅可以节省更多积分,还可以获得更精准的结果,因为 AI 处理的无关数据会减少。

如果您是订阅者且达到每月额度上限,您可以在仪表盘中轻松充值积分,且积分不会过期。

如何最大化使用 PearAI? 

以下是一些提示,帮助您更高效地使用 PearAI:

  • 开始新的对话:当您切换到新话题或有无关问题时,请开启新的对话。这有助于保持对话管理有序,并优化使用效率。
  • 避免重复上传:在同一对话中上传过的文件无需再次上传,PearAI 会记住您先前上传的信息。
  • 提供相关上下文:尽管 PearAI 可以访问您的整个代码库,但通过仅提供与请求直接相关的文件,您可以获得最佳结果。这有助于 PearAI 专注于最相关的信息,并提供更准确和有用的回复。

我们理解使用限制有时会让人感到困惑。我们始终致力于改进 PearAI,提供最佳的 AI 使用体验。如果您有任何疑问或问题,请随时通过 email 联系我们,或加入我们的 Discord

可用模型 

PearAI 服务器 

  • Claude 3.5 Sonnet latest
  • Claude 3.5 Haiku(无限制,当用户达到月度额度上限时自动切换)
  • GPT-4o latest
  • OpenAI o1-mini
  • OpenAI o1-preview
  • Gemini 1.5 Pro

自带 API 密钥或本地 

 

💻 代码库上下文

PearAI 会索引您的代码库,以便稍后可以自动从整个工作空间中提取最相关的上下文。这是通过嵌入检索和关键词搜索的结合完成的。默认情况下,所有嵌入使用 all-MiniLM-L6-v2 在本地计算,并存储在 ~/.pearai/index

目前,代码库检索功能可通过 "codebase" 和 "folder" 上下文提供程序使用。您可以在输入框中键入 @codebase 或 @folder,然后提出问题。输入框的内容将与代码库(或文件夹)中其余部分的嵌入进行比较,以确定相关文件。

以下是一些常见的使用场景:

  • 提问有关代码库的高级问题
    • "如何为服务器添加一个新的端点?"
    • "我们是否在任何地方使用了 VS Code 的 CodeLens 功能?"
    • "是否已经有代码可以将 HTML 转换为 markdown?"
  • 使用现有示例作为参考生成代码
    • "生成一个带日期选择器的新的 React 组件,使用现有组件的相同模式"
    • "为该项目使用 Python 的 argparse 编写一个 CLI 应用程序草稿"
    • "在 bar 类中实现 foo 方法,遵循其他 baz 子类中的模式"
  • 使用 @folder 对特定文件夹提问,提高相关结果的可能性
    • "这个文件夹的主要用途是什么?"
    • "我们是如何使用 VS Code 的 CodeLens API 的?"
    • 或者以上任何示例,但将 @codebase 替换为 @folder

以下是一些不适合的场景:

  • 需要让大语言模型查看代码库中的每一个文件
    • "找出所有调用了 foo 函数的地方"
    • "检查我们的代码库并找出所有拼写错误"
  • 重构
    • "为 bar 函数添加一个新的参数并更新用法"

索引时忽略文件

PearAI 遵循 .gitignore 文件来确定哪些文件不应被索引。

如果您想查看 PearAI 已索引的文件,元数据存储在 ~/.pearai/index/index.sqlite。您可以使用类似 DB Browser for SQLite 的工具查看此文件中的 tag_catalog 表。

如果需要强制刷新索引,可以使用 cmd/ctrl + shift + p + "Reload Window" 重新加载 VS Code 窗口,或者按聊天面板左下角的索引按钮。

 

📋 常见使用场景

轻松理解代码段

  • cmd+L(MacOS) / ctrl+L(Windows)

PearAI中文使用教程,实用快捷命令讲解-6

使用 Tab 键自动完成代码建议

  • tab(MacOS) / tab(Windows)

PearAI中文使用教程,实用快捷命令讲解-7

在编写代码时重构函数

  • cmd+I(MacOS) / ctrl+I(Windows)

PearAI中文使用教程,实用快捷命令讲解-8

提问有关代码库的问题

  • @codebase(MacOS) / @codebase(Windows)

PearAI中文使用教程,实用快捷命令讲解-9

快速将文档用作上下文

  • @docs(MacOS) / @docs(Windows)

PearAI中文使用教程,实用快捷命令讲解-10

使用斜杠命令启动操作

  • /edit(MacOS) / /edit(Windows)

PearAI中文使用教程,实用快捷命令讲解-1

将类、文件等添加到上下文中

  • @files(MacOS) / @files(Windows)

PearAI中文使用教程,实用快捷命令讲解-12

立即理解终端错误

  • cmd+shift+R(MacOS) / ctrl+shift+R(Windows)

PearAI中文使用教程,实用快捷命令讲解-13

 

Mac 用户:下载 PearAI 的开发版本 

要以开发模式运行 PearAI,您需要下载未签名的应用版本,因为签名版本无法在调试模式下运行。

在此下载 PearAI 开发版本

AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » PearAI中文使用教程,实用快捷命令讲解

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文