1 line
13 KiB
JSON
1 line
13 KiB
JSON
{"repo": "aiqinxuancai/awesome-e-agent", "files": {"README.md": {"40fd1b637d59e3b99d5f467ba22dc9ff933f0665": {"t": 1785674409.7039702, "n": 6991, "h": "e890410ac28bd83e", "c": "# 易语言 × AI Agent 实践白皮书\n\n> **AI 不懂易语言?让它懂。不想学?让 AI 替你写。不想用了?让 AI 帮你跑路。**\n\n---\n\n## 前言:被 AI 时代遗忘的语言?\n\n易语言,一门用中文写代码的 Windows 编程语言,承载了无数开发者最初的编程记忆,也沉淀着大量真实跑在生产环境的存量代码。\n\n但 AI 编程的浪潮滚滚而来——GitHub Copilot、Claude Code、Codex、Gemini CLI……这些工具几乎对易语言一无所知。它们不认识\"子程序\",看不懂\".ec 模块\",更别提帮你修 bug 或写新功能。\n\n**易语言开发者,仿佛站在了 AI 时代的门外。**\n\n直到现在。\n\n本文提供三条路径,覆盖「继续用易语言」到「彻底离开易语言」的完整谱系。你可以选择任何一条,也可以逐步演进。\n\n> 💡 **最推荐路径**:如果你希望用最少的人工投入完成最彻底的现代化,直接跳到 [路径一:AI 驱动的语言迁移方案](#路径一最推荐彻底告别易语言--ai-驱动的语言迁移方案)。\n\n---\n\n## 路径一(最推荐):彻底告别易语言 — AI 驱动的语言迁移方案\n\n> 适合:**不再维护易语言,希望将存量代码迁移至现代语言的团队**\n\n### 核心理念:用 AI 做翻译官\n\n你不需要手动重写。你只需要:\n\n1. **用 e-packager 解包**,获得可读的文本源码\n2. **把源码交给 AI**,让它理解逻辑\n3. **让 AI 重写**为 C#、C++、Python 或任何你想要的语言\n\n### 操作示例\n\n**第一步:解包源码**\n\n```bash\ne-packager unpack LegacyApp.e LegacyApp/\n```\n\n**第二步:召唤 AI,开始迁移**\n\n```bash\ncd LegacyApp\nclaude # 或 codex\n```\n\n> **更推荐codex**,大工程长上下文记忆更好,不偷懒\n\n然后给出指令:\n\n> \"这是一个易语言项目,AGENTS.md 里有完整的项目结构说明。请将 src/ 下的所有业务逻辑完整重写为 C# (.NET 10),保留所有功能,重写为符合现代 C# 规范的项目结构。\"\n\nAI Agent 会:\n- 读取 `AGENTS.md` 理解项目整体结构\n- 逐一读取 `src/` 下的源码文件理解每个模块的逻辑\n- 生成完整的 C# 项目,包括类结构、方法、异常处理\n- 遇到不确定的地方主动询问\n\n**第三步:Review + 修正**\n\n迁移后的代码是标准现代语言,可以用 VSCode、Visual Studio、Rider 等任何工具进行 Code Review 和修正,也可以继续让 AI 迭代完善。\n\n### 为什么 AI 能做好这件事?\n\ne-packager 解包后的易语言源码是**结构化的文本格式**,具备清晰的子程序边界、变量声明和控制流。对于现代大语言模型而言,理解并翻译这类代码是其最擅长的任务之一——\n\n**它可能是你见过的最便宜的遗留代码迁移项目。**\n\n---\n\n这是我实际测试的使用转换代码要求AI重写为WPF的实例,左边E原版,右边是重写的C# WPF实现,一步到位,除了UI看起来可能需要点微调,功能基本都完整。\n使用Copilot Cli + Claude Sonnet4.6,全程只有一句人类发言,其他全部自动完成:\n> 这是一个易语言项目,AGENTS.md 里有完整的项目结构说明。请将 src/ 下的所有业务逻辑完整重写为 C# + WPF (.NET 10),保留所有功能,重写为符合现代 C#\n规范的项目结构,可在原项目基础上做出适当优化,布局要用上WPF的形式,而非完全copy。新项目存放在d:\\git\\KanGetPoint\n\n<img width=\"1739\" height=\"757\" alt=\"494b066dd01482be06fc2eefb034f796\" src=\"https://github.com/user-attachments/assets/747bd120-742c-4f43-ac1f-b7841d394d62\" />\n\n---\n\n## 路径二:拥抱 AI,留在 IDE — AutoLinker 方案\n\n> 适合:**不想改变工作流,只想让 AI 帮我写代码的开发者**\n\n### 核心理念:让 AI 住进易语言 IDE\n\n[AutoLinker](https://github.com/aiqinxuancai/AutoLinker) 是一个易语言支持库插件。安装后,它从两个方向同时打通了易语言与 AI 的通道:\n\n- **向内**:在 IDE 侧边栏植入一个 AI 对话面板,直接与大模型对话,让 AI 实时读写你的工程代码\n- **向外**:启动本地 MCP 服务,让 Claude Code、Codex、Gemini CLI 等终端 Agent 接入易语言 IDE,像操作普通代码仓库一样操作 `.e` 工程\n\n**安装方法**:编译后将 `AutoLinker.fne` 放入易语言 `lib` 目录,在 IDE 中启用支持库即可。\n\n---\n\n### 内嵌 AI 对话面板:不离开 IDE 的完整 Agent 体验\n\n插件加载后,易语言 IDE 左侧会出现一个新的 **AI 对话页签**。这不是简单的补全工具,而是一个具备工程感知能力的 Agent 界面——它知道你当前打开的是哪个页面、工程里有哪些子程序、引用了哪些支持库。\n\n**配置方式**:在插件设置中填入以下信息即可接入任意兼容 OpenAI 接口的模型:\n\n| 配置项 | 说明 | 示例 |\n|--------|------|------|\n| Base URL | 模型服务的 API 地址 | `https://api.anthropic.com` |\n| API Key | 对应服务的密钥 | `sk-ant-...` |\n| 模型 ID | 使用的具体模型 | `claude-opus-4-5` / `gpt-4o` / `gemini-2.5-pro` |\n\n国内中转、自建代理、或任何兼容 OpenAI 格式的第三方服务均可接入。\n\n**能做什么**:在对话框里用自然语言描述需求,AI 会调用内置工具读取你的工程源码,直接完成修改并写回 IDE,无需你手动复制粘贴任何内容。\n\n> 💬 \"帮我给所有网络请求子程序加上超时处理,编译通过为止。\"\n\n**第二步:接入外部 AI Agent(可选)**\n\n如果你更习惯在终端里使用 Claude Code 或 Codex,AutoLinker 同时提供本地 MCP 服务。启动后,输出窗口会打印:\n\n```\n[AutoLinker][LocalMCP] listening on http://127.0.0.1:19207/mcp\n```\n\n<table>\n<tr><th>工具</th><th>配置文件</th><th>配置内容</th></tr>\n<tr>\n<td>Claude Code</td>\n<td><code>~/.claude.json</code></td>\n<td>\n\n```json\n{\n \"mcpServers\": {\n \"AutoLinker\": {\n \"transport\": \"streamable_http\",\n \"url\": \"http://127.0.0.1:19207/mcp\"\n }\n }\n}\n```\n\n</td>\n</tr>\n<tr>\n<td>Codex</td>\n<td><code>~/.codex/config.toml</code></td>\n<td>\n\n```toml\n[mcp_servers.AutoLinker]\nurl = \"http://127.0.0.1:19207/mcp\"\n```\n\n</td>\n</tr>\n<tr>\n<td>Gemini CLI</td>\n<td><code>~/.gemini/settings.json</code></td>\n<td>\n\n```json\n{\n \"mcpServers\": {\n \"AutoLinker\": {\n \"transport\": \"streamable_http\",\n \"url\": \"http://127.0.0.1:19207/mcp\"\n }\n }\n}\n```\n\n</td>\n</tr>\n</table>\n\n配置完成后,在终端运行 Claude Code 或 Codex,即可直接读取易语言工程源码、搜索支持库,并将修改写回 IDE。\n\n### MCP 工具集:AI Agent 能做什么?\n\nAutoLinker 向外部 Agent 暴露了一套完整的工具集:\n\n| 能力 | 工具 |\n|------|------|\n| 读取当前页完整源码 | `get_current_page_code` |\n| 搜索整个工程源码 | `search_public_code` |\n| 列出并搜索支持库声明 | `search_support_library_public_code` |\n| 搜索模块公开接口 | `search_available_module_public_code` |\n| 精确编辑任意程序树页面 | `edit_program_item_code` |\n| 批量修改多个页面 | `multi_edit_program_item_code` |\n| 触发编译并获取结果 | `compile_with_output_path` |\n| 执行 PowerShell 命令 | `run_powershell_command` |\n| 联网搜索参考资料 | `search_web_tavily` |\n\n这意味着,你可以在终端对 Claude Code 说:\n\n> \"帮我给这个工程所有子程序添加错误处理,编译通过为止。\"\n\n然后去喝杯茶。\n\n### 项目规范文件:让 AI 了解你的项目\n\n在 `.e` 文件同目录创建同名 `.AGENTS.md`(如 `MyApp.AGENTS.md`),AutoLinker 会自动将其注入所有 AI 功能的系统提示词。\n\n```markdown\n# 项目规范\n\n## 技术背景\n本项目运行于 Windows XP+,使用 VC2017 链接器。\n\n## 命名约定\n- 子程序名使用中文,格式:`动词_名词`\n- 局部变量使用小驼峰英文命名\n\n## 禁止事项\n- 不得引入新的第三方支持库\n- 不得修改 `_启动子程序`\n```\n\n这一机制与 Claude Code 的 `CLAUDE.md`、Codex 的 `AGENTS.md` 如出一辙——**你的 AI,从此懂你的项目**。\n\n### 内嵌右键菜单 AI 功能\n\nAutoLinker 还在 IDE 右键菜单直接提供 AI 能力,适合快速的单次操作,无需打开对话面板:\n\n- **AI 优化函数**:对当前函数做等价重构与性能优化\n- **AI 添加注释**:一键为函数补全文档注释\n- **AI 翻译变量名**:将中文函数名、参数名重命名为英文 `lowerCamelCase`\n- **AI 按上下文添加代码**:根据当前页类型与你的描述,直接生成并插入代码\n\n---\n\n## 路径三:抛弃 IDE,AI 直接开发 .e 项目 — e-packager 方案\n\n> 适合:**易语言存量项目,希望用最强 AI Agent 全力接管开发的团队**\n\n### 核心理念:把 .e 文件\"解封印\"\n\n易语言的 `.e` 文件是二进制专有格式,对任何外部工具都是黑盒。[e-packager](https://github.com/aiqinxuancai/e-packager) 打破了这个封印——\n\n**将 `.e` 文件解包为标准可读目录,让 Git、Diff、AI Agent 直接操作源码文件,修改完成后再回包为 `.e`。**\n\n```\nMyApp.e → e-packager unpack → MyApp/\n ├── src/ ← 源码 .txt 文件 + 窗口 .xml\n ├── project/ ← 元数据(勿删)\n ├── image/ ← 图片资源\n ├── audio/ ← 音频资源\n ├── AGENTS.md ← AI 专属项目说明(自动生成)\n └── info.json ← 文件元信息\n```\n\n### 操作流程\n\n**解包**\n\n```bash\n# 方式一:命令行\ne-packager unpack MyApp.e MyApp/\n\n# 方式二:直接拖拽 .e 文件到 e-packager.exe,自动解包到同名目录\n```\n\n**用 AI Agent 开发**\n\n解包后,用任意 AI Agent 直接操作 `src/` 下的文本源码:\n\n```bash\n# 进入项目目录,召唤 Claude Code\ncd MyApp\nclaude\n\n# 或者 Codex\ncodex\n\n# 告诉 AI 你要做什么——它会读 AGENTS.md 了解项目结构,然后直接改文件\n```\n\n**回包**\n\n```bash\n# 方式一:命令行\ne-packager pack MyApp/ MyApp_new.e\n\n# 方式二:在项目目录内直接运行,自动输出到 pack/ 目录\ncd MyApp\ne-packager\n```\n\n### 这条路径的意义\n\n| 传统方式 | e-packager 方式 |\n|----------|----------------|\n| 易语言 IDE 独占,无法用 Git 管理 | 源码变为文本,完整 Git 版本控制 |\n| AI 看不懂 .e 文件 | AI 直接读写 .txt 源码文件 |\n| Code Review 靠截图 | `git diff` 清晰展示每一行变更 |\n| 多人协作靠复制文件 | 标准 Git 分支与合并工作流 |\n\n**你保留了易语言的全部技术积累,同时获得了现代工程的全部红利。**\n\n---\n\n## 三条路径对比\n\n| | 路径一:AI 语言迁移(最推荐) | 路径二:AutoLinker | 路径三:e-packager + AI 开发 |\n|--|-------------------------------|--------------------------|------------------------------|\n| **目标** | 彻底迁移至现代语言 | 在易语言 IDE 内用 AI 开发 | 抛弃 IDE,AI 直接维护 .e 项目 |\n| **保留易语言** | ❌ 否 | ✅ 是 | ✅ 是(源码格式变化) |\n| **所需工具** | e-packager + 任意 AI Agent | AutoLinker.fne + Claude Code 等 | e-packager + 任意 AI Agent |\n| **适合场景** | 技术栈升级、摆脱历史包袱 | 日常开发提效 | 团队协作、大型项目 |\n| **上手难度** | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |\n| **收益幅度** | 完全现代化 | 开发效率大幅提升 | 工程能力质的飞跃 |\n\n---\n\n## 结语:时代的门,从来没有关上\n\n易语言的开发者从不缺乏实干精神——用一门\"小众\"语言,造出了无数真实运行的程序。\n\n现在,AI 的浪潮不是威胁,而是机遇。\n\n**你可以让 AI 懂易语言,也可以让易语言的遗产在 AI 的帮助下涅槃重生。**\n\n三条路,总有一条适合你。\n\n---\n\n## 相关资源\n\n- 🔧 [AutoLinker — 易语言 AI Agent IDE 插件](https://github.com/aiqinxuancai/AutoLinker)\n- 📦 [e-packager — 易语言 .e 文件解包/封包工具](https://github.com/aiqinxuancai/e-packager)\n"}}}} |