Files
Pine e2244a3cae feat: PineAgentsWeb 官网前端应用(Vite+React SPA)
- src/ 页面与组件、public/ 静态资源
- 工程配置:vite/tsconfig/package 依赖
2026-08-23 22:31:31 +08:00

110 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Coding 模式(Beta)
> **Beta 功能**Coding 模式是 QwenPaw 为编码场景打造的 IDE 化工作台,把 Agent 从「聊天助手」升级为「能直接读你代码、改你代码的协作者」。目前仍在持续迭代,欢迎在 [GitHub](https://github.com/agentscope-ai/QwenPaw/issues) 反馈。
QwenPaw 的普通聊天模式适合「问答 + 临时任务」,但当你想让 Agent **持续在某个项目里干活**——读源码、改文件、跑测试、查 git——聊天界面就不够用了。Coding 模式提供了一个轻量 IDE 视图,把项目文件、编辑器、Diff 预览和聊天放在一个布局里,同时给 Agent 装上两个专为代码理解优化的工具:`lsp`(精确定位定义/引用)和 `ast_search`(结构化语法查找)。
---
## 何时用 Coding 模式
| 场景 | 建议模式 |
| ---------------------------------------- | --------------- |
| 一次性问答 / 临时脚本 / 闲聊 | 普通 Chat 模式 |
| 在指定项目里读代码、改文件、修 bug、重构 | **Coding 模式** |
| 跨项目的探索 / 不绑定单一仓库的任务 | 普通 Chat 模式 |
> **一句话区分**:要让 Agent 把某个目录当「工作车间」连续干活,就开 Coding 模式;只是临时问一句,就用普通模式。
---
## 快速上手
### 1. 切换到 Coding 模式
在聊天界面顶部找到 `Code` / `Chat` 切换按钮,点击 `Code` 即可进入。
### 2. 选择项目
首次进入会弹出项目选择窗口,有两类方式:
- **直接打开已有目录** — 通过文件浏览器选择本机上已有的项目目录,Agent 直接在该目录下工作,不会复制任何文件。适合想让 Agent 直接操作现有项目的场景。
- **导入为副本** — **克隆远程仓库**、**复制本地文件夹**、**上传 zip** 或**新建空项目**,都会在 QwenPaw 工作区的 `coding_projects/<项目名>/` 下生成一份**副本**,你的原始目录不会被改动。
无论哪种方式,Agent 接下来读写的都是所选目录,它就是后文说的「项目目录」。
![项目选择弹窗](https://img.alicdn.com/imgextra/i3/O1CN01ofmycu235UOvIHxKZ_!!6000000007204-2-tps-3346-1670.png)
> **直接打开 vs 导入副本?** 如果你的项目 IDE 已打开、有未提交改动或跑着 CI,建议使用副本模式以避免 Agent 误操作影响工作树。副本仍保留 `.git`,可以正常 commit / push。如果你希望 Agent 直接在原目录工作(例如快速修改或审查代码),选择「打开目录」即可。
**终端 TUI 快捷方式:** 在项目目录下运行 `qwenpaw .`,或用
`qwenpaw tui /path/to/repo` 显式指定目录。这样只会为本次 TUI 会话启用
Coding 模式的提示和工具行为;不会修改 `agent.json`,也不会改变控制台里保存的项目。
### 3. 开始干活
进入 IDE 视图后,左侧是文件树,中间是带 Tab 的编辑器和 Diff 预览,右侧是聊天面板。直接像平时一样和 Agent 对话即可,例如:
- 「读一下 `src/auth/login.py`,告诉我 `verify_password` 是怎么实现的」
- 「在 `tests/` 下加一个 `test_login_rate_limit.py`,覆盖 5 次失败后锁定 10 分钟的场景」
- 「这个分支相比 main 改了哪些文件?帮我写个 PR description」
![Coding 模式 IDE 主界面](https://img.alicdn.com/imgextra/i4/O1CN014tF5921HlXCevvsBH_!!6000000000798-2-tps-3340-1678.png)
---
## Coding 模式做了什么
普通模式下 Agent 看到的是「一个工作空间」,没有特别的项目概念。打开 Coding 模式后,QwenPaw 会自动做这些事:
### 1. 注入编码专属的系统提示
告诉 Agent
- **当前项目目录是 XXX,所有文件操作要用项目根目录下的绝对路径**
- 跑 shell 命令要显式指定 `cwd=` 到项目目录,否则会落在 Agent 工作区
- 引用代码时用 `path/to/file.py:42` 这种格式(IDE 可点击跳转)
- 非琐碎任务先创建 `{TASK}_TODO.md` 维护清单,做一步勾一步
### 2. 自动注册两个代码理解工具
| 工具 | 用途 | 何时自动启用 |
| ------------ | ------------------------------------------------------------------------- | --------------------------------------------------------- |
| `lsp` | 精准查询符号定义、引用、跳转——回答「X 在哪定义?谁调用了 Y?」 | 项目里至少检测到一种 LSP 服务器(Python/TS 默认随包安装) |
| `ast_search` | 基于语法树的结构化查询——回答「所有接收 `Request` 返回 `Response` 的函数」 | 系统装了 `ast-grep` CLI(默认随包安装) |
两个工具都是**只读**的,不会修改任何文件。Agent 优先用它们而不是 `grep`,能避免误判和漏判。
### 3. 区分「项目目录」和「工作区目录」
- **项目目录**:你选的那个仓库,Agent 干活的主战场
- **工作区目录**:QwenPaw 内部存配置、会话历史、记忆等的隐藏目录,**Agent 默认不该碰**
Coding 模式的系统提示会反复强调这个区分,避免 Agent 在不该出现的地方 `ls` 或写文件。
---
## 退出 Coding 模式
点击同一个切换按钮,从 `Chat` 切回普通模式。Agent 的项目目录绑定和系统提示注入会立即解除,但你的项目文件、Git 状态等都保持不变。
---
## 常见问题
**Q:切换 Coding 模式会影响我已经存在的记忆 / Skills 吗?**
不会。Coding 模式只改 Agent 的系统提示和工具集,不动记忆、Skills、Persona 这些独立功能。
**Q:可以同时绑定多个项目吗?**
每个 Agent 同一时间只绑定一个项目目录。需要切换项目时,重新打开项目选择窗口选另一个即可。
**Q`lsp` / `ast_search` 没出现在工具列表里?**
打开新对话再试。这两个工具是按项目和环境动态注册的,旧会话需要重启。如果项目里没装对应语言的 LSP 服务器(如纯 Go 项目但只装了 pylsp),`lsp` 会自动跳过对应语言。
**QCoding 模式和 Skills / Plan / Cron 这些可以一起用吗?**
可以。Coding 模式只是一个 UI 布局 + 工具增强层,和其他功能正交。