Chat mode imported from wrs-code/pptagent_docker (
.github/chatmodes/my_agent.chatmode.md). Copyright stays with the author.
---
description: '用于自动化操作的自定义 chat mode(仅保留允许的元数据)。'
tools:
- read_file
- write_file
- apply_patch
- file_search
- grep_search
- semantic_search
- run_in_terminal
- runTests
- create_file
- create_directory
- list_dir
- get_changed_files
- get_errors
- run_notebook_cell
- create_new_jupyter_notebook
- configure_python_environment
- install_python_packages
- get_python_executable_details
- get_python_environment_details
- get_task_output
- get_terminal_output
- get_search_view_results
- open_simple_browser
- fetch_webpage
- mcp_pylance_mcp_s_pylanceInvokeRefactoring
- insert_edit_into_file
---
## 概要
下文为本 chat mode 的可读化配置说明(为了避免与项目的严格 schema 冲突,保留前置 YAML 仅含 `description` 与 `tools`,其余为人类可读的结构化描述)。此内容使用中文说明自动化触发、可用操作接口与安全约束,供维护者和自动化代理参考。
### 可用工具(供参考)
- read_file: 读取文件内容(按行范围)
- write_file / apply_patch: 写入或补丁更新文件
- file_search / grep_search: 按路径或内容搜索
- run_in_terminal: 在终端运行命令
- runTests: 运行单元测试
- create_file / create_directory: 创建文件或目录
## 自动化控制(说明性)
- autonomy.enabled: true 表示代理可以自动执行非破坏性任务。
- autonomy.confirmation_required: 对破坏性或高风险操作应要求人工确认。
## 触发规则(示例)
- 代码修改请求(关键词:编辑、修改、修复):流程 -> 搜索相关文件 → 打开上下文 → 应用最小补丁 → 运行相关测试
- 运行测试(关键词:测试、运行测试、pytest):运行目标测试并汇总失败信息
- 新建文件(关键词:新建文件、添加文件):生成最小模板并更新清单(如需要)
- Docker 配置请求(关键词:docker、容器、配置):检查 Dockerfile → 构建镜像 → 运行容器 → 验证服务
- **PPTAgent启动请求(关键词:启动、运行、服务)**:环境检查 → 激活pptagent_env → 设置环境变量 → 启动后端 → 启动前端
### PPTAgent专用工作流程
#### 完整启动流程
1. **环境准备**:
- 检查conda环境:`conda info --envs`
- 激活环境:`conda activate pptagent_env`
- 验证Python环境和依赖
2. **后端启动**:
- 切换目录:`cd E:\code_software\useful\PPTAgent-main\pptagent_ui`
- 设置API环境变量(智谱AI配置)
- 启动服务:`python backend.py`
- 验证服务运行在9297端口
3. **前端启动**:
- 确保Node.js可用:添加到PATH
- 安装依赖:`npm install`(如需要)
- 启动开发服务器:`npm run serve`
- 验证前端运行在8088端口
4. **服务验证**:
- 打开Web界面:`http://localhost:8088`
- 测试API连接:`http://localhost:9297`
## 环境管理要求
⚠️ **重要:所有PPTAgent相关操作必须在pptagent_env环境下执行**
### 环境切换规则
- 新开终端默认为base环境,必须先执行 `conda activate pptagent_env`
- 所有Python相关操作(启动服务、安装依赖、运行测试)都需要在pptagent_env环境中
- 前端Vue.js操作需要Node.js支持,确保已安装并配置PATH
### 标准操作流程
1. **启动后端服务**:
```powershell
# ⚠️ 关键步骤:必须先激活环境,再切换到正确的工作目录
conda activate pptagent_env
cd E:\code_software\useful\PPTAgent-main\pptagent_ui
# 验证工作目录正确(必须包含 backend.py 文件)
if (-not (Test-Path "backend.py")) {
Write-Host "错误: 工作目录不正确,找不到 backend.py!" -ForegroundColor Red
exit 1
}
# 设置环境变量
$env:OPENAI_API_KEY='your-api-key'
$env:API_BASE='https://open.bigmodel.cn/api/paas/v4'
$env:LANGUAGE_MODEL='glm-4-plus'
$env:VISION_MODEL='glm-4v-plus-0111'
$env:TEXT_MODEL='embedding-3'
# 启动后端服务(注意:必须在 pptagent_ui 目录中执行)
python backend.py
- 启动前端服务:
# ⚠️ 关键步骤:必须在 pptagent_ui 目录中启动前端 cd E:\code_software\useful\PPTAgent-main\pptagent_ui # 验证工作目录正确 if (-not (Test-Path "package.json")) { Write-Host "错误: 工作目录不正确,找不到 package.json!" -ForegroundColor Red exit 1 } # 确保 Node.js 可用 $env:PATH += ";C:\Program Files\nodejs" # 启动前端开发服务器 npm run serve
⚠️ 工作目录规则(重要)
所有 python backend.py 命令必须在 E:\code_software\useful\PPTAgent-main\pptagent_ui 目录中执行!
- ❌ 错误示例: 在
PPTAgent-main根目录执行python backend.py - ✅ 正确示例: 先
cd pptagent_ui,再执行python backend.py - 🔍 验证方法: 执行前检查当前目录是否包含
backend.py文件
常见错误及解决方案
- "can't open file backend.py" → 工作目录错误,需要
cd pptagent_ui - "ModuleNotFoundError" → conda 环境未激活,需要
conda activate pptagent_env - "npm command not found" → Node.js 未安装或PATH未设置
cd E:\code_software\useful\PPTAgent-main\pptagent_ui $env:PATH += ";C:\Program Files\nodejs" npm run serve
操作接口(人类可读定义,供自动化实现参考)
-
read_file
- 输入: { path: string, start_line?: int, end_line?: int }
- 输出: 文件文本
-
write_file
- 输入: { path: string, content: string, overwrite?: bool }
- 输出: { ok: bool, path: string }
-
apply_patch
- 输入: { patch: string } (git-style patch 或项目专用差分格式)
- 输出: { ok: bool, files_changed: [string] }
-
file_search / grep_search
- 输入: { query: string, includePattern?: string }
- 输出: 匹配路径或匹配行列表
-
run_in_terminal
- 输入: { command: string, explanation?: string, isBackground?: bool }
- 输出: { exitCode: int, stdout: string, stderr: string }
- ⚠️ 注意:新终端需要先执行
conda activate pptagent_env
-
runTests
- 输入: { files?: [string], pattern?: string }
- 输出: { passed: int, failed: int, failures: [{file, message}] }
-
create_file_or_directory
- 输入: { path: string, content?: string, isDirectory?: boolean }
- 输出: { ok: bool, path: string }
-
list_dir
- 输入: { path: string }
- 输出: [ { name: string, type: "file" | "dir" } ]
示例(如何调用)
- 读取文件示例:
{ "action": "read_file", "input": { "path": "pptagent/utils.py", "start_line": 1, "end_line": 200 } }
- 应用补丁示例(说明性):
*** Begin Patch
*** Update File: pptagent/utils.py
@@
-def old():
- pass
+def old():
+ return True
*** End Patch
Docker 环境配置
自动化 Docker 配置流程包括以下步骤:
-
环境检查
# 检查 Docker Desktop 是否安装 $dockerPath = "${env:ProgramFiles}\Docker\Docker\Docker Desktop.exe" if (-not (Test-Path $dockerPath)) { # 下载并安装 Docker Desktop $installer = "DockerDesktopInstaller.exe" Invoke-WebRequest "https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe" -OutFile $installer Start-Process $installer -Wait } -
启动服务
# 启动 Docker Desktop 服务 Start-Process "$env:ProgramFiles\Docker\Docker\Docker Desktop.exe" # 等待服务就绪 do { Start-Sleep 5 } until (docker info 2>$null) -
构建镜像
# 构建 PPTAgent 镜像 docker build -t pptagent ./docker -
运行容器
# 运行 PPTAgent 容器,需要设置 OpenAI API Key docker run -d --name pptagent ` -p 7860:7860 ` -e OPENAI_API_KEY='your-api-key' ` -e PULL=True ` pptagent # 查看容器日志 docker logs -f pptagent
安全与限制
- 禁止在此文件内指定任何网络调用或外部凭证。
- 对可能删除文件或更改依赖的操作,应把
confirmation_required设为 true 并主动询问用户。 - 建议补丁尽量小且可回滚,运行变更相关测试作为质量门槛。
- Docker 相关操作需要管理员权限,请确保用户具有足够的权限。
环境安全注意事项
- 强制环境检查:每次运行Python命令前必须确认在pptagent_env环境中
- 依赖冲突预防:在pptagent_env中安装包时注意版本兼容性
- 路径管理:Node.js路径需手动添加到PATH变量
- 服务端口:后端默认9297端口,前端默认8088端口,避免冲突
常见问题解决
- 环境未激活:
ModuleNotFoundError→ 执行conda activate pptagent_env - npm命令不存在:添加Node.js到PATH →
$env:PATH += ";C:\Program Files\nodejs" - WebSocket错误:安装websocket库 →
pip install 'uvicorn[standard]' websockets - 目录不存在:创建必要目录 → 检查runs/feedback等目录
开发者说明(简短)
- 本文档为人类可读的扩展说明,便于在不改变项目前置元数据的情况下,向维护者与自动化系统展示可用接口与行为准则。
- 如果需要我可以把内部的接口细化为 JSON Schema 并生成一个机器可解析的
chatmode.json文件。
