2026-03-03 13:55:12 +08:00
2026-02-02 16:50:08 +08:00
2026-02-27 15:03:11 +08:00
2026-02-02 10:23:20 +08:00
2026-02-02 10:23:20 +08:00
2026-02-02 10:23:20 +08:00
2026-02-11 09:07:55 +08:00
2026-02-02 10:23:20 +08:00
2026-02-02 10:23:20 +08:00
2026-02-02 10:23:20 +08:00
2026-03-03 13:54:08 +08:00
2026-02-02 10:23:20 +08:00
2026-02-05 14:30:05 +08:00
2026-02-11 09:07:55 +08:00
2026-02-27 15:15:32 +08:00

SenWeaver IDE Logo

SenWeaver IDE

开源多智能体协同 AI 编程平台 — 自主在线强化学习驱动

官网GitHub功能特性多智能体强化学习快速开始贡献指南

License Platform Version Reinforcement Learning Multi-Agent 52 Built-in Tools 19+ Model Providers


📸 功能预览

智能对话助手
🤖 智能对话助手
自然语言对话,获取实时信息,执行复杂任务
文档生成
📝 智能文档生成
一键生成报告、论文、周报、简历等专业文档
内置浏览器
🌐 内置浏览器
无需切换窗口,直接在 IDE 中预览和调试网页
模型设置
⚙️ 多模型配置
灵活配置多种 AI 模型,支持自定义 API
代码安全检测
🛡️ 代码安全助手
AI 驱动的代码安全检测与智能修复建议
UI 设计模式
🎨 UI 设计模式
通过 AI 对话快速生成精美的 UI 界面

📖 简介

SenWeaver IDE 是一款开源的、基于 VS Code 深度定制的智能代码编辑器平台。它不仅继承了 VS Code 的全部优秀特性,更创新性地融合了多智能体协同架构与**自主在线强化学习RL**能力 — 系统会持续从用户交互中学习和优化,使 AI 编程助手越用越智能。

🚀 完全开源SenWeaver IDE 客户端与后端管理系统均已正式开源!企业用户可完全自主部署和管理 AI 编程平台。

🔗 后端开源地址:https://github.com/senweaver/senweaver-ide-admin

核心亮点

亮点 说明
🧠 多智能体协同 13 个内置 Agent + 11 个域子智能体,复杂任务自动分解并行执行
📈 自主在线强化学习 从用户反馈中实时学习,自动优化 Prompt 策略,越用越精准
🔧 50+ 内置工具 文件、终端、搜索、文档、浏览器、视觉、测试、部署、安全、性能分析一应俱全
🌐 远程协作 WebRTC P2P 直连App 端远程控制 AI 助手
🔒 隐私安全 支持本地模型部署Ollama/LM Studio数据不出本地
🎯 完全开源 MIT 协议,客户端 + 后端全栈开源,自由定制

功能特性

🤖 AI 智能编程

  • 智能对话 (Ctrl+L) - 与 AI 进行自然语言对话,获取代码建议、解释和优化方案

    • 支持多轮对话,保持上下文连贯性
    • 自动识别当前文件和选中代码作为上下文
    • 支持 @ 引用文件、文件夹、代码符号
    • 对话历史持久化存储,支持历史记录管理
  • 快速编辑 (Ctrl+K) - 选中代码后快速调用 AI 进行修改、重构或解释

    • 内联 Diff 显示,直观对比修改前后差异
    • 一键接受/拒绝单个或全部修改
    • 支持跨文件批量编辑
    • 智能代码重构和优化建议
  • 智能补全 - 基于上下文的智能代码补全

    • 实时代码补全建议
    • 支持多行代码补全
    • 自动学习项目代码风格
    • Tab 键快速接受建议
  • 代码预测 - 预测下一步编辑操作

    • 基于编辑历史预测下一步操作
    • 智能光标位置建议
    • 连续编辑流程优化

📈 自主在线强化学习APO

