# 介绍 > 本文来源(引用请用此链接): **InsCode AI智能体** 是一款跨平台桌面应用,把 AI 编码助手装进一个轻量的原生客户端:在你自己的机器上读写代码、同时推进多个任务,配一套干净的审查界面,让你随时看清它改了什么。 应用基于 **Rust** 构建,内置 **AtomCode 智能体内核**。 ## 它能做什么 - **写代码、改代码**:绑定一个本地项目,用自然语言描述需求,它会自己读文件、改文件、跑命令,每一轮结束都列出改动了哪些文件。 - **并行推进多个任务**:多个任务同时跑,互不阻塞。需要彻底隔离时,可以让任务在独立的 [Git 工作树](https://agent.inscode.net/docs/guide/worktrees)里进行,几套方案并行试而不互相干扰。 - **交给它一个目标,自己跑完**:[长任务模式](https://agent.inscode.net/docs/guide/goal)下,它会自动多轮推进并独立校验目标是否达成,你只需要在关键节点看一眼。 - **审查、预览、动手改**:右栏能看 diff、跑起项目看效果、开终端,也能直接编辑文件。见[审查、预览与终端](https://agent.inscode.net/docs/guide/review-preview)。 - **代码审查**:`/review` 对未提交、已暂存或与指定分支的改动做审查,结论按 P0–P3 分级,可以一键交给它修。 ## 特点 - **授权由你掌控**:四档[权限模式](https://agent.inscode.net/docs/guide/permission-modes),从「只读探索」到「完全放手」,每个任务单独设置,随时切换。 - **不锁模型**:登录即用的免费模型、TaoToken 订阅、本机已装的命令行 AI 工具,或者填自己的 API Key,随时切换。见[模型与用量](https://agent.inscode.net/docs/guide/models)。 - **本地优先**:代码和任务记录默认留在本机,由你掌控。见[数据与隐私](https://agent.inscode.net/docs/reference/privacy)。 - **可扩展**:[技能](https://agent.inscode.net/docs/advanced/skills)、[MCP 工具](https://agent.inscode.net/docs/advanced/mcp)、[插件市场](https://agent.inscode.net/docs/advanced/plugins),按需装。 ## 从哪开始 ::card-group :::card --- icon: i-lucide-download title: 安装与更新 to: https://agent.inscode.net/docs/getting-started/installation --- 下载对应平台的安装包,了解自动更新怎么工作。 ::: :::card --- icon: i-lucide-rocket title: 快速上手 to: https://agent.inscode.net/docs/getting-started/usage --- 登录、选模型,发起第一个任务。 ::: :::card --- icon: i-lucide-layout-dashboard title: 界面导览 to: https://agent.inscode.net/docs/getting-started/interface --- 认识侧栏、对话区、右栏与命令面板。 ::: :::card --- icon: i-lucide-circle-help title: 常见问题 to: https://agent.inscode.net/docs/reference/faq --- 安装、登录、模型、权限的高频疑问。 ::: :: # 安装与更新 > 本文来源(引用请用此链接): ## 支持的平台 | 平台 | 架构 | 安装包 | 自动更新 | | ------------- | -------------------- | ------ | ---- | | macOS | Apple Silicon(arm64) | `.dmg` | ✓ | | macOS | Intel(x64) | `.dmg` | ✓ | | Windows | x64 | `.exe` | ✓ | | HarmonyOS(鸿蒙) | — | 即将支持 | 暂不支持 | | Linux | — | 规划中 | 暂不支持 | ## 下载安装 打开[下载页](https://agent.inscode.net/download),它会识别你的系统并推荐对应版本。 ::steps ### macOS 1. 下载 `.dmg` 安装包。 2. 双击打开,按引导把 **InsCode** 拖进 **应用程序** 文件夹。 3. 从启动台或应用程序文件夹启动。 ### Windows 1. 下载 `.exe` 安装包。 2. 双击运行,按提示完成安装。 3. 从开始菜单启动 InsCode。 :: ## 自动更新 InsCode 内置自动更新: - 启动时检查一次,之后**每 6 小时**再查一次。 - 安装包下载前会**校验签名**,确认来源无误后才安装,装完自动重启。 - 也可以在 **设置 → 关于** 里查看当前版本、手动「检查更新」;macOS 顶部菜单也有这个入口。 ::note 有任务正在运行时触发更新,应用会先提示你,不会打断进行中的对话。 :: ## 预览版(Beta) 想抢先试新功能,可以在 **设置 → 关于** 打开**预览版**开关: - 打开后会收到正式版发布前的预览版本,功能仍在完善,可能不稳定。 - 预览版的版本号旁会标注「预览版」,与正式版一眼可辨。 - 关掉开关就会回到最新正式版(关于页显示为「回到正式版」)。 ::warning 预览版用于抢先体验,不建议在重要工作中长期使用。 :: # 快速上手 > 本文来源(引用请用此链接): 三步用上 InsCode AI智能体。 ## 第一步:登录 InsCode 需要登录后使用。首次启动会进入登录页: 1. 勾选用户协议,点 **登录**,应用会拉起系统浏览器打开授权页(使用 **CSDN 账号**)。 2. 在浏览器里完成授权,页面会自动通知客户端。 3. 回到应用,就可以新建任务了。 ::note 登录、调用云端模型、检查更新都需要联网。用本机已装的命令行 AI 工具或本地模型时,推理本身可以离线,但登录这一步仍然要联网。 :: ## 第二步:选模型 登录后不必马上绑定模型也能浏览;**第一次发送消息或创建项目**时,会引导你绑定一个。**设置 → 模型服务** 里有四种接入方式: ::card-group :::card{icon="i-lucide-gift" title="免费模型"} 登录即用,不需要 API Key,起步最省心。 ::: :::card{icon="i-lucide-key-round" title="TaoToken 订阅"} 购买套餐后生成订阅 API Key,填入即可解锁全部订阅模型。 ::: :::card{icon="i-lucide-terminal" title="本机订阅模型"} 复用你本机已装的命令行 AI 工具(Codex、Kimi Code),沿用它们各自的订阅。 ::: :::card{icon="i-lucide-plug" title="自定义模型(BYOK)"} 从内置厂商模板里挑一个,填自己的 API Key 和模型 ID,可做连通性测试。 ::: :: 细节见[模型与用量](https://agent.inscode.net/docs/guide/models)。 ## 第三步:发起第一个任务 在新建任务页输入第一条消息,任务就建好、助手也随之启动: - **关联项目**:选一个本地项目目录,助手在其中读写代码;也可以不绑项目,只做**普通对话**。 - **启动方式**:Git 项目可以选「在本地处理」,或为这个任务开一个独立的 [Git 工作树](https://agent.inscode.net/docs/guide/worktrees)。 - **加内容**:点输入框的 **+** 打开插入面板 —— 添加附件、插入 `@` 提及、插入 `/` 命令、直接调用已启用的技能,都在这一处。详见[斜杠命令与提及](https://agent.inscode.net/docs/guide/commands)。 - **发送**:`Enter` 发送、`Shift + Enter` 换行;`⌘ + Enter`(Windows 为 `Ctrl + Enter`)同样可以发送。 - **权限模式**:输入框旁选择助手的授权松紧,四档由紧到松是计划模式、变更前确认、自动编辑(默认)、完全访问,详见[权限模式](https://agent.inscode.net/docs/guide/permission-modes)。 发送后,助手会流式返回思考、工具调用和结果。每轮回答末尾会列出**这一轮改动的文件**,点击即可跳到「审查」查看 diff,也可以一键**撤销**本轮改动。 ## 接下来 - 不熟悉界面?看[界面导览](https://agent.inscode.net/docs/getting-started/interface)。 - 想让它自己跑完一件大事?看[长任务 Goal](https://agent.inscode.net/docs/guide/goal)。 - 从别的 AI 编程工具迁过来?[会话接力](https://agent.inscode.net/docs/guide/session-continuity)可以把历史对话接着往下做。 # 界面导览 > 本文来源(引用请用此链接): InsCode 是**三栏布局**:左边侧栏管任务,中间是对话,右栏看结果。写代码本来就是「读对话 + 看改动」同时发生,所以两者并排常驻,不用来回切。 ```text ┌──────────────┬────────────────────────┬──────────────────────┐ │ 侧栏 │ 对话区 │ 右栏 │ │ │ │ │ │ + 新建任务 │ 你的提问 │ [审查][浏览器][文件] │ │ 搜索 │ 助手回答(流式) │ [终端] │ │ │ · 工具调用轨迹 │ │ │ ▾ 项目 A │ · 等待你确认 │ 文件改动 / 页面预览 │ │ ● 任务 1 │ · 已编辑 N 个文件 │ / 文件内容 / 命令行 │ │ ○ 任务 2 │ │ │ │ ▾ 项目 B │ ┌──────────────────┐ │ │ │ ○ 任务 3 │ │ + 输入框 模型 ▾ │ │ │ │ │ │ 权限 ▾ │ │ │ │ ⚙ 设置 │ └──────────────────┘ │ │ └──────────────┴────────────────────────┴──────────────────────┘ ``` ## 侧栏 按**项目分组**列出所有任务,顶部是「新建任务」与搜索。 - **状态点**标出每个任务在干什么:运行中 / 等你确认 / 空闲。 - 悬停任务会弹出**信息卡片**,显示标题、时间、所属项目与分支。 - 右键任务可以置顶、在新窗口打开、标记未读、归档、删除。 - 底部是**设置**入口,以及帮助菜单(问题上报、用户社群、产品文档)。 - `⌘ + B`(Windows 为 `Ctrl + B`)折叠或展开侧栏。 ## 对话区 中间是与助手的对话。除了正文,你还会看到: - **工具调用轨迹** —— 它读了哪些文件、跑了什么命令,按类别聚合展示,可以展开看详情。 - **等待你的确认** —— 需要授权时会出现确认条,见[权限模式](https://agent.inscode.net/docs/guide/permission-modes)。 - **交互式提问** —— 它拿不准时会直接问你,给出选项或输入框,你选定后再继续;卡片可以折叠。 - **已编辑 N 个文件** —— 每轮回答末尾列出本轮改动,可以点进「审查」看 diff,也可以一键**撤销**本轮改动。 - **对话导航条** —— 长对话时右侧出现刻度条,点击跳转到对应轮次,悬停显示该轮摘要。 输入框底部有**模型选择器**和**权限模式选择器**,都是**每个任务单独**的设置。左边的 **+** 打开插入面板:附件、`@` 提及、`/` 命令、已启用的技能,一处直达。 ## 右栏 四个 Tab,按需打开: | Tab | 作用 | 快捷键 | | ------- | ----------------------------------------------- | ------- | | **审查** | 看当前工作区相对 HEAD 的改动(含未跟踪的新文件),行级着色 diff,可暂存、提交、推送 | `⌘ + 2` | | **浏览器** | 跑起项目看效果 —— 自动探测并启动本地开发服务,把页面内嵌进来 | `⌘ + 1` | | **文件** | 打开并**直接编辑**文件,带语法高亮,改完自动保存 | — | | **终端** | 内置命令行,跟你平时用的终端一样 | `⌘ + 3` | `⌘ + .` 切换右栏显隐。详见[审查、预览与终端](https://agent.inscode.net/docs/guide/review-preview)。 ## 命令面板 `⌘ + K`(Windows 为 `Ctrl + K`)唤起命令面板,模糊搜索任务、文件与命令,键盘直达。完整键位见[快捷键速查](https://agent.inscode.net/docs/reference/shortcuts)。 ## 设置 侧栏底部齿轮进入,分四组: | 分组 | 内容 | | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **个人** | 常规、外观、快捷键、[套餐与用量](https://agent.inscode.net/docs/guide/models#%E5%A5%97%E9%A4%90%E4%B8%8E%E7%94%A8%E9%87%8F)、已归档任务 | | **集成** | [模型服务](https://agent.inscode.net/docs/guide/models)、[技能](https://agent.inscode.net/docs/advanced/skills)、[MCP](https://agent.inscode.net/docs/advanced/mcp)、[搜索](https://agent.inscode.net/docs/advanced/web-search)、[记忆](https://agent.inscode.net/docs/advanced/memory)、智能体分析(本地扫描 / [会话接力](https://agent.inscode.net/docs/guide/session-continuity)) | | **编码** | [环境、工作树](https://agent.inscode.net/docs/guide/worktrees) | | — | 调试、关于(版本、检查更新、[预览版开关](https://agent.inscode.net/docs/getting-started/installation#%E9%A2%84%E8%A7%88%E7%89%88beta)) | # 任务与并行 > 本文来源(引用请用此链接): **任务** 是 InsCode 的核心单位。一个任务就是一次独立的对话,能单独运行、单独停止,彼此不阻塞。 ## 新建任务 在新建任务页发送消息即可创建任务。建之前可以定三件事: - **项目**:选一个本地项目目录,助手在其中读写代码。也可以不绑项目,只做**普通对话**(此时没有可扫描的工作区,`/init`、`/review` 这类命令不可用)。 - **启动方式**:Git 项目可以选「在本地处理」,或为这个任务创建**独立工作树**,几套方案并行试而互不干扰。见[工作树与环境](https://agent.inscode.net/docs/guide/worktrees)。 - **分支**:本地处理时选在哪个分支上干;新建工作树时用于指定创建基线。 助手会流式返回思考、工具调用、命令执行、需要你确认的操作,以及最终结果。每轮结束都会自动保存。 ## 同时跑多个任务 一个应用里可以**同时推进多个任务**。侧栏按项目分组列出全部任务,用状态点标出各自在干什么: | 状态 | 含义 | | ---- | ------------------ | | 运行中 | 助手正在工作 | | 等待确认 | 有操作在等你放行,或它向你提了个问题 | | 空闲 | 这一轮已经结束 | 一个任务在跑,你可以切到另一个继续工作。切走不会中断它 —— 回来时进度还在。 ## 找回以前的任务 - **侧栏搜索**:所有任务和消息都保存在本机,支持**全文搜索**,输关键词就能定位。 - **命令面板**:`⌘ + K` 也能直接跳任务。 - **任务内搜索**:`⌘ + F` 在当前对话里查内容。 ## 整理任务 | 操作 | 说明 | | ------------- | ---------------------------- | | **置顶** | 固定在列表前方,并显示置顶标识 | | **在新窗口打开** | 独立窗口,布局与主窗口一致,适合两个任务对照着看 | | **标记未读 / 已读** | 长时间跑的任务,回头一眼看出哪个有新进展 | | **归档** | 从侧栏收起。项目菜单可以一键归档该项目下**全部**任务 | | **删除** | 彻底移除 | 已归档的任务在 **设置 → 已归档任务** 里集中管理:按任务或项目筛选、搜索、恢复,也可以按项目批量删除。 ## 常用操作 - **停止**:运行中随时叫停,`⌘ + Shift + X` 或 `Esc`。 :warning[要立刻停下来请用**停止**,不要靠切换权限模式 —— 切档不会中止已在执行的操作。] - **编辑并重发**:在你发过的消息上编辑重问,它之后的历史会被截断,再从这里继续。 - **出错重发**:报错的卡片上有「重新发送」,一键重试。 - **从某条消息继续到新任务**:在对话的关键节点派生一个新任务,接着这里往下探索,必要时放进新的工作树 —— 主线不受影响。 - **用外部工具打开**:「打开」按钮可以用 VS Code、Cursor、Trae、访达 / 资源管理器、终端等打开当前项目(按平台和已安装的应用自动探测)。 ## 上下文快满了怎么办 对话很长时,上下文会接近模型的上限。InsCode 会**提前提醒**你,此时可以: - 开一个新任务接着做(用「从某条消息继续」把关键结论带过去); - 或换一个上下文窗口更大的模型。 ::note 界面上的展开 / 折叠状态保存在内存里,重启应用会重置;消息本身已经落盘,不会丢。 :: # 模型与用量 > 本文来源(引用请用此链接): InsCode **不绑死一家供应商**。**设置 → 模型服务** 里可以同时接入多种来源,并在任务中随时切换。 ## 四种接入方式 ### 免费模型 登录后即可使用,**不需要 API Key**,起步最快。 ### TaoToken 订阅 有 TaoToken 套餐时,三步启用: 1. **购买订阅套餐** —— 解锁个人版 / 企业版的全部模型。 2. **获取 API Key** —— 在 TaoToken 控制台生成订阅专用 Key。 3. **配置模型** —— 把 Key 填进「模型服务」,检测后勾选要启用的模型。 支持**同时绑定多个 Key**,模型选择器里会按订阅槽分组展示。Key 可以随时换绑或解绑。 ### 本机订阅模型 如果你机器上已经装了 **Codex** 或 **Kimi Code** 这类命令行 AI 工具,可以直接在 InsCode 里用它们 —— **复用你已有的订阅**,不用再买一份。 - 设置页提供检测与安装入口,只展示**实际检测到**的工具。 - 可用模型列表随工具动态获取。 ### 自定义模型(BYOK) 用自己的 API Key 接入: 1. 从内置厂商模板里挑一个,会自动带出对应协议和默认 Base URL。内置模板包括 **Anthropic、DeepSeek、豆包 Doubao、GLM 智谱、Kimi 月之暗面、MiniMax、Ollama 本地、OpenAI、Qwen 通义**。 2. 填入 **API Key**、**模型 ID**,需要时调整 Base URL。 3. 点**连通性测试**验证。 4. 保存。 两个可选项,给自建网关和本地模型用: - **上下文窗口**:拿不到服务端信息时可以自己指定。 - **图片支持**:自动判断 / 支持图片 / 不支持图片。自建网关、Ollama 本地模型往往拿不到模态信息,可以手动声明;保持「自动判断」则沿用识别逻辑。 ## 管理已启用的模型 「模型服务」里有一份统一的已启用清单,可以按名称搜索、按来源筛选,逐个开关。 ## 在任务中切换 每个任务**单独**选择模型 —— 在输入框旁的模型选择器里切换,或按 `⌘ + M`。 ### 思考强度 部分模型支持调节**思考强度**,在响应速度与思考深度之间自行权衡。选择器里模型名旁边的二级菜单就是入口,可选档位由模型本身决定。 ::note 切换模型后,思考强度会自动回到「自动」—— 不同模型的档位不通用,避免沿用上一个模型不适用的设置。 :: ## 网络不稳时会怎样 模型接口出现瞬时故障(连接被提前关闭等)时会**自动重试并重建连接**,重试过程在对话里可见,按「第 N 次尝试」显示。回答中途断流会自动重连并重发该轮,不会残留半截内容。重试有整体时间上限,避免持续故障时长时间空等。 报错时结论一行说清,完整原文折叠在「查看详情」里。 ## 套餐与用量 **设置 → 套餐与用量**,两个 Tab: - **应用用量** —— 本机的 token 用量、任务数量、消息数量、活跃天数、当前连续天数、最常用模型,以及按天的 Token 趋势图。 - **权益包** —— 你名下的套餐列表。 ## API Key 存在哪 ::warning 界面上只显示**打码后的 Key**,真实值保存在本机的应用数据目录里。目前还没有迁移到系统钥匙串 / 凭据管理器,请在自己信任的设备上使用。 :: 详见[数据与隐私](https://agent.inscode.net/docs/reference/privacy)。 # 权限模式 > 本文来源(引用请用此链接): 助手动手之前要不要先问你,由**权限模式**决定。它是**每个任务单独**的设置:在输入框旁的选择器里选,或用 `⌘ + Shift + M`(Windows 为 `Ctrl + Shift + M`)在四档之间循环。 ## 四档梯子 四档按**授权由紧到松**排列,每一档恰好比上一档多放行一类东西(快捷键也按这个顺序循环): **计划模式 → 变更前确认 → 自动编辑(默认)→ 完全访问** | 模式 | 无需询问即可运行 | 仍会询问 | | ------------ | ------------------------------------------------ | --------------------------------------------------------------------------------- | | **计划模式** | 只读探索工具 | 一切写类工具被**直接拒绝**,不弹审批 | | **变更前确认** | 只读工具、白名单内的只读命令(`cat` / `ls` / `head` / `grep` 等) | 一切文件改动、其余命令、网络请求、MCP 工具 | | **自动编辑**(默认) | 工作区内的文件编辑、只读命令、网络请求 | 危险命令、写到工作区外、敏感文件、MCP 与未识别的工具 | | **完全访问** | 几乎全部 | 灾难性删除命令(见[已知边界](https://agent.inscode.net/#%E5%B7%B2%E7%9F%A5%E8%BE%B9%E7%95%8C)) | ### 计划模式 只读探索,先给出方案。这一档里写类工具是**硬拦**:不会弹审批让你放行,助手直接拿到拒绝结果;MCP 工具同样整类不可用。所以「本机工作区不会被修改」在这一档是一句承诺,而不是默认行为。 看完方案想让它动手,点**开始执行**回到原来的档位,或者手动切档。 ### 变更前确认 改动落地前问你一句。放行的只有只读工具,以及一张**很短的只读命令白名单** —— `cat`、`ls`、`pwd`、`head`、`tail`、`wc`、`echo`、`which`、`type`、`grep`。名单之外一律询问,包括: - `git`(哪怕是 `git status`,首版不做子命令细分); - `rg`、`find`; - 任何带 `>`、`|`、`&&`、`;`、`$(...)` 的复合命令。 ::note `rg`、`find` 看着是纯查询,实际都自带执行任意程序的入口(`rg --pre=...` 会对每个输入文件跑一遍指定命令,`find -execdir ...` 同理),所以不进白名单。要在这一档搜索代码,用助手自带的搜索工具,它们本来就放行。 :: 这一档还有两条配套约束: - **[长任务(Goal)模式](https://agent.inscode.net/docs/guide/goal)的自动批准白名单在这一档不生效** —— 你选了逐个确认,就以逐个确认为准。 - **审批条上没有「本任务始终允许」**;切进这一档时,之前在别的档位建立的任务级放行也会被清空。 ### 自动编辑(默认) 工作区内的文件编辑不再打断你,其余照问:危险命令、写到工作区外的路径、敏感文件(密钥、证书等)、MCP 与未识别的工具都会弹审批。 ### 完全访问 日常操作不再逐个确认。唯一仍会弹窗的是**灾难性删除命令**——那是防模型参数幻觉的断路器,不是一道完整的安全边界,它的覆盖面见下方[已知边界](https://agent.inscode.net/#%E5%B7%B2%E7%9F%A5%E8%BE%B9%E7%95%8C)。 ## 切换时机 切档**从下一次工具调用开始生效**。已经批准或正在执行的操作,会按切换前的档位跑完。 ::warning 要立刻停下来,请用**停止**,不是切档。切到更严的档位不会中止已在执行的操作。 :: ## 已知边界 这一节讲的是这套机制**做不到**的事。 ### 断路器覆盖不到 MCP 与任意代码执行 「完全访问」档下唯一仍会弹审批的是**灾难性删除**(`rm -rf ~`、`rm -rf /` 及其包装器与复合命令写法)。它匹配的是 **shell 删除命令的字面形态**,因此覆盖不到: - **MCP 工具**:例如某个文件系统 MCP server 的「删除目录」工具,参数指向主目录 —— 没有任何东西会拦。 - **任意代码执行**:`python -c "shutil.rmtree(...)"`、`node -e ...` 或一个脚本文件,效果等价但形态完全不同。 所以**不要**把它读成「只有删除主目录才会问你」。 ### 「完全访问」不提供针对提示注入的保护 这一档会自动应答**一切**审批请求,包括模型被外部内容(网页、仓库里的文件、第三方工具的返回值)诱导而发起的操作。需要更强隔离时: - 在 **设置 → MCP** 里按 server 声明信任范围(默认不信任,可逐个工具放行); - 不要在来源不明的工作区里用「完全访问」。 ### 装回旧版本客户端会让「变更前确认」扩权一级 权限档由客户端强制执行。「变更前确认」是较新版本引入的档位,**旧版本客户端**打开同一份本地数据时不认识这个取值,会回落到默认档(自动编辑)—— 原本每次都问的工作区内编辑,于是变成不再询问。 ::warning 降级安装旧版本后,请重新确认各任务的权限模式。 :: ## 相关 - 文件访问范围、数据存放位置与联网时机,见 [数据与隐私](https://agent.inscode.net/docs/reference/privacy)。 - MCP server 的接入与信任配置,见 [MCP 工具](https://agent.inscode.net/docs/advanced/mcp)。 # 审查、预览与终端 > 本文来源(引用请用此链接): 右栏是你核对结果、动手干预的地方,四个 Tab:**审查**、**浏览器**、**文件**、**终端**。`⌘ + .` 切换右栏显隐。 ## 审查 展示当前工作区相对 HEAD 的改动,包含未跟踪的新文件。它是基于本机 Git 计算的,**不需要你先提交**。 - 左侧文件树按目录顺序排列,标注新增、删除、修改状态。 - 右侧是行级着色 diff,`⌘ + \` 在**统一视图**与**拆分视图**之间切换。 - `J` / `K` 在改动块之间上下浏览,`⌘ + E` 用外部编辑器打开当前文件。 - 助手每完成一轮,diff 会**自动重新拉取**,始终反映最新状态。 - 文件很多或差异很大时会自动切到**单文件模式**:一次只完整渲染当前文件,靠文件树切换,避免卡顿。 ### 从回答直达改动文件 每轮回答末尾会列出**这一轮改动的文件**。点击任意一个,直接切到「审查」并定位到它。卡片上还有两个按钮: - **撤销** —— 一键还原本轮对这些文件的改动。 - **审核** —— 跳到审查面板查看更改。 ::note 非 Git 项目没有版本历史可回退,「撤销」会明确提示无法撤销。 :: ### 行内评论 在拆分与对比视图里,左右两侧都可以悬停发起**行内评论**。写下的评论会作为下一轮的输入自动带给助手 —— 相当于在代码上直接指出问题,不用再回对话框描述「第几行那个变量」。 ### 暂存、提交与推送 审查面板可以按文件**暂存 / 取消暂存 / 还原**,顶栏的「提交」打开提交面板: - 分别列出已暂存与未暂存的改动。 - 可以提交到当前分支,也可以提交到**新分支**。 - **提交并推送**一步到位(`⌘ + Enter`)。 装了 **GitHub CLI(`gh`)** 并登录后,还能直接**创建拉取请求**(需要仓库有 `origin` 远端,且当前不在默认分支上)。 ### 代码审查(`/review`) 在输入框敲 `/review` 让助手做一次代码审查: | 写法 | 审查范围 | | ------------------- | ------------- | | `/review` | 未提交的改动 | | `/review staged` | 已暂存的改动 | | `/review <分支或 ref>` | 与指定分支 / 提交的差异 | 审查面板顶栏也有「审查」按钮,按当前所选范围发起。结论按 **P0 到 P3** 分级展示,点击可在右栏打开对应文件,也可以**一键交给助手修复**。改动范围过大时会先征求你确认再开跑。 ::note `/review` 需要一个可扫描的工作区,普通对话(没绑项目)里不可用。 :: ## 浏览器 在应用里直接看到项目跑起来是什么样: - **前端项目**:自动探测 `dev` / `start` / `serve` 脚本,启动本地开发服务,解析出地址内嵌进来。`⌘ + 1` 直接启动并切过去。 - **静态页面**:纯 HTML 直接渲染。 - **普通对话**生成单文件网页或前端页面时,回答结束会自动打开预览。 - **框选标注**:可以在预览区框选、标注,直接连同截图发给助手 —— 「这块样式不对」比打字描述快得多。 ## 文件 打开任意文件查看,**可以直接编辑并自动保存**,带语法高亮。适合你想亲手改一行、而不是绕一圈让助手改的场景。 ## 终端 右栏内置命令行(`⌘ + 3`),跟你平时用的终端一样。助手自己跑命令时,输出也会**内联显示在对话里**,两条路都看得见。 ::note 助手在终端里跑命令同样受[权限模式](https://agent.inscode.net/docs/guide/permission-modes)约束。 :: --- 「改完 → 看 diff → 跑起来看效果 → 行内指出问题」,这就是一个顺手的迭代循环。 # 斜杠命令与提及 > 本文来源(引用请用此链接): 输入框左边的 **+** 是统一的插入面板,四类东西都在这一处,每项配简要说明,不用记: | 入口 | 作用 | | ------------- | ---------- | | **添加附件** | 图片、文件或文件夹 | | **插入 `@` 提及** | 引用工作区文件 | | **插入 `/` 命令** | 调用命令或技能 | | **技能** | 已启用的技能直接列出 | 直接在输入框敲 `@` 或 `/` 的老用法照常有效。 ## 斜杠命令 敲 `/` 弹出命令列表。内置三个: | 命令 | 作用 | | ------------ | ------------------------------------------------------------------------------------------------------------------------------- | | `/goal <目标>` | 设定一个目标,让助手自动多轮推进直到达成。见[长任务 Goal](https://agent.inscode.net/docs/guide/goal) | | `/init` | 扫描当前工作区,生成或改进项目说明文件 `AGENTS.md`。见[记忆与项目指令](https://agent.inscode.net/docs/advanced/memory) | | `/review` | 审查当前改动,结论按 P0–P3 分级。见[审查、预览与终端](https://agent.inscode.net/docs/guide/review-preview#%E4%BB%A3%E7%A0%81%E5%AE%A1%E6%9F%A5review) | ::note `/init` 与 `/review` 需要一个可扫描的工作区,**普通对话**(没绑项目)里不会出现在列表中。 :: 安装了[技能](https://agent.inscode.net/docs/advanced/skills)和[插件](https://agent.inscode.net/docs/advanced/plugins)后,它们提供的命令也会出现在同一个 `/` 列表里。同名时**内置命令优先**。 ## `@` 提及文件 敲 `@` 后输入文件名,弹层会实时搜索工作区里的文件和目录,选中即插入引用。助手会把这些文件当作上下文读进去 —— 比你贴一大段代码进来准确,也省 token。 ## 附件 - **任意文件与文件夹**都能加,不限文档类型,也没有大小上限。 - 文件夹可以就地引用,在对话里显示成一个标签。 - **图片**可以直接粘贴或拖进来,用支持图片的模型时会作为视觉上下文。 - 从[浏览器预览](https://agent.inscode.net/docs/guide/review-preview#%E6%B5%8F%E8%A7%88%E5%99%A8)框选标注的截图同样可以直接发送。 ## 输入框里还有什么 - **草稿隔离**:每个任务的输入框草稿分开保存,切走再回来还在。 - **输入历史**:方向键浏览你之前发过的消息。 - **撤销栈**:输错了可以撤销。 - **`⌘ + Shift + L`**:把当前选中的内容加进上下文。 - **界面缩放**:macOS 用 `⌘` 加减号,Windows 与 Linux 用 `Ctrl + Shift` 加减号。 # 长任务 Goal > 本文来源(引用请用此链接): 普通对话是「你问一句、它答一句」。**长任务模式**换了个玩法:你给一个**目标**,它自己拆解、执行、校验,一轮不达标就接着改,直到达成或者主动停下来向你汇报。 适合那种「说得清结果、但要来回折腾很多轮」的活 —— 比如「把这个模块的测试补到全绿」「按新设计稿把设置页改完」。 ## 开始一个目标 在输入框敲: ```text /goal 把 src/parser 的单元测试补全,并让 pnpm test 全绿 ``` 或者按 `⌘ + G`(Windows 为 `Ctrl + G`)。 ::warning [计划模式](https://agent.inscode.net/docs/guide/permission-modes)下不能启动目标 —— 那一档不允许任何写操作。会提示你先点「开始执行」或切换权限档。 :: ## 它是怎么跑的 一轮「执行 → 校验」为一个迭代: 1. **执行** —— 助手按目标推进一轮。 2. **校验** —— 由**独立的校验环节**判断目标有没有达成,不是让它自己说了算。没达成会给出原因(测试还在挂、验证缺失、活儿没干完、工具报错等)。 3. 没达成就带着这个原因进入下一轮,直到达成或触发停止条件。 进度以**悬浮状态卡**实时展示,可以随时收起成一个小胶囊,不挡视线。 ## 它什么时候会停下来 | 停止原因 | 说明 | | ------------------- | -------------------------------- | | **已完成** | 校验通过 | | **已手动暂停** | 你按了暂停 | | **连续多次执行未取得进展** | 反复报错或没干成事,卡片上会显示真实次数 | | **校验器连续失败** | 校验环节本身出了问题 | | **模型服务不可用** | 比如遇到无权限一类的错误,会立即停下并说明原因,不会闷头重试刷屏 | | **已达到本窗口轮次 / 时长上限** | 预算用完了,防止无限跑下去 | | **应用重启后已安全暂停** | 重启不会丢进度;停机时长不计入预算 | 停下来后点**继续**(或 `/goal resume`)就能接着跑。 ## 命令一览 | 命令 | 作用 | | -------------------- | ------------------------------------------------------------ | | `/goal <目标>` | 设置目标并开始执行 | | `/goal replace <目标>` | 替换当前目标并**重新计数**(别名 `edit`) | | `/goal pause` | 暂停目标,并取消当前正在执行 / 校验的那一轮 | | `/goal resume` | 恢复已暂停或预算受限的目标 | | `/goal clear` | 清除目标,回到普通对话(别名 `stop` / `off` / `reset` / `none` / `cancel`) | | `/goal help` | 显示命令帮助(别名 `?` / `-h` / `--help`) | 状态卡上也有「命令帮助」「替换目标」「清除目标」的按钮。 ::note 清除后会回到普通对话模式,当前目标的进度不再保留。替换目标则会结束当前目标并重新计数。 :: ## 自动批准 长任务要连续跑很多轮,每一步都弹窗问你就失去意义了。状态卡上有 **「自动批准工作区内的删除/移动」** 开关,按需打开。 ::warning 这个白名单在 **[变更前确认](https://agent.inscode.net/docs/guide/permission-modes#%E5%8F%98%E6%9B%B4%E5%89%8D%E7%A1%AE%E8%AE%A4)** 档下**不生效** —— 你既然选了逐个确认,就以逐个确认为准。 :: ## 用之前想清楚 - 目标要**可校验**。「把代码写好看点」没法判定,「`pnpm lint` 无报错」可以。 - 权限档决定了它能自己走多远。跑长任务前先想清楚你愿意放到哪一档。 - 切走去干别的不会中断它,回来时进度还在。 # 工作树与环境 > 本文来源(引用请用此链接): 同时跑几个任务时,它们都在同一份代码上改,很容易互相踩脚。**Git 工作树**解决的就是这个问题:给任务一份**物理隔离**的检出目录,几套方案并行试而互不干扰。 ::note 工作树是 Git 的能力,因此这些入口只对 **Git 项目**出现。非 Git 项目不会显示「在本地处理 / 新工作树」的选择。 :: ## 两种启动方式 新建任务时选: | 启动方式 | 含义 | | --------- | ------------------------------------------ | | **在本地处理** | 直接在项目当前检出上干。底栏可以选在哪个分支上工作 | | **新工作树** | 为这个任务创建独立工作树。底栏选的分支用于**指定创建基线**,不会切换你当前的检出 | 侧栏的任务和项目上会显示**工作树标记**,一眼分得清哪个是隔离环境。 ::warning 有未提交改动时切换分支,会提示你先提交更改,不会直接覆盖。 :: ## 永久工作树 一次性的任务工作树跟着任务走。如果你想长期维护一条并行线(比如常驻的 `release` 分支),可以在侧栏的 Git 项目上**创建永久工作树** —— 命名确认后,它会作为**独立项目**加入侧栏列表,跟别的项目一样用。 ## 设置 → 工作树 | 设置 | 说明 | | -------------- | ------------------------------------------ | | **工作树根目录** | 新建的独立工作树创建在这个目录下,默认 `~/.inscode/worktrees` | | **删除任务时移除工作树** | 打开后,删任务会连带清掉磁盘上的工作树目录 | 这一页也可以查看和删除已有的工作树。在这里删除时会连带清理磁盘上的目录,不会留下空壳。 ## 设置 → 环境 新建工作树意味着一个全新的目录 —— 依赖没装、容器没起。**环境**就是把这套准备工作固定下来,创建工作树时自动跑。 环境按**项目**配置,创建时会自动用项目名预填名称。每个环境三部分: ### 设置脚本 **创建工作树时**在项目根目录下运行。比如: ```bash cd "$CODEX_WORKTREE_PATH" pip install -r requirements.txt npm install ./run/setup.sh ``` 可以按 **默认 / macOS / Linux / Windows** 分别写,跨平台协作时各用各的。 ### 环境变量 注入给设置脚本与清理脚本。内置两个: | 变量 | 指向 | | ---------------------- | ---------- | | `$CODEX_WORKTREE_PATH` | 本次创建的工作树目录 | | `$CODEX_PROJECT_PATH` | 原项目目录 | 也可以自己加变量。 ### 清理脚本 **清理工作树之前**在项目根目录下运行,用来收尾。比如: ```bash docker compose down --remove-orphans rm -rf .cache/tmp ``` ::warning 设置脚本与清理脚本可以运行**任意命令**,且会在顶部栏中显示执行状态。只放你自己写的、看得懂的命令。 :: ## 什么时候用工作树 - **并行试几套方案** —— 同一个需求让两个任务用不同思路做,最后挑一个。 - **不想污染当前检出** —— 你手头还有没提交的活儿,又想让助手去干别的。 - **跑破坏性的改动** —— 大规模重构、依赖升级,出问题直接扔掉整个工作树。 反过来,改一两个文件的小活儿直接「在本地处理」就行,没必要为它开一份检出。 # 会话接力 > 本文来源(引用请用此链接): 换工具最烦的是**上下文断了** —— 之前那一大段来龙去脉,要么重讲一遍,要么从头再来。 **会话接力**把你在别的 AI 编程工具里的历史会话读进来,生成一份「接手状态」摘要,然后开一个新任务接着往下做。 ## 支持的来源 - **Kimi Code** - **AtomCode** - **Codex** - **Claude Code** - **InsCode**(自己的历史任务同样可以接力) ## 怎么用 入口在 **设置 → 智能体分析 → 会话接力**。 ::steps ### 挑一个会话 列表按来源工具分组,可以按工具(多选)、时间与关键词筛选。每条显示来源、项目、最近更新,有风险的会标出**风险提示**。 列表带缓存,重复打开不用等;拿不到最新状态时会明确引导你刷新。 ### 看尾段预览 选中后先给**内容预览** —— 会话末尾那段的原文。这一步是**本地解析、零 token**,不花钱,用来确认「是不是这一段、要不要接」。 ### 生成接手状态 确认要接,再点生成。摘要包含四块: | 板块 | 内容 | | -------- | ------------ | | **摘要** | 之前干到哪了 | | **下一步** | 接下来该做什么 | | **未确认项** | 悬而未决、需要你拍板的事 | | **风险提示** | 接手时要当心的地方 | 生成摘要时可以选用**当前所选的模型**,不锁死某一个。 ### 开新任务继续 确认后一键开启新任务,顶部会显示这份接手摘要,助手带着上下文直接往下干。 :: ## 上下文快满时 如果对话很长、上下文吃紧,生成接手状态时会**自动降级到更轻量的模型**,保证摘要能出得来。 ## 相关 - 想在同一个工具里从某轮继续,用[任务与并行](https://agent.inscode.net/docs/guide/tasks)里的「从某条消息继续到新任务」,不用走接力。 - 设置里同一页还有**本地扫描**,可以盘点本机的开发环境与软件资产,反馈问题时附带很方便。打开即显示上次结果,扫描在后台进行,不卡界面。 # 技能 Skills > 本文来源(引用请用此链接): **技能(Skills)** 是可复用的指令模板。把「这类活儿该怎么干」写一次存下来,以后一句话调起,不必每次重新描述。 ## 技能是什么 一个技能就是一份 **`SKILL.md`** —— 带 frontmatter 的 Markdown 文件。frontmatter 写清名称和用途(助手据此判断什么时候该用它),正文是具体指令。 比如「发版前检查清单」「按我们团队的规范写 commit message」「新建组件时的目录约定」,都适合做成技能。 ## 在对话中调用 点输入框的 **+** → 已启用的技能会直接列出,选中即用;也可以敲 `/` 从命令列表里选。详见[斜杠命令与提及](https://agent.inscode.net/docs/guide/commands)。 ## 管理技能 **设置 → 技能** 里可以新增、编辑、删除、启用 / 停用,以及**导入**已有的技能(填文件路径快速导入)。 技能分两级: | 级别 | 存放位置 | 适用范围 | | ------- | --------------------------- | ---------------- | | **用户级** | `~/.config/inscode/skills/` | 所有项目 | | **项目级** | `<项目>/.inscode/skills/` | 随项目提供,可以跟着仓库一起提交 | 除了在设置页新建,直接往这两个目录里放 `SKILL.md` 也可以。同名时**用户级覆盖项目级与插件提供的技能**。 ::note 技能的改动在**下一个新任务**里才生效 —— 改完请开一个新任务再用。 :: ## 技能和插件的关系 [插件](https://agent.inscode.net/docs/advanced/plugins)可以打包携带技能,装上插件就自动获得它带的技能,不用手工放文件。想按自己的习惯覆盖某个插件技能,在用户级建一个同名的即可。 ## 和本站文档的关系 InsCode 的技能机制,正是这个站点对接 AI 的方式:本站把帮助文档发布成机器可读的内容,一个很薄的技能就能让助手在运行时拉取、据此回答关于 InsCode 的问题 —— 文档更新了不用发新版应用。 # MCP 工具 > 本文来源(引用请用此链接): **MCP(Model Context Protocol)** 是一套开放协议,让助手接上外部的工具和资源。InsCode 作为 MCP 客户端,可以接入你配置的 MCP server,把它们的工具交给助手使用。 ## 添加 MCP server 在 **设置 → MCP** 里管理,支持两种连接方式: - **STDIO** —— 本地命令启动的 server:填启动命令(如 `npx`)、参数(一行一个,如 `-y` / `@upstash/context7-mcp`)。 - **HTTP** —— 远程 server:填 URL。 两种方式都可以补充**环境变量**,给本地命令或远程连接传必要的配置(如 API Key)。 列表里每个 server 都能查看名称与连接方式,单独开关、编辑或删除。 ## 调用审批 每个 server 可以单独配一份**免确认的工具**清单(一行一个工具名)。清单之外的工具调用会照常弹审批。 ::warning MCP 工具**不受**「完全访问」档下那道灾难性删除断路器的保护 —— 那道断路器只认 shell 命令的字面形态。一个文件系统 MCP server 的「删除目录」工具指向你的主目录,没有任何东西会拦。 详见[权限模式 · 已知边界](https://agent.inscode.net/docs/guide/permission-modes#%E5%B7%B2%E7%9F%A5%E8%BE%B9%E7%95%8C)。 :: 所以:**默认不要给 server 免确认权限**,按需逐个工具放行,且只放你自己看得懂的只读类工具。 ## 直接编辑配置文件 MCP 配置都在一个全局配置文件里,可以在设置里直接打开编辑,改完**重新加载**。 ::note 启用一个 server 后,它的工具会**热加载**到所有活动工作区,不需要重启应用。 :: ::warning MCP 配置目前是**全局**的,还不能按项目分开配置。 :: # 插件市场 > 本文来源(引用请用此链接): [技能](https://agent.inscode.net/docs/advanced/skills)是一份份 Markdown,一个个装比较零碎。**插件**把成套的能力打包在一起 —— 装一个插件,它带的**技能**和**命令**就都可用了。 ## 打开插件市场 从侧栏进入插件页,两个 Tab:**插件**(浏览市场、装卸)和**技能**(管理本地技能)。 ## 找插件 - **按来源筛选**:目前有 **InsCode** 和 **AtomCode** 两个官方市场。 - **按分类浏览**:开发工具与环境、生产力、测试与质量保障、AI/ML 工程、创意与媒体、行业垂直、安全与合规、自动化、DevOps 与部署、数据分析、其他。 - **搜索**:直接输关键词。 点卡片进详情页看完整说明和最新版本。 ## 安装与管理 - **安装 / 卸载** —— 卡片上直接操作。 - **启用 / 禁用** —— 装了但暂时不想用,禁用即可,不必卸载。禁用的插件卡片会标「已禁用」。 - **更新** —— 有新版本时卡片标「可更新」,可以逐个更新,也可以**一键全部更新**。 ## 插件带来的东西去哪了 装好的插件,它携带的技能会自动并入技能列表,命令会出现在输入框的 `/` 列表里 —— 跟你自己写的技能混在一起用,不用管来源。 同名时的优先级是:**你自己的用户级技能 > 插件带的技能**。想改插件某个技能的行为,在用户级建一个同名的覆盖掉即可,不用去动插件本身。 ::note 插件是**用户级**资产,装一次所有项目都能用,不依赖当前打开的是哪个工程。 :: ## 安全提醒 ::warning 插件里的技能和命令,本质是给助手的指令。装之前看一眼它是干什么的、来自哪个市场,不要装来源不明的插件 —— 尤其是当你常用**完全访问**权限档时。 :: # 记忆与项目指令 > 本文来源(引用请用此链接): 每开一个新任务都要重复交代「我们用 pnpm 不用 npm」「回答请用中文」,很累。InsCode 提供两层持久上下文:**跟着你走的**(个人记忆、全局指令)和**跟着项目走的**(项目说明文件)。 ## 个人记忆 **设置 → 记忆 → 个人记忆**。按**分组 + 一张张记忆卡**组织,卡片就地编辑,随时增删。 内置三个预设分组,点「添加预设分组」直接用: | 分组 | 例子 | | ---------- | ----------------------------- | | **技术栈偏好** | 前端用 React + Next.js,包管理用 pnpm | | **我的角色** | 我是项目管理者,回答请侧重进度与风险而非实现细节 | | **输出格式偏好** | 输出 Markdown 博文格式,带小标题与代码块 | 也可以自建分组。这些内容**新建任务时自动带入**。 ## 全局指令 同一页下方是**全局指令** —— 一段自由书写的话,不分组。适合放硬性要求,比如: ```text 回答一律使用中文;不确定的需求先反问再动手。 ``` ::note 个人记忆与全局指令分别存成本机的 `memory.md` 与 `ATOMCODE.md`,就在应用数据目录下,路径显示在设置页里。想直接用编辑器改、或者备份,照着这个路径去找就行。 :: ## 项目说明(AGENTS.md) 前两者跟着**你**走,项目说明跟着**项目**走 —— 它写的是这个工程的规矩:目录结构、构建命令、代码约定、哪些坑不要踩。团队成员共用一份,跟着仓库一起提交。 在项目任务里敲: ```text /init ``` 助手会扫描当前工作区,**生成或改进** `AGENTS.md`。已经有了就在原基础上补,不会覆盖掉你写的。 ::note `/init` 需要一个可扫描的工作区,普通对话里不可用。 :: ## 三者怎么配合 | 层级 | 存放 | 管什么 | 谁受影响 | | -------- | ---------------- | --------- | --------- | | **个人记忆** | 应用数据目录 | 你的偏好、你的角色 | 只有你,所有项目 | | **全局指令** | 应用数据目录 | 你的硬性要求 | 只有你,所有项目 | | **项目说明** | `<项目>/AGENTS.md` | 这个工程的规矩 | 所有人,只这个项目 | 项目里的 `.inscode/` 目录还可以放[项目级技能](https://agent.inscode.net/docs/advanced/skills),同样跟着仓库走。 ## 写好一点的建议 - **写约束,别写介绍。** 「用 pnpm」有用,「这是一个 Vue 项目」它自己能看出来。 - **写踩过的坑。** 「改完 X 必须同步 Y,否则构建过但运行挂」这类信息,是它自己读代码读不出来的。 - **别堆太多。** 每一条都会占上下文。写成一句能执行的规则,比一段解释更管用。 # 联网搜索 > 本文来源(引用请用此链接): 开启后,助手遇到需要查资料的问题(新版本的 API 怎么用、某个报错是什么原因)可以**直接上网搜**,而不是凭训练数据猜。 ## 配置 **设置 → 搜索**。搜索能力由 **Exa** 提供,两种用法: | 用法 | 说明 | | ------------ | ---------------------------------- | | **不填 Key** | 走 Exa 的**免费共享额度** —— 全体用户共用,容易触发限流 | | **填自己的 Key** | 走你自己的配额,稳定得多 | 设置页有「去 Exa 申请 Key」的直达链接,申请后粘进来即可。 ::note 改动在**下一个新任务**生效,已在进行的任务不受影响。 :: ## 触发限流会怎样 共享额度被打满时会明确提示你,并引导到设置页填自己的 Key。触发限流后会**熔断 60 秒**再重试,不会让助手空转刷屏。 ## 权限 联网请求在 **[变更前确认](https://agent.inscode.net/docs/guide/permission-modes#%E5%8F%98%E6%9B%B4%E5%89%8D%E7%A1%AE%E8%AE%A4)** 档下会逐次询问;**自动编辑**及更宽松的档位下直接放行。 ::warning 搜索回来的网页内容是**外部内容**。在「完全访问」档下,助手会自动应答一切审批请求 —— 包括被网页内容诱导而发起的操作。要跑联网搜索时,别用「完全访问」。 详见[权限模式 · 已知边界](https://agent.inscode.net/docs/guide/permission-modes#%E5%AE%8C%E5%85%A8%E8%AE%BF%E9%97%AE%E4%B8%8D%E6%8F%90%E4%BE%9B%E9%92%88%E5%AF%B9%E6%8F%90%E7%A4%BA%E6%B3%A8%E5%85%A5%E7%9A%84%E4%BF%9D%E6%8A%A4)。 :: # 快捷键速查 > 本文来源(引用请用此链接): 按 `⌘ + /`(Windows / Linux 为 `Ctrl + /`)随时在应用内打开这份列表。 下表用 macOS 键位书写,**`⌘` 在 Windows 与 Linux 上是 `Ctrl`**。 ## 通用 | 快捷键 | 动作 | | --------------- | ---------- | | `⌘ + K` | 命令面板 | | `⌘ + N` | 新建任务 | | `⌘ + O` | 打开项目 / 文件夹 | | `⌘ + W` | 关闭当前标签 | | `⌘ + ,` | 打开设置 | | `⌘ + /` | 打开快捷键列表 | | `⌘ + Shift + B` | 打开浏览器标签页 | ## 任务 | 快捷键 | 动作 | | --------------- | ---------------------------------------------------------- | | `⌘ + Enter` | 发送消息 | | `Ctrl + L` | 聚焦输入框 | | `⌘ + Shift + X` | 停止当前任务 | | `Esc` | 停止当前任务 | | `⌘ + F` | 在当前任务内搜索 | | `⌘ + B` | 折叠 / 展开侧栏 | | `⌘ + Shift + L` | 将所选内容加入上下文 | | `⌘ + G` | 进入[长任务 Goal 模式](https://agent.inscode.net/docs/guide/goal) | ::note 运行中按 `Esc` 会**优先关闭浮层或弹窗**,没有浮层时才停止任务。 :: ## 审查与预览 | 快捷键 | 动作 | | --------------- | --------------- | | `⌘ + .` | 切换右栏显隐 | | `⌘ + 1` | 启动预览并切到「浏览器」Tab | | `⌘ + 2` | 切到「审查」Tab | | `⌘ + 3` | 切到「终端」Tab | | `⌘ + Shift + G` | 打开审查面板 | | `⌘ + Shift + R` | 刷新审查面板 | | `⌘ + Shift + E` | 展开 / 收起全部文件 | | `⌘ + Shift + S` | 显示 / 隐藏文件列表 | | `⌘ + \` | 切换统一 / 拆分 diff | | `J` | 下一处改动块 | | `K` | 上一处改动块 | | `⌘ + E` | 用外部编辑器打开当前文件 | ## 模型与审批 | 快捷键 | 动作 | | --------------- | ----------------------------------------------------------------- | | `⌘ + M` | 切换模型 | | `⌘ + Shift + M` | 循环切换[权限模式](https://agent.inscode.net/docs/guide/permission-modes) | | `Y` / `Enter` | 审批 · 允许一次 | | `A` | 审批 · 本任务始终允许 | | `N` / `Esc` | 审批 · 拒绝 | ::note 「本任务始终允许」在**变更前确认**档下不提供 —— 那一档就是要你逐次确认。 :: ## 界面缩放 | 平台 | 快捷键 | | --------------- | --------------------------------------- | | macOS | `⌘ + =` / `⌘ + -` | | Windows / Linux | `Ctrl + Shift + =` / `Ctrl + Shift + -` | ## 改键 **设置 → 快捷键** 里可以搜索、逐条改键,也可以单条重置或「重置为默认值」全部恢复。改完的键位会同步显示在界面各处的提示上。 # 数据与隐私 > 本文来源(引用请用此链接): InsCode 本地优先、由你掌控:助手的权限你能细调,数据默认也留在本机。 ## 文件访问范围 默认情况下,助手只能在**当前项目根目录**内读写。访问项目外的文件需要你显式授权。 具体到每一类操作要不要先问你,由**权限模式**决定 —— 四档:计划模式、变更前确认、自动编辑(默认)、完全访问。逐档的放行范围、切换时机与**已知边界**,见[权限模式](https://agent.inscode.net/docs/guide/permission-modes)。 ::tip 拿不准就从**变更前确认**起步最稳;熟悉它的行为后,再按信任程度放宽。 :: ## 数据存在哪 数据默认保存在你自己的机器上: | 位置 | 内容 | | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `~/.config/inscode/` | 登录态、模型与 Provider 配置、工作区列表、MCP 配置、[个人记忆与全局指令](https://agent.inscode.net/docs/advanced/memory)、[用户级技能](https://agent.inscode.net/docs/advanced/skills)、插件,以及全部任务与消息、日志 | | `<项目>/.inscode/` | 项目级技能等跟这个项目相关的数据 | | `<项目>/AGENTS.md` | [项目说明](https://agent.inscode.net/docs/advanced/memory#%E9%A1%B9%E7%9B%AE%E8%AF%B4%E6%98%8Eagentsmd),跟着仓库走 | | `~/.inscode/worktrees/` | [独立工作树](https://agent.inscode.net/docs/guide/worktrees)的默认根目录(可改) | | `~/Documents/inscode-desktop/` | 普通对话生成的文件等产出物 | 三个平台(macOS / Windows / Linux)用的是同一套路径规则。 ::tip 想备份或迁移到新机器,整份拷走 `~/.config/inscode/` 即可 —— 任务记录、配置、技能都在里面。 :: 任务与消息保存在本机,支持全文搜索。 ## 什么时候要联网 | 环节 | 说明 | | ---------------------------------------------------------- | -------------- | | 登录授权 | 必须联网 | | 调用云端模型 | 用云端模型时 | | 连通性测试 | 你主动点的时候 | | 检查更新 | 启动时一次,之后每 6 小时 | | [联网搜索](https://agent.inscode.net/docs/advanced/web-search) | 开启后助手需要查资料时 | | 遥测上报 | 匿名的使用情况统计 | 用本机已装的命令行 AI 工具或本地模型(如 Ollama)时,**推理本身可以离线**,但登录这一步仍然要联网。 ## API Key 存在哪 ::warning 界面上只显示**打码后的 Key**,真实值保存在本机的应用数据目录中(文件权限已收紧),但**还没有迁移到系统钥匙串 / 凭据管理器**。请在自己信任的设备上使用。 :: ## 几条实际建议 - **来源不明的工作区别用「完全访问」。** 仓库里的文件、网页内容、第三方工具的返回值都可能诱导助手做你没想让它做的事,而这一档会自动应答一切审批。 - **MCP server 默认不给免确认权限。** 逐个工具放行,且只放你看得懂的只读工具。见 [MCP 工具](https://agent.inscode.net/docs/advanced/mcp#%E8%B0%83%E7%94%A8%E5%AE%A1%E6%89%B9)。 - **大动作先开工作树。** 大规模重构、依赖升级放进[独立工作树](https://agent.inscode.net/docs/guide/worktrees),出问题整个扔掉就行,主线不受影响。 # 常见问题 > 本文来源(引用请用此链接): ## 安装与更新 ::accordion :::accordion-item{label="支持鸿蒙或 Linux 吗?"} 两个都还没有安装包:鸿蒙(HarmonyOS)**即将支持**,Linux 仍在规划中。目前提供 macOS(Apple Silicon / Intel)与 Windows x64。见[安装与更新](https://agent.inscode.net/docs/getting-started/installation)。 ::: :::accordion-item{label="怎么切到预览版?又怎么切回来?"} **设置 → 关于** 里有**预览版**开关。打开后会收到正式版发布前的版本;关掉就回到最新正式版(按钮显示为「回到正式版」)。预览版的版本号旁会标注「预览版」。 ::: :::accordion-item{label="有任务在跑的时候会被更新打断吗?"} 不会。触发更新时应用会先提示你,不会打断进行中的对话。 ::: :: ## 登录与账号 ::accordion :::accordion-item{label="必须登录才能用吗?"} 是的,登录是启动闸门。登录后不必马上绑模型也能浏览界面,**第一次发送消息或创建项目**时才会引导你绑定。 ::: :::accordion-item{label="在浏览器里授权完了,应用没反应?"} 应用会轮询授权结果,正常情况下几秒内自动跳转。超时会提示重试 —— 回到登录页重新点一次即可。确认这台机器能正常联网。 ::: :: ## 模型 ::accordion :::accordion-item{label="免费模型和订阅有什么区别?"} 免费模型登录即用、不需要 API Key,适合起步。TaoToken 订阅需要先买套餐、生成 Key 并绑定,能解锁全部订阅模型。此外还可以复用**本机已装的命令行 AI 工具**,或用自己的 API Key(BYOK)。四种方式见[模型与用量](https://agent.inscode.net/docs/guide/models)。 ::: :::accordion-item{label="能完全离线用吗?"} 推理可以,登录不行。用本地模型(如 Ollama)或本机命令行工具时,推理本身不需要联网,但**登录这一步仍然要联网**。哪些环节需要联网见[数据与隐私](https://agent.inscode.net/docs/reference/privacy#%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E8%A6%81%E8%81%94%E7%BD%91)。 ::: :::accordion-item{label="自建网关的模型,图片发不过去 / 上下文判断不对?"} 自建网关和 Ollama 本地模型往往拿不到服务端的模态信息。在 BYOK 配置里手动指定 **图片支持**(支持 / 不支持)与**上下文窗口**即可,不要留在「自动判断」。 ::: :::accordion-item{label="回答到一半断了 / 一直在重试?"} 网络瞬时故障会自动重试并重建连接,断流会自动重连并重发该轮,过程在对话里按「第 N 次尝试」显示。重试有整体时间上限,不会无限空等。报错时结论一行说清,完整原文在「查看详情」里。 ::: :: ## 权限与安全 ::accordion :::accordion-item{label="它怎么没问我就改了文件?"} 默认档是**自动编辑** —— 工作区内的文件编辑不再逐个打断你。想每一步都确认,切到**变更前确认**;想让它只看不动,切到**计划模式**。见[权限模式](https://agent.inscode.net/docs/guide/permission-modes)。 ::: :::accordion-item{label="计划模式下它说改不了文件,是坏了吗?"} 不是。计划模式**硬拦**一切写操作,不会弹审批让你放行。看完方案点**开始执行**回到原来的档位,或者手动切档。 ::: :::accordion-item{label="切到更严的档位,能让正在跑的操作停下来吗?"} 不能。切档**从下一次工具调用开始生效**。要立刻停下来请用**停止**(`⌘ + Shift + X` 或 `Esc`)。 ::: :::accordion-item{label="「完全访问」是不是只有删主目录才会问我?"} **不是。** 那道断路器只认 shell 删除命令的字面形态,覆盖不到 MCP 工具和任意代码执行(`python -c ...` 之类)。它是防模型参数幻觉的保险,不是一道完整的安全边界。完整说明见[权限模式 · 已知边界](https://agent.inscode.net/docs/guide/permission-modes#%E5%B7%B2%E7%9F%A5%E8%BE%B9%E7%95%8C)。 ::: :: ## 使用 ::accordion :::accordion-item{label="它改错了,怎么退回去?"} 每轮回答末尾的「已编辑 N 个文件」卡片上有**撤销**,一键还原本轮改动。也可以在[审查](https://agent.inscode.net/docs/guide/review-preview)面板按文件还原。非 Git 项目没有版本历史可回退,会明确提示无法撤销。 ::: :::accordion-item{label="改了技能 / 搜索配置,怎么没生效?"} 技能与搜索设置的改动都在**下一个新任务**里才生效,已在进行的任务不受影响。开个新任务再用。 ::: :::accordion-item{label="提示上下文快满了怎么办?"} 两条路:用「从某条消息继续到新任务」把关键结论带进一个新任务;或者换一个上下文窗口更大的模型。见[任务与并行](https://agent.inscode.net/docs/guide/tasks#%E4%B8%8A%E4%B8%8B%E6%96%87%E5%BF%AB%E6%BB%A1%E4%BA%86%E6%80%8E%E4%B9%88%E5%8A%9E)。 ::: :::accordion-item{label="联网搜索一直提示限流?"} 不填 Key 时走的是全体用户共用的免费共享额度,容易打满。在 **设置 → 搜索** 填自己的 Exa Key 即可走独立配额。见[联网搜索](https://agent.inscode.net/docs/advanced/web-search)。 ::: :::accordion-item{label="`/init`、`/review` 在列表里找不到?"} 这两个命令需要一个可扫描的工作区。**普通对话**(新建任务时没绑项目)里不会出现。新建一个绑定了项目目录的任务即可。 ::: :::accordion-item{label="想同时试两套方案,又怕互相打架?"} 新建任务时选**新工作树** —— 给任务一份物理隔离的检出目录,几套方案并行试而互不干扰。见[工作树与环境](https://agent.inscode.net/docs/guide/worktrees)。 ::: :: ## 数据 ::accordion :::accordion-item{label="我的代码和对话会被上传吗?"} 代码和任务记录默认留在本机。发给模型的内容会走模型服务商,此外还有匿名的使用情况统计。完整清单见[数据与隐私](https://agent.inscode.net/docs/reference/privacy)。 ::: :::accordion-item{label="怎么备份 / 迁到新电脑?"} 整份拷走 `~/.config/inscode/` 即可 —— 任务记录、模型配置、技能、插件都在里面。项目级的技能和 `AGENTS.md` 跟着仓库走,不用单独处理。 ::: :::accordion-item{label="API Key 安全吗?"} 界面上只显示打码后的值,真实 Key 存在本机应用数据目录里、文件权限已收紧,但**还没有迁移到系统钥匙串 / 凭据管理器**。请在自己信任的设备上使用。 ::: :: --- 没找到答案?侧栏帮助菜单里有**问题上报**和**用户社群**入口。