123SUDODocs
指南

代码工作区

将 9xchat 指向项目文件夹以检查、搜索、运行脚本、执行 git 操作并查看代码库中的 AI 差异。

Code 将 9xchat 转变为代理编码环境。您无需复制和粘贴断开连接的代码片段,而是在磁盘上打开整个项目文件夹。 AI 助手可以探索您的目录树、读取文件、跨代码搜索、运行项目脚本、检查 git 历史记录并提出编辑建议。

代码工作区是一项高级桌面功能,需要有效的 Pro 订阅。请参阅 积分、Pro 和用法

打开工作区

  1. 将任何项目目录拖放到代码屏幕上,或单击选择文件夹
  2. 9xchat 索引文件夹结构并将其显示在左侧项目面板中。
  3. 您最近的工作空间保存在最近的工作空间下,以便快速访问。

一个工作区可以容纳多个文件夹 - 当更改跨越应用程序及其依赖的库时,添加第二个根目录。第一个文件夹保留主根,这决定了不明确路径的解析位置。更改工作区中的文件夹会清除 AI 撤消历史记录,因此应用程序会要求您首先保留或拒绝任何待处理的编辑,而不是搁置它们。

9xchat 打开项目之前的代码工作区,提供文件夹放置区域和选择文件夹
代码在文件夹而不是单个文件上打开,从而使 AI 能够全面了解项目的上下文。

工作区导航

代码工作区布局分为专门的面板:

  • 会话侧边栏: 为不同的任务保留单独的对话线程 在相同的代码库中(例如,重构身份验证逻辑与添加单元测试)。
  • 文件资源管理器: 使用文件类型图标和文件夹浏览文件层次结构 扩张。
  • 快速文件查找器(⌘P / Ctrl+P): 模糊搜索您的文件名 项目直接跳转到任何文件。
  • 全文项目搜索: Grep 文本、函数和符号 带有比赛预览的整个工作区。
  • 语法突出显示的文件预览: 并排查看文件和行号 和语言突出显示。
9xchat 打开项目的代码工作区:左侧是会话,右侧是文件树,顶部栏中是“运行”和“手动”
一个开放的工作空间。顶部栏包含作用于整个项目的控件 - 运行其入口页面,选择允许的脚本,以及在手动和自动审查之间切换。

代理编码工具

当在代码会话中与支持的云模型聊天时,助手可以访问内置的开发人员工具:

工具类别能力
文件操作读取文件、创建新文件、列出目录内容以及搜索文件名和文件内容
人工智能编辑和差异建议跨一个或多个文件进行精确的字符串替换或重写
Git 集成检查 git status、查看 git diff、检查提交历史记录和阶段提交
脚本运行器执行 npm/yarn/pip 脚本,运行测试套件,并监控正在运行的后台进程
包管理检查并安装项目依赖项
浏览器在工作区旁边的窗格中打开页面并阅读其上的内容

ripgrep 安装在您的计算机上时,内容搜索将使用它,这消除了 JavaScript 扫描所需的文件和结果上限。无论哪种方式,助手都会调用相同的工具,因此对话不会发生任何变化——大型存储库只是停止以截断的形式进行搜索。

无论 ripgrep 是否存在,相同的规则决定可以读取哪些文件。更快的搜索并不会扩大助手可以看到的内容。

代理编码工作流程依赖于云模型支持的工具调用功能。 Ollama 模型当前不支持 9xchat 中的工具执行。

审查 AI 编辑

编辑是分阶段进行的,而不是书面的,差异查看器通过行号和语法突出显示显示添加和删除。 Keep将更改写入磁盘;撤消丢弃它。

手动和自动

每个会话要么是手动(每个更改都等待您保留或撤消它),要么是自动,其中编辑在进行时应用。在自动模式下仍然会询问删除和重命名文件,因为这两个操作很难逆转。

自动模式针对每个会话,并在应用程序重新启动时重置为手动。写入访问权限不应该在启动过程中悄悄保留。

自动模式在应用失败后或在未经审查的情况下十圈后自行停止,卡片上有说明。长重构可以合理地运行几轮——模型在其自身的错误编辑上循环也是如此。从循环内部看,两者看起来相同,因此计数是停止第二个循环的原因。重新打开自动功能会重置计数器。

将您的代码置于版本控制之下

保持 AI 编辑会修改磁盘上项目目录中的实际文件。始终在 git 存储库中工作或维护备份,以便您可以在需要时恢复更改。

运行该项目的脚本

助手可能运行的脚本列出了 package.json 定义的内容,并允许您一次启用它们。默认情况下不会启用任何内容,因此,除非您指定哪些脚本是安全的,否则新的工作区无法运行任何内容 - 如果项目没有 package.json,或未定义任何脚本,则对话框会这样说明,而不是提供空列表。

打开自动模式会启用列表中的每个脚本,只要它处于打开状态。

助手可以运行的脚本对话框列出了构建、开发、lint 和启用 lint 和测试的测试
每个脚本都是单独启用的,下面的行会进行计数。在您打开它之前,什么都不会打开。

持续运行的脚本(开发服务器、观察程序)会移至 运行脚本,您可以在其中读取其输出或停止它。输出是可重播的,因此在您继续操作后仍然可以读取会话中较早开始的后台运行,并且正在运行的进程的计数在顶部栏中保持可见。您看不到的流程是此功能绝不能创建的一件事。

预览页面

当工作区包含条目 HTML 文档时,会出现 运行,并在编辑器旁边的执行预览中将其打开。本地样式表、脚本和图像是从工作区加载的,因此页面作为一个整体呈现,而不是作为裸标记呈现。

预览是隔离的:无法访问应用程序、无法访问网络、也无法访问其自身的文件。这就是为什么它的资源在文档中移动 - 以及为什么从互联网获取的页面会显示这些请求被阻止。

运行本地页面的工作区预览,显示其徽标、标题以及由其自己的脚本构建的三个列表条目
实际运行的页面:其样式表、SVG 徽标以及解析文档后构建的延迟脚本的列表。

浏览器在工作区旁边的窗格中打开一个真实页面,这是另一半:预览用于您正在编辑的文档,浏览器窗格用于您正在查看的文档。

工作空间回忆

代码会话可以记住工作区范围内的内容而不是对话,因此有关项目如何构建的事实会保留到同一代码库上的下一个会话中。 会话内存 在会话内存之上列出工作空间内存;两者也都在 Library → Memories 中,其中工作区过滤器按名称显示它们。

看看要花多少钱

查看会话使用情况 细分编码会话的花费情况。与聊天相比,代理会读取更多的文件并调用更多的工具,因此值得在长时间的重构中进行检查,而不是在月底进行检查。

在此页面上