SenWeaver IDE 内置了业界领先的自主在线强化学习引擎,让 AI 助手在使用过程中持续自我进化。这不是传统的离线微调,而是端侧实时学习 — 每一次交互都在让系统变得更智能。

  • 多维度奖励信号采集

    • 自动采集 9 个维度的奖励信号用户反馈、任务完成度、工具成功率、工具可靠性、工具效率、工具耗时、响应效率、Token 效率、对话效率
    • 按 chatMode 自适应阈值Agent 模式 vs 普通模式使用不同评判标准)
    • 加权聚合计算综合奖励值(finalReward),用户反馈权重最高
  • 自动 Prompt 优化APO

    • 基于 Textual Gradient文本梯度自动分析 Prompt 缺陷并生成优化建议
    • Beam Search 候选提示词搜索,保留 Top-K 最优策略
    • 6 种问题模式自动检测错误频发、工具失败、Token 浪费、多轮重试、长对话、慢工具
    • 优化规则自动注入 System Prompt带 2000 字符预算控制,防止上下文溢出)
  • 数据闭环流水线

    • Phase 1 - 数据采集TraceCollectorService 异步记录每轮对话的完整轨迹Span零性能影响
    • Phase 2 - 智能优化APOService 分析轨迹数据,生成并管理 Prompt 优化建议
    • 支持本地分析 + 后端深度优化双模式
    • 优化建议支持一键应用 / 拒绝 / 回滚,用户始终掌握控制权
  • 技术参考

    • 参考 agent-lightning 框架的 Textual Gradient & Apply Edit 思路
    • Beam Search 状态管理参考 APO._update_best_prompt
    • 所有 RL 数据和状态持久化存储IDE 重启不丢失

🛡️ 安全小助手

AI 驱动的代码安全检测与修复:

  • 漏洞检测

    • 自动扫描代码中的安全漏洞
    • 识别 SQL 注入、XSS、CSRF 等常见风险
    • 检测敏感信息泄露API Key、密码硬编码
    • 依赖库漏洞预警
  • 智能修复

    • 一键生成安全修复建议
    • 自动修复常见安全问题
    • 提供最佳安全实践指导
  • 代码质量预测

    • 预测潜在的运行时错误
    • 识别性能瓶颈和内存泄漏风险
    • 代码复杂度分析和优化建议

🤖 多模型支持

支持 19+ 主流 AI 模型提供商,灵活切换,覆盖国际云服务、国内大模型、本地部署三大场景:

提供商 支持模型 特点
OpenAI GPT-4o, GPT-4, o1/o3 系列 综合能力强
Anthropic Claude 系列 长上下文、代码能力强
Google Gemini Gemini Pro 多模态、大上下文窗口
DeepSeek DeepSeek-V3, DeepSeek-R1 代码专精、高性价比
Groq Llama, Mixtral 等 超低延迟推理
xAI Grok 系列 实时信息、多模态
Mistral Mistral Large/Medium 欧洲开源模型领先
OpenRouter 100+ 模型聚合 统一 API、智能路由
阿里百炼 通义千问系列 国产大模型、中文优化
智谱 AI GLM-4 系列 国产大模型、多模态
Moonshot AI Kimi 系列 超长上下文 (128K+)
Google Vertex Gemini Pro (企业版) 企业级、高可用
Microsoft Azure Azure OpenAI 服务 企业合规、全球部署
AWS Bedrock Claude, Titan 等 AWS 生态集成
Ollama Llama, Qwen, CodeLlama 等 本地部署、隐私安全
vLLM 各类开源模型 高性能本地推理引擎
LM Studio 各类开源模型 本地运行、图形界面
LiteLLM 100+ 提供商代理 统一代理网关
OpenAI-Compatible 任意兼容 API 灵活扩展llama.cpp 等)

还支持自定义提供商配置,兼容任意 OpenAI/Anthropic 格式的 API 端点。

🛠️ 开发工具集成

  • 内置浏览器

    • 无需切换窗口即可预览网页
    • 支持反向代理绑过 X-Frame-Options 限制
    • 自动同步地址栏 URL
    • 支持开发者工具
  • 终端集成

    • AI 可直接在终端执行命令
    • 命令执行结果自动反馈给 AI
    • 支持多终端管理
    • 命令历史记录
  • 文件快照

    • 自动保存文件修改历史
    • 支持任意时间点回滚
    • 可视化文件变更对比
    • 快照装饰器显示修改状态
  • SCM 集成

    • AI 自动生成 Git 提交信息
    • 基于 Diff 内容智能总结
    • 支持自定义提交信息模板
  • MCP 协议支持

    • 支持 Model Context Protocol 扩展工具能力
    • 可配置多个 MCP 服务器
    • 自动发现和调用 MCP 工具

🌐 远程协作

通过 WebRTC P2P 连接实现远程协作,让远程 App 客户端可以连接到 IDE 并实时交互:

  • P2P 连接

    • 基于 WebRTC 的点对点直连,数据传输不经过服务器
    • 使用官方信令服务器 wss://ide-api.senweaver.com/ws/signaling 进行连接建立
    • 自动获取 ICE 服务器配置,支持 NAT 穿透
    • 单设备连接限制,确保每个 IDE 同时只允许一台 App 连接
  • 远程控制

    • App 端可以向 IDE 的 AI 助手发送提问和任务
    • 实时同步聊天界面状态到远程 App
    • 异步数据传输,不影响 IDE 本地性能和操作
    • 支持流式输出同步,实时显示 AI 响应
  • 连接管理

    • 可开启/关闭远程连接开关
    • 显示设备码供 App 端输入连接
    • 显示已连接的设备信息
    • 支持主动断开连接
  • 安全特性

    • 设备码验证机制
    • 连接状态实时监控
    • 自动重连和心跳保活

