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

6.3 KiB
Raw Permalink Blame History

Coding 模式(Beta)

Beta 功能Coding 模式是 QwenPaw 为编码场景打造的 IDE 化工作台,把 Agent 从「聊天助手」升级为「能直接读你代码、改你代码的协作者」。目前仍在持续迭代,欢迎在 GitHub 反馈。

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 接下来读写的都是所选目录,它就是后文说的「项目目录」。

项目选择弹窗

直接打开 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 主界面


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 同一时间只绑定一个项目目录。需要切换项目时,重新打开项目选择窗口选另一个即可。

Qlsp / ast_search 没出现在工具列表里?

打开新对话再试。这两个工具是按项目和环境动态注册的,旧会话需要重启。如果项目里没装对应语言的 LSP 服务器(如纯 Go 项目但只装了 pylsp),lsp 会自动跳过对应语言。

QCoding 模式和 Skills / Plan / Cron 这些可以一起用吗?

可以。Coding 模式只是一个 UI 布局 + 工具增强层,和其他功能正交。