🤖 基于 WEB 浏览器的 AI 桌面助手
内嵌丰富工具,通过对话完成文件编辑、代码诊断、多 Agent 协同、TTS 语音朗读等复杂任务。
- 🧠 多 Agent 协同:可创建多个 AI 助手分工协作,互发消息接力执行,形成高效协作流水线
- 📊 上下文分层管理:对话、工具、摘要等分区管理,界面实时可视化各层监控,完全掌控 token 用量分布
- ⚡ KV 缓存优化:充分利用 DeepSeek prefix caching,有效降低使用成本
- 🔒 加密存储:对话数据加密保存,保障隐私安全
- 🛡️ ACL 防篡改:防止项目文件被意外篡改
- 🔊 TTS 语音朗读:AI 回答实时语音播报,支持 edge-tts(免费、高音质、多音色),支持每会话独立开关
# 1. 安装依赖
pip install -r requirements.txt
# 2. 如需语音功能(可选)
pip install edge-tts
# 3. 配置 config.ini(填写 API Key 和端口)
# 语音默认关闭,在 [tts] 节将 enabled = false 改为 true 即可默认开启
# 4. 启动
# Windows:双击 start.bat
# Linux: chmod +x start.sh && ./start.sh
# 或直接: python deepseek_code_agent.py启动后浏览器访问 http://127.0.0.1:8801 打开主界面;多列沉浸布局访问 http://127.0.0.1:8801/immersive。
大重构 / 发版前回归:只说「按文档回归」→ Agent 读 回归测试方案.md 后 自动执行 python scripts/run_layer0.py(含 check_agent_v4_health 等全套 Layer 0)。
直接在输入框输入问题,AI 会调用工具完成任务:
"读取桌面的 test.txt 文件内容" "帮我查一下 8.8.8.8 的 IP 归属地" "当前目录有哪些文件?"
| 命令 | 模式 | 用途 |
|---|---|---|
输入 /plan |
Plan 模式 | 先输出方案,不执行任何写操作,适合复杂任务先审后做 |
输入 /execute |
Execute 模式 | 严格按照已创建的 Todo-List 执行,每步完成后自动勾选 |
| 默认(不输入命令) | Auto 模式 | AI 自主评估→出方案→执行,适合日常对话 |
也可点击界面顶部的 Auto / Plan / Execute 按钮切换。
在输入框中用 @ 后跟文件路径,AI 会自动读取文件内容:
@C:\project\main.py 帮我分析这个文件的代码质量@D:\config.json 检查配置是否正确
路径支持绝对路径和相对路径,也可以点击输入框旁的 📁 按钮打开文件浏览器选择。
将常用文档放入知识库目录,对话时勾选即可让 AI 参考:
- 在
config.ini的[knowledge_base]节中配置dir(如D:/AI_DATA_ROOT/knowledge_base) - 往该目录放入待参考的文件(如
.md、.txt、.py、.json、表格类等) - 在界面右侧「📚 知识库」面板勾选本次对话需要的文件
- AI 自动将可读内容作为参考上下文
需要先
pip install edge-tts
- 顶栏 🔊/🔇 按钮控制语音开关
- 支持每会话独立开关
- 支持 6 种中英文音色(晓晓、晓伊、云健、云希、云扬、晓辰)
- Markdown 格式符号自动过滤,朗读不跳字符
- 默认关闭,可在
config.ini的[tts]节中设置enabled = true改为默认开启
在 Plan 模式下,AI 会自动创建 Todo-List。你也可以手动要求:
"帮我列出今天要做的事情清单"
清单会在界面右侧「📋 Todo List」面板显示,每完成一项自动勾选。
点击输入框旁的 📁 按钮打开文件浏览器,可以:
- 浏览本地文件系统
- 选择文件后自动插入
@路径到输入框 - 支持 Windows 盘符列表
如果 AI 正在生成回答或调用工具,点击输入框旁的停止按钮即可中断,不会影响已有对话历史。
deepseek-code-agent/
├── multimodal_proxy.py # 多模态代理服务(Cursor 接入,独立进程)
├── deepseek_code_agent.py # 直接启动入口
├── main_tray.py # 系统托盘启动入口(Windows 任务栏图标)
├── agent_v4/ # 宿主:HTTP、core 子模块、live_state
├── scripts/run_layer0.py # 回归 Layer 0 一键门禁
├── 回归测试方案.md # 发版/重构后回归(Layer 0~2)
├── config.ini # 配置文件
├── requirements.txt # Python 依赖
├── start.bat / start.sh # 一键启动脚本
├── README.md # 本文件
├── 版本日志.md # 版本演进历史
├── 里程碑计划.md # 版本演进与路线图
│
├── res/
│ ├── html/ # UI 模板
│ ├── css/ # 样式表
│ ├── js/ # 前端 JS
│ ├── img/ # 截图资源
│
├── tools/ # 内置工具(catalog 39 个 function)
│ ├── read_file.py / write_file.py
│ ├── grep_files.py / glob_files.py
│ ├── run_command.py / python_inline.py
│ ├── kling_generate.py # 可灵 AI 视频生成
│ └── ...
│
└── util/ # 核心模块
├── tts/ # TTS 语音合成模块
├── config_loader.py
├── agent_model_dispatch.py
└── ...
multimodal_proxy.py 是一个独立的代理服务,作为 Cursor IDE 与 AI 模型之间的桥梁,提供 OpenAI 兼容 API。
cd code-web-agent
python multimodal_proxy.py默认监听 http://127.0.0.1:18802。如需 ngrok 内网穿透供 Cursor 云端访问:
ngrok http 18802[multimodal_proxy]
api_key = 123 # Cursor 配置的 API Key
port = 18802 # 监听端口
bind = 127.0.0.1 # 绑定地址
debug_log = true # 是否打印 SSE 日志
[model_reasoning]
# 推理模型(DeepSeek)
api_base_url = https://api.deepseek.com
api_key = sk-你的DeepSeek密钥
default_model = deepseek-v4-flash
[model_vision]
# 视觉模型(GLM-5V,用于图片分析)
api_base_url = https://open.bigmodel.cn/api/paas/v4
api_key = 你的智谱API密钥
default_model = glm-5v-turbo- Cursor Settings → Models → 开启自定义端点
- Override OpenAI Base URL:
http://127.0.0.1:18802/v1(或 ngrok 公网地址) - API Key: 与
config.ini中[multimodal_proxy].api_key一致 - 模型名: 填写
deepseek-v4-flash(代理会忽略实际模型名,使用自身配置)
- 纯文本聊天: 走 DeepSeek 流式推理,支持思考过程显示
- 图片分析: 上传截图或图片后,自动调用 GLM-5V 视觉模型分析
- 工具调用: 透传 Cursor 的工具定义(Read/Write/Shell 等),DeepSeek 可执行
- 思考过程: 流式返回
reasoning_content字段,Cursor 识别后显示为思考面板
单次最多 4 张图片,超出返回错误。
[model_reasoning]
api_key = sk-你的API密钥 # DeepSeek API 密钥(必填)
default_model = deepseek-v4-flash
[server]
host = 127.0.0.1
port = 8801
[workspace]
dir = D:/AI_DATA_ROOT/workspace # 工作区根目录
[knowledge_base]
dir = D:/AI_DATA_ROOT/knowledge_base # 知识库文件目录
[context]
max_tool_rounds = 500 # 每轮工具调用次数上限
[kling]
api_key = xxx # 可灵 AI 视频生成
secret_key = xxx
[dreamina]
cli_path = # 即梦 CLI 路径(留空自动查找)
[agent]
name_pool = 小明,小红,张三... # Agent 名字池
user_rules_file = user_rules.md # 用户自定义规则
[tts]
enabled = false # 语音朗读开关
engine = edge # console=静默 / edge=语音
voice = zh-CN-XiaoxiaoNeural完整配置说明见 config.ini。
| 端点 | 方法 | 用途 |
|---|---|---|
/ |
GET | 主页面 |
/immersive |
GET | 沉浸模式页面 |
/api/chat/send |
POST | 提交用户消息 |
/api/chat/stop |
POST | 停止当前生成 |
/api/chat/title |
POST | 自动生成会话标题 |
/api/chat/user-confirm |
POST | 提交用户确认 |
/api/chat/history |
GET | 获取对话历史 |
/api/chat/sessions |
GET | 获取会话列表 |
/api/chat/ui-state |
GET/PUT | 读写界面布局状态 |
/api/events/stream |
GET | 全局 SSE 事件流 |
/api/kb/files |
GET | 列出知识库文件 |
/api/kb/checked |
GET/PUT | 读写知识库勾选状态 |
/api/model-pricing |
GET | 查询模型定价 |
/api/reasoning-effort |
GET/PUT | 读写推理档位 |
/api/usage-accumulator |
GET/PUT | 用量统计 |
/api/dir-browse |
GET | 浏览文件目录 |
/api/tts/state |
PUT | 设置会话 TTS 开关 |
/health |
GET | 健康检查 |
欢迎提交 Issue 和 PR!可以做的事:
- 🐛 报告 Bug
- 💡 提出新功能建议
- 📝 完善文档
- 🔧 提交代码改进
⭐ 如果这个项目对你有帮助,欢迎给个 Star!
文档版本:v1.5 | 更新于:2026-07-11 | 作者:Fan