🔌 API 调用能力

AI 可直接调用 HTTP API实现与外部服务的交互

  • HTTP 请求

    • 支持 GET、POST、PUT、DELETE 等方法
    • 自定义请求头和请求体
    • 支持多种认证方式Basic、Bearer Token、API Key
    • 超时控制和错误处理
  • 应用场景

    • 调用 RESTful API 获取数据
    • 与第三方服务集成
    • 自动化测试 API 接口
    • 数据采集和处理

📚 Skills 技能系统

专业化技能体系,通过渐进式加载智能匹配让 AI 在正确的时机获取正确的领域知识,无需人工干预。

架构特性

  • 3 级渐进式加载 — 精确控制上下文窗口开销
    • Level 1 — 元数据:技能名称 + 描述(含关键词),始终注入系统提示(~100 词/技能)
    • Level 2 — 指令正文AI 识别到匹配需求后调用 skill(name) 按需加载 SKILL.md 全文
    • Level 3 — 捆绑资源:脚本、参考文档、模板等,通过 skill(name, resource_name) 按需加载
  • 自动关键词触发 — 每个技能描述包含 关键词: 字段LLM 根据用户请求自动匹配并加载
  • 多目录扫描 — 项目级 .senweaver/skill/ + 全局配置目录,兼容 .opencode/.claude/ 格式
  • 文件监听热更新 — 修改 SKILL.md 后自动刷新,无需重启
  • 使用统计追踪 — 记录每个技能的调用次数、成功率、用户反馈

19 个内置专业技能

领域 技能 能力
文档处理 pdf PDF 全功能处理:读取/提取、合并/拆分、水印、表单填写、OCR
docx Word 文档创建/编辑docx-js 库、XML 精确编辑、跟踪修改
xlsx Excel 表格处理:数据分析、公式验证、财务模型色彩规范
pptx PPT 演示文稿:专业配色方案、排版规范、视觉 QA 检查
doc-coauthoring 三阶段文档协作:上下文收集 → 迭代完善 → 读者测试
开发专家 react-expert React 19 全栈Server Components、Hooks、Zustand、TanStack Query
typescript-pro TypeScript 高级类型泛型、条件类型、Branded Types、tsconfig
frontend-design 高质量前端设计:生产级 UI、避免 AI 审美通病、美学指南
api-designer API 设计OpenAPI 3.1 规范、RESTful 最佳实践、版本策略
质量保障 code-reviewer 系统化代码审查:正确性/安全性/性能/可维护性四维检查
test-master 全面测试:单元/集成/E2E/性能/安全测试TDD 方法论
security-reviewer 安全审查OWASP Top 10、漏洞检测、密钥扫描、CVSS 评分
debugging-wizard 科学调试:二分法/时间旅行/最小复现/Delta 调试五大策略
webapp-testing Web 自动化测试Playwright browser_action 完整指南
架构与工程 architecture-designer 系统架构设计模式选择、ADR 决策记录、非功能需求评估
mcp-builder MCP 服务器开发FastMCP/TypeScript SDK、工具设计、评估框架
code-documenter 代码文档化JSDoc/docstring/OpenAPI、文档站点、覆盖率报告
AI 工程 prompt-engineer 提示工程CoT/少样本/ReAct 模式、评估框架、注入防御
skill-creator 技能创建器(元技能):从零创建、评测迭代、描述优化

技能目录结构

.senweaver/skill/
├── pdf/                        # 示例:最完整的内置技能
│   ├── SKILL.md                # 必需 — YAML frontmatter + Markdown 指令
│   ├── references/             # 可选 — 参考文档(按需加载到上下文)
│   │   └── FORMS.md
│   └── scripts/                # 可选 — 可执行脚本(确定性/重复性任务)
│       └── pdf_utils.py
├── code-reviewer/
│   └── SKILL.md
├── react-expert/
│   └── SKILL.md
└── ...                         # 共 19 个内置技能

SKILL.md 格式规范

---
name: my-skill                  # 技能标识符(小写,连字符分隔)
description: "功能描述。关键词触发词1、触发词2、trigger-word"
---

# 技能标题

## 使用内置工具
[引导 AI 使用项目已有的工具完成任务]

## 核心工作流
[分步骤的专业指导]

