Files

1 line
13 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"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"}}}}