## 常见模式与示例
[代码示例、模板、最佳实践]

## 原则
[必须做 / 绝不做的清单]

自定义技能

支持用户在项目级全局级创建自定义技能:

# 项目级 — 仅当前项目生效
mkdir -p .senweaver/skill/my-custom-skill
# 编写 SKILL.md保存后自动热加载

# 全局级 — 所有项目生效
# Windows: %APPDATA%\senweaver\skill\
# macOS:   ~/Library/Application Support/senweaver/skill/
# Linux:   ~/.config/senweaver/skill/

应用场景:项目编码规范、团队开发约定、框架使用指南、业务领域知识、特定工作流程自动化

🧰 内置工具集 (52 个)

AI 助手采用分层加载架构:核心工具始终可用,扩展工具按需通过域子智能体动态加载,兼顾响应速度与功能覆盖。

核心工具 (Core - 19 个,始终加载)

类别 工具 说明
文件读取 read_file 读取文件内容(支持分页和行范围)
ls_dir 列出目录内容(分页)
get_dir_tree 获取目录树结构
get_file_outline 获取文件符号大纲(函数/类/变量)
read_lint_errors 读取 Lint 和类型错误
搜索 search_pathnames_only 按路径名搜索文件
search_for_files 全文搜索文件内容ripgrep
search_in_file 在指定文件内搜索
编辑 edit_file 搜索替换编辑文件(多块批量)
rewrite_file 重写整个文件内容
create_file_or_folder 创建文件或文件夹
delete_file_or_folder 删除文件或文件夹
终端 run_command 执行终端命令并获取输出
网络 web_search 多引擎联网搜索10+ 搜索引擎)
fetch_url 获取网页内容HTML 自动转 Markdown
智能体调度 spawn_subagent 启动域子智能体执行专项任务
dispatch_agents 并行调度多个子智能体协同工作
edit_agent 动态编辑智能体配置
技能 skill 加载专业技能指令和捆绑资源19 个内置 + 自定义)

扩展工具 (Extended - 33 个,按需加载)

工具组 工具 说明
终端扩展 open_persistent_terminal 打开持久终端会话
run_persistent_command 在持久终端中执行命令
kill_persistent_terminal 关闭持久终端
浏览器自动化 browser_action Playwright 浏览器自动化导航、点击、输入、截图、DOM 查询等)
API 调用 api_request 发送 HTTP 请求GET/POST/PUT/DELETE支持认证
视觉分析 analyze_image 图片内容分析与文字识别
screenshot_to_code 截图/设计稿转前端代码
文档处理 read_document 读取 Word/Excel/PDF/PPT 文档
edit_document 编辑现有文档内容
create_document 创建 Word/Excel/PPT 专业文档
pdf_operation PDF 合并、拆分、添加水印
document_convert 文档格式互转
document_merge 多文档合并
document_extract 提取文档中的图片、表格等元素
自动化测试 test_generate 自动生成单元/集成/E2E 测试用例
test_run 运行测试并解析结构化结果
test_coverage 代码行/分支/函数覆盖率分析
test_report 生成综合测试报告
CI/CD 部署 deploy_config 自动生成 CI/CD 配置Docker, GitHub Actions, K8s 等)
deploy_run 构建镜像、启动/停止/重启服务
deploy_status 监控服务运行状态和资源使用
deploy_rollback 快速回滚到稳定版本
性能评估 perf_benchmark 基准测试HTTP 负载、函数微基准、启动时间)
perf_profile CPU/内存/堆/I/O 性能分析
perf_lighthouse Lighthouse Web 性能审计Core Web Vitals
perf_report 生成综合性能评估报告
渗透测试 pentest_scan 端口扫描、漏洞扫描、Web 安全扫描、SQL 注入/XSS 检测
pentest_exploit 漏洞验证与利用sqlmap, metasploit 等)
pentest_report 生成专业渗透测试报告 (DOCX)
长期记忆 memory_search 在记忆库中语义搜索
memory_get 读取记忆条目完整内容
memory_save 保存、更新、删除记忆条目
定时任务 cron_task 创建/管理定时任务和提醒(支持 cron 表达式)

🔍 智能搜索

  • 多引擎联网搜索

    • 集成 10+ 搜索引擎Bing、Baidu、DuckDuckGo、Brave、Jina
    • 技术社区搜索CSDN、掘金、知乎、GitHub
    • 微信公众号文章搜索
    • 并行搜索,结果智能去重合并
  • 智能网页提取

    • 自动提取网页核心内容
    • HTML 转 Markdown 格式化
    • 支持动态渲染页面Playwright
    • 分页获取大型网页
  • GitHub 搜索

    • 快速搜索代码仓库
    • 搜索代码片段和技术方案
    • 获取仓库 Stars、语言等信息

📄 文档处理

  • Office 文档支持

    • 读取 Word (.docx)、Excel (.xlsx)、PDF 文档
    • 创建专业 Word 文档(标题、段落、表格)
    • 创建 Excel 工作簿(多 Sheet、公式
    • PDF 合并、拆分、添加水印
  • Markdown 预览

    • 实时预览 Markdown 文档
    • 支持 GFM 扩展语法
    • 代码高亮显示
    • 数学公式渲染
  • 设计稿转代码

    • 支持截图转代码功能
    • 网页克隆工具
    • 视觉识别生成 HTML/CSS

🎨 用户体验

  • 中文界面 - 完整的中文本地化支持
  • 深色/浅色主题 - 多种主题可选,自动跟随系统
  • 快捷键自定义 - 灵活配置快捷键
  • 设置面板 - 可视化配置所有选项
  • 在线配置同步 - 支持从服务器获取配置更新

多智能体协同架构

SenWeaver IDE 采用多层次智能体协同架构,通过主智能体调度域子智能体实现复杂任务的自动分解与并行执行。

用户请求
   │
   ▼
┌──────────────────────────────────────────────────────┐
│              ChatMode 模式路由                         │
│  normal(对话) / agent(全能) / designer(设计) / gather  │
└──────────┬───────────────────────────────────────────┘
           │
           ▼
┌──────────────────────────────────────────────────────┐
│              主智能体 (Primary Agent)                  │
│  Chat Agent / Build Agent / Designer Agent            │
│  · 任务理解与分解                                      │
│  · 核心工具直接调用 (19 个)                             │
│  · spawn_subagent / dispatch_agents 调度子智能体       │
└──────────┬───────────────────────────────────────────┘
           │  并行调度
           ▼
┌──────────────────────────────────────────────────────┐
│           域子智能体 (Domain Sub-Agents) x 11          │
│                                                       │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│  │ 文件智能体│ │ 执行智能体│ │ 联网智能体│ │文档智能体│ │
│  │ 12 工具  │ │ 5 工具   │ │ 3 工具   │ │ 7 工具  │ │
│  └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│  │ 视觉智能体│ │ 测试智能体│ │ 部署智能体│ │性能智能体│ │
│  │ 2 工具   │ │ 4+5 工具 │ │ 4+5 工具 │ │ 4+4 工具│ │
│  └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐             │
│  │ 安全智能体│ │ 记忆智能体│ │ 调度智能体│             │
│  │ 3+3 工具 │ │ 3+2 工具 │ │ 1 工具   │             │
│  └──────────┘ └──────────┘ └──────────┘             │
└──────────────────────────────────────────────────────┘

Chat 模式与智能体组合

4 种 Chat 模式定义了不同的主智能体和可用子智能体组合:

模式 主智能体 可用子智能体 最大并行数 适用场景
Normal Chat Agent explore 1 日常对话、代码问答
Agent Build Agent explore, plan, code, review, test 3 全能编程、复杂开发任务
Designer Designer Agent explore, plan, ui, api, code, review 4 UI 设计、全栈开发
Gather Chat Agent explore 1 只读探索、信息收集

域子智能体 (11 个)

主智能体通过 spawn_subagentdispatch_agents 工具调度以下专业化子智能体:

子智能体 ID 核心能力 专属工具数
文件智能体 file_agent 文件读写、搜索、代码编辑 12
执行智能体 exec_agent 命令执行、终端管理、Playwright 浏览器自动化 5
联网智能体 net_agent 多引擎搜索、网页获取、API 调用 3
文档智能体 doc_agent Office 文档读写、格式转换、合并拆分 7
视觉智能体 vision_agent 图像分析、截图转代码 2
记忆管理智能体 memory_agent 长期记忆的搜索、读取、保存 5
测试智能体 test_agent 自动生成测试、覆盖率分析、测试报告 9
部署智能体 deploy_agent CI/CD 配置生成、部署执行、状态监控、回滚 9
性能评估智能体 perf_agent 基准测试、性能分析、Lighthouse 审计 8
渗透测试智能体 pentest_agent 端口/漏洞扫描、漏洞利用、安全报告 6
调度智能体 scheduler_agent 定时任务、周期性提醒 1

内置智能体 (13 个)

智能体 模式 说明
Build Agent 主代理 全能构建代理,完整读写和执行权限,最大 50 步
Chat Agent 主代理 对话代理,只读权限,用于代码讨论和问答
Designer Agent 主代理 设计代理,专注 UI 设计和全栈开发,最大 100 步
Explore Agent 子代理 快速探索代码库,只读操作
Plan Agent 子代理 分析任务并制定分步执行计划
Code Agent 子代理 专注代码编写和修改,无删除/终端权限
Review Agent 子代理 代码审查,检查质量、安全和最佳实践
Test Agent 子代理 编写和执行测试,验证代码正确性
UI Agent 子代理 UI 设计和组件开发
API Agent 子代理 后端接口设计和开发
Compaction Agent 系统 会话压缩,生成对话历史摘要(隐藏)
Summary Agent 系统 任务执行摘要生成(隐藏)
Title Agent 系统 对话标题自动生成(隐藏)

每个智能体都有独立的权限控制(读/写/删除/工具/网络/终端/MCP确保安全隔离。系统采用 LLM 智能路由自动分析任务语义并选择最佳子智能体组合LLM 路由失败时自动降级为关键词匹配,保证 100% 可用性。

强化学习架构

SenWeaver IDE 的在线强化学习系统由两大核心服务构成,形成完整的数据采集 → 奖励计算 → 分析优化 → Prompt 注入闭环:

┌─────────────────────────────────────────────────────────────────┐
│                    SenWeaver IDE 客户端                          │
│                                                                 │
│  ┌──────────────┐    Trace 数据    ┌──────────────────────────┐ │
│  │  用户交互     │ ──────────────> │  TraceCollectorService   │ │
│  │  (对话/反馈)  │                 │  · Span 记录 (7 种类型)   │ │
│  └──────────────┘                 │  · 9 维 Reward 计算       │ │
│         │                         │  · chatMode 自适应阈值    │ │
│         │ 反馈按钮                  │  · 增量上传 (去重持久化)   │ │
│         ▼                         └──────────┬───────────────┘ │
│  ┌──────────────┐                            │                 │
│  │  SidebarChat │                    Trace + Reward            │
│  │  (React UI)  │                            │                 │
│  └──────────────┘                            ▼                 │
│                               ┌──────────────────────────────┐ │
│                               │  APOService                  │ │
│                               │  · 6 种问题模式检测            │ │
│                               │  · Textual Gradient 生成      │ │
│                               │  · Beam Search 候选搜索       │ │
│                               │  · 建议管理 (应用/拒绝/回滚)    │ │
│                               └──────────┬───────────────────┘ │
│                                          │                     │
│                                  优化规则 (≤2000 chars)         │
│                                          │                     │
│                                          ▼                     │
│                               ┌──────────────────────────────┐ │
│                               │  ConvertToLLMMessageService  │ │
│                               │  System Prompt + APO Rules   │ │
│                               └──────────────────────────────┘ │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │                    后端服务 (可选)                            ││
│  │  · /api/traces  — 接收 Trace 数据用于离线训练                 ││
│  │  · /api/apo/optimize — 深度优化 + Beam Search 更新            ││
│  │  · /api/apo/textual-gradient — LLM 驱动的 Prompt 批评与编辑  ││
│  └─────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────┘

奖励信号维度一览:

维度 权重 说明
user_feedback 25% 用户点赞/踩,最直接的信号
task_completion 18% 任务是否正常完成、无错误
tool_success_rate 12% 工具调用成功率
conversation_efficiency 11% 对话轮数越少越好(一次解决)
tool_call_reliability 8% 工具失败次数惩罚
response_efficiency 8% LLM 调用次数越少越好
token_efficiency 8% Token 消耗越低越好
tool_call_efficiency 5% 工具调用次数是否合理
tool_duration_efficiency 5% 工具执行速度

所有阈值按 chatMode 自适应Agent 模式允许更多工具调用和 Token 消耗Normal 模式要求更高效率。

🚀 快速开始

系统要求

  • Windows: Windows 10/11 (x64/ARM64)
  • macOS: macOS 10.15+ (Intel/Apple Silicon)
  • Linux: Ubuntu 18.04+, Debian 10+, RHEL 8+

下载安装

访问 官网下载页面 获取最新版本。

从源码构建

环境准备

  • Node.js: 18.x 或更高版本
  • Python: 3.x用于 node-gyp
  • Git: 最新版本
  • Visual Studio Build ToolsWindowsXcodemacOS

克隆仓库

git clone https://github.com/senweaver/senweaver-ide.git
cd senweaver-ide

安装依赖

npm install

开发运行

# Windows
./scripts/code.bat

# macOS/Linux
./scripts/code.sh

构建发布版本

Windows x64:

# 构建
npx gulp vscode-win32-x64

# 如果内存不足,可增加内存限制
npx gulp vscode-win32-x64 --max-old-space-size=8192

# 构建更新工具(首次打包需要)
npx gulp vscode-win32-x64-inno-updater

# 打包安装程序
npx gulp vscode-win32-x64-system-setup

Windows ARM64:

npx gulp vscode-win32-arm64
npx gulp vscode-win32-arm64-inno-updater
npx gulp vscode-win32-arm64-system-setup

macOS:

# Intel
npx gulp vscode-darwin-x64

# Apple Silicon
npx gulp vscode-darwin-arm64

Linux:

# x64
npx gulp vscode-linux-x64

# ARM64
npx gulp vscode-linux-arm64

# 打包 deb
npx gulp vscode-linux-x64-build-deb

# 打包 rpm
npx gulp vscode-linux-x64-build-rpm

配置 AI 模型

  1. 打开 SenWeaver IDE
  2. 点击左侧边栏的 SenWeaver 图标
  3. 在设置面板中配置您的 AI 模型 API Key
  4. 选择您偏好的模型开始使用

📁 项目结构

senweaver-ide/
├── src/                                    # 源代码目录
│   ├── vs/                                 # VS Code 核心
│   │   ├── base/                           # 基础库工具函数、UI组件
│   │   ├── code/                           # 代码模块
│   │   ├── editor/                         # Monaco 编辑器核心
│   │   ├── platform/                       # 平台服务层
│   │   ├── server/                         # 服务端代码
│   │   └── workbench/                      # 工作台
│   │       ├── api/                        # 扩展 API
│   │       ├── browser/                    # 浏览器端实现
│   │       ├── services/                   # 服务层
│   │       └── contrib/                    # 贡献点模块
│   │           └── senweaver/              # ⭐ SenWeaver AI 核心
│   │               ├── browser/            # 浏览器端代码
│   │               │   ├── chatThreadService.ts           # 对话线程服务
│   │               │   ├── editCodeService.ts             # 代码编辑服务
│   │               │   ├── autocompleteService.ts         # AI 自动补全
│   │               │   ├── toolsService.ts                # 工具调用服务
│   │               │   ├── contextGatheringService.ts     # 上下文收集
│   │               │   ├── editPredictionService.ts       # 编辑预测
│   │               │   ├── senweaverSettingsPane.ts       # 设置面板
│   │               │   ├── senweaverBrowserEditor.ts      # 浏览器编辑器
│   │               │   ├── senweaverDocumentEditor.ts     # 文档编辑器
│   │               │   ├── senweaverDesignerPreviewEditor.ts  # 设计预览
│   │               │   ├── senweaverCommandBarService.ts  # 命令栏服务
│   │               │   ├── senweaverOnlineConfigContribution.ts  # 在线配置
│   │               │   ├── remoteCollaborationService.ts         # 远程协作服务
│   │               │   ├── remoteCollaborationServiceInterface.ts  # 远程协作接口
│   │               │   ├── sidebarPane.ts                 # 侧边栏面板
│   │               │   ├── subagentToolService.ts         # 子代理服务
│   │               │   ├── terminalToolService.ts         # 终端工具服务
│   │               │   ├── startWebSearchServer.cjs       # 网页搜索服务
│   │               │   ├── startFetchUrlServer.cjs        # URL 提取服务
│   │               │   ├── startDocumentReaderServer.cjs  # 文档读取服务
│   │               │   ├── startOpenBrowserServer.cjs     # 浏览器自动化
│   │               │   ├── startScreenshotToCodeServer.cjs # 截图转代码
│   │               │   ├── startVisionServer.cjs          # 视觉分析服务
│   │               │   └── react/                         # React UI 组件
│   │               │       └── src/
│   │               │           ├── sidebar-tsx/           # 侧边栏组件
│   │               │           ├── senweaver-settings-tsx/ # 设置界面
│   │               │           ├── senweaver-editor-widgets-tsx/ # 编辑器小部件
│   │               │           ├── quick-edit-tsx/        # 快速编辑
│   │               │           ├── design-canvas/         # 设计画布
│   │               │           ├── markdown/              # Markdown 渲染
│   │               │           └── util/                  # 工具函数
│   │               ├── common/             # 通用代码(跨平台)
│   │               │   ├── traceCollectorService.ts       # ⭐ RL 数据采集服务Phase 1
│   │               │   ├── apoService.ts                  # ⭐ 自动 Prompt 优化服务Phase 2
│   │               │   ├── senweaverSettingsService.ts    # 设置服务
│   │               │   ├── senweaverSettingsTypes.ts      # 设置类型定义
│   │               │   ├── sendLLMMessageService.ts       # LLM 消息服务
│   │               │   ├── sendLLMMessageTypes.ts         # 消息类型定义
│   │               │   ├── mcpService.ts                  # MCP 协议服务
│   │               │   ├── mcpServiceTypes.ts             # MCP 类型定义
│   │               │   ├── skillService.ts                # 技能服务
│   │               │   ├── agentService.ts                # Agent 服务
│   │               │   ├── agentScheduler.ts              # Agent 调度器
│   │               │   ├── modelCapabilities.ts           # 模型能力定义
│   │               │   ├── toolsServiceTypes.ts           # 工具类型定义
│   │               │   ├── smartContextManager.ts         # 智能上下文管理
│   │               │   ├── tokenOptimizationConfig.ts     # Token 优化配置
│   │               │   ├── tokenUsageTracker.ts           # Token 使用追踪
│   │               │   ├── tpmRateLimiter.ts              # TPM 限速器
│   │               │   ├── cacheService.ts                # 缓存服务
│   │               │   ├── directoryStrService.ts         # 目录结构服务
│   │               │   ├── messageCompressor.ts           # 消息压缩
│   │               │   ├── performanceMonitor.ts          # 性能监控
│   │               │   └── helpers/                       # 辅助函数
│   │               │       ├── colors.ts                  # 颜色工具
│   │               │       ├── extractCodeFromResult.ts   # 代码提取
│   │               │       ├── languageHelpers.ts         # 语言辅助
│   │               │       ├── systemInfo.ts              # 系统信息
│   │               │       └── util.ts                    # 通用工具
│   │               └── electron-main/      # Electron 主进程
│   │                   ├── llmMessage/                    # LLM 消息处理
│   │                   │   ├── sendLLMMessage.ts          # 消息发送
│   │                   │   ├── sendLLMMessage.impl.ts     # 消息实现
│   │                   │   └── extractGrammar.ts          # 语法提取
│   │                   ├── mcpChannel.ts                  # MCP 通道
│   │                   ├── sendLLMMessageChannel.ts       # 消息通道
│   │                   ├── metricsMainService.ts          # 指标服务
│   │                   ├── senweaverSCMMainService.ts     # SCM 服务
│   │                   └── senweaverUpdateMainService.ts  # 更新服务
│   └── vscode-dts/                         # VS Code API 类型定义
├── build/                                  # 构建系统
│   ├── gulpfile.*.js                       # Gulp 构建任务
│   ├── lib/                                # 构建库
│   ├── azure-pipelines/                    # CI/CD 配置
│   ├── darwin/                             # macOS 构建配置
│   ├── linux/                              # Linux 构建配置
│   ├── win32/                              # Windows 构建配置
│   └── npm/                                # npm 脚本
├── extensions/                             # 内置扩展
│   ├── git/                                # Git 集成
│   ├── typescript-language-features/       # TypeScript 语言支持
│   ├── python-environment/                 # Python 环境管理
│   └── ...                                 # 其他语言扩展
├── cli/                                    # CLI 工具 (Rust)
│   ├── src/                                # Rust 源码
│   ├── Cargo.toml                          # Rust 依赖配置
│   └── Cargo.lock                          # 依赖锁定
├── resources/                              # 资源文件
│   ├── darwin/                             # macOS 资源(图标等)
│   ├── linux/                              # Linux 资源
│   ├── win32/                              # Windows 资源
│   └── server/                             # 服务端资源
├── remote/                                 # 远程开发支持
├── scripts/                                # 启动和测试脚本
│   ├── code.bat / code.sh                  # 开发启动脚本
│   ├── test.bat / test.sh                  # 测试脚本
│   └── ...
├── test/                                   # 测试代码
│   ├── unit/                               # 单元测试
│   ├── integration/                        # 集成测试
│   └── smoke/                              # 冒烟测试
├── senweaver_icons/                        # SenWeaver 图标资源
├── .vscode/                                # VS Code 开发配置
├── .github/                                # GitHub 配置
├── product.json                            # 产品配置
├── package.json                            # 项目依赖
└── README.md                               # 项目说明

🤝 贡献指南

我们欢迎所有形式的贡献!

提交 Issue

  • 使用 GitHub Issues 报告 Bug
  • 提交功能建议和改进意见

提交 Pull Request

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

开发规范

  • 遵循现有代码风格
  • 添加必要的测试
  • 更新相关文档

📄 许可证

本项目采用 MIT 许可证 开源。

🙏 致谢

SenWeaver IDE 基于以下优秀的开源项目构建:

感谢所有为本项目做出贡献的开发者!

📞 联系我们


Made with ❤️ by SenWeaver Team

Description
No description provided
Readme 30 MiB
Languages
TypeScript 70.3%
jsonc 22.8%
C 1.9%
JavaScript 1.9%
CSS 1.2%
Other 1.8%