增强 AI 写易语言代码的能力。通过命令库(非嵌入 RAG)提供准确的易语言编程知识,AI 严格基于真实命令生成代码并做双层校验。
- 🎯 这是什么?
- 📊 核心数据
- 🚀 快速开始
- 🧪 5 个真实场景示例
⚠️ 硬性规则(必读)- 🏗️ 技术架构
- ✅ 代码生成质量保证
- 💡 Token 优化历程
- 🛠️ 工具脚本清单
- 📚 文档体系
- 📁 项目结构
- 🤝 贡献指南
- 🔧 维护方式
- ⏳ 未完成工作
- 📝 版本历史
- 📞 链接
- 📄 License
在没有这个技能之前,AI 写易语言代码经常会出现:
- ❌ 凭训练记忆写命令名(命令实际不存在)
- ❌ 类方法名杜撰(如
.匹配文本()实际是.搜索()) - ❌ 参数顺序错误
- ❌ 语法错误(如字符串中直接换行)
- ✅ AI 严格从命令库查询真实命令后再写
- ✅ 双层验证保证代码可运行
- ✅ 完整的易语言语法规则指导
- ✅ 4451 条精易模块 + 核心库命令支持
- 非嵌入 RAG:不依赖向量数据库和嵌入模型,零下载、零外部依赖
- 用户主动维护:命令库由您主动增删改,AI 不会偷偷写库
- 严格只信库:AI 不会"猜"命令,库中没有就组合实现
- 双层校验:生成前查类方法 → 生成后两轮严格校验
| 指标 | 数量 | 说明 |
|---|---|---|
| 命令总数 | 4451 条 | 全部来自易语言支持库 |
| 参数总数 | 6022 个 | 命令参数信息 |
| 核心命令 | 48 条 | 永久注入的高频基础命令 |
| 索引关键词 | 9296 个 | 倒排索引 |
| 命令库大小 | 7.4 MB | commands.json |
| 轻量索引 | 501 KB | commands_index_lite.json |
| 类型 | 数量 | 占比 |
|---|---|---|
| 子程序 | 2260 | 50.8% |
| 常量 | 1350 | 30.3% |
| DLL 命令 | 685 | 15.4% |
| 数据类型 | 69 | 1.6% |
| 类 | 68 | 1.5% |
| 资源 | 19 | 0.4% |
| 来源 | 命令数 | 说明 |
|---|---|---|
| 易语言核心支持库 | 669 | 基础命令 |
| 易语言特殊支持库 | 15 | 系统底层 |
| 精易模块 | 3700+ | 第三方增强 |
| 其他 | 67 | 数据类型/类/资源 |
/易语言 增加 <命令内容> # 添加命令到库
/易语言 删除 <命令名> # 从库删除
/易语言 更新 <命令名> <新内容> # 更新命令
/易语言 查询 <关键词> # 查询命令库
当您要求 AI 写易语言代码时,AI 会自动:
- 必查:从
commands.json检索相关命令 - 必用:严格只用库中真实存在的命令
- 必验:生成后双层校验
# 关键词检索
python scripts/enhanced_search.py commands.json "关键词"
# 混合检索(关键词 + 语义,更智能)
python scripts/hybrid_search.py commands.json "HTTP请求" 15# 2a. 验证类方法存在性
python -X utf8 scripts/validate_before_codegen.py commands.json <你的代码.e>
# 2b. 严格禁止杜撰命令
python -X utf8 scripts/strict_check.py commands.json <你的代码.e>两者都必须 [PASS] 才能输出给用户!
| 示例 | 行数 | 用途 |
|---|---|---|
| 访问百度示例 | 121 | 网页访问基础 |
| 网页抓取与正则解析 | 138 | 正则表达式综合应用 |
| 多对象综合示例 | 89 | 4 个类协作 |
| 读取kldai提取登录链接 | 70 | HTTPS 网页 + 正则 |
| 线程安全日志系统 | 168 | 多线程同步 |
全部通过 strict_check 验证 ✅
每个示例都遵循项目的硬性规则,是真实可用的代码模板。
这是易语言语法限制,字符串字面量中直接换行会编译报错。
' ❌ 错误:直接换行(编译报错)
信息框 ("第一行
第二行")
' ✅ 正确:用 + #换行符 拼接
信息框 ("第一行" + #换行符 + "第二行")
任何信息框、字符串拼接、文件写入时都必须用 + #换行符 替代直接换行。
所有命令必须从 commands.json 实时查询,AI 不会"猜"。库中没有的命令不能凭空出现,只能用库中已有命令组合实现。
AI 不会自动增删改命令库,只有您显式使用 /易语言 命令时才会修改。这是项目的基本约定。
冲突时三选一:保留旧 / 更新 / 改名。命令名是命令库的主键。
项目使用 rwgj 任务架构体系组织,按以下结构组织架构信息:
architecture/
├── index.json # 总索引
├── features/core.json # 功能树(5 大功能簇,23 个叶子节点)
├── modules/structure.json # 模块详情(7 个模块满足底线)
├── data/data.json # 数据拓扑
├── pages/delivery.json # 交付物列表
└── tasks/state.json # 任务状态
校验结果: 0 错误,0 警告 ✅
| 模块 | 功能 |
|---|---|
| M0_skill_entry | 技能入口与路由 |
| M1_command_store | 命令库存储(增删改查) |
| M2_parser_engine | 9 种格式解析引擎 |
| M3_retrieval | 6 层关键词检索 + 混合检索 |
| M4_codegen | 代码生成(严格使用库中命令) |
| M5_validator | 4 项合规校验 |
| M6_conflict_resolver | 冲突三选一处理 |
用户查询
↓
混合检索 (RRF 融合)
├── 关键词通道 (40%) - enhanced_search.py
│ - 精确 / 前缀 / 关键词 / 英文 / 描述 / 拼音
└── 语义通道 (60%) - semantic_search.py
- TF-IDF + 同义词扩展
↓
Top-15 相关命令
↓
注入 AI 上下文
支持 9 种导入格式:
- 格式-1:子程序简洁式
- 格式-2:文档式命令
- DLL 命令
- 常量
- 数据类型
- 类
- 资源
- 通用导入器
- 参数修复器
任何代码生成前必须完成这三步,缺一不可:
# 查具体命令的完整签名
python -X utf8 -c "
import json
with open('commands.json', 'r', encoding='utf-8') as f:
data = json.load(f)
for cmd in data['commands']:
if cmd['name'] == '命令名或类名':
print(cmd.get('params', []))
for m in cmd.get('members', []):
if isinstance(m, dict) and 'name' in m:
print(f'.{m[\"name\"]}(...)')
"# 2a. 验证类方法存在性
python -X utf8 scripts/validate_before_codegen.py commands.json <代码文件.e>
# 2b. 严格禁止杜撰命令
python -X utf8 scripts/strict_check.py commands.json <代码文件.e>两者都必须 [PASS] 才能输出给用户!
- 详细语法 →
docs/grammar-rules.md - 查询原则 →
docs/query-principles.md - 格式解析规则 →
docs/import-formats.md - 命令操作规则 →
docs/command-rules.md
- 命令存在性校验:所有调用必须在库中
- 控制流首尾配对校验:
如果/如果结束、判断循环/判断循环尾等必须配对 - 变量声明校验:使用前必须先
变量声明 - 类型与参数个数校验:实参形参个数、类型必须一致
| 阶段 | 基础消耗 | 节省比例 |
|---|---|---|
| 初始(无优化) | ~180 万 tokens | 0% |
| SKILL.md 精简 | ~7,100 tokens | 99.6% |
| 深度瘦身(目录分层 + 核心拆分) | ~1,860 tokens | 99.9% |
- 根目录 5 个轻量文件
- 子目录按需加载
- 命令库 0 全量加载
续航能力:200k context 可支持 ~166 轮对话(原来只能 38 轮),提升 4.4 倍。
| 文件 | 行数 | 功能 |
|---|---|---|
enhanced_search.py |
85 | 关键词检索入口 |
hybrid_search.py |
74 | 混合检索入口 |
search_engine.py |
139 | 检索核心引擎 |
validate_before_codegen.py |
62 | 代码验证入口 |
validator_core.py |
103 | 验证核心引擎 |
import_format1.py- 格式-1:子程序简洁式import_core_lib.py- 格式-2:文档式命令import_dll.py- DLL 命令导入import_constant.py- 常量导入import_datatype.py- 数据类型导入import_class.py- 类导入import_resource.py- 资源导入fix_core_lib_params.py- 参数修复universal_importer.py- 通用导入器
code_validator.py- 四项合规校验semantic_search.py- TF-IDF 语义检索optimize_index.py- 索引优化synonyms.py- 同义词词典
# 检索命令
python scripts/enhanced_search.py commands.json "关键词"
# 混合检索
python scripts/hybrid_search.py commands.json "HTTP请求" 15
# 生成代码后必验
python -X utf8 scripts/validate_before_codegen.py commands.json <你的代码.e>
python -X utf8 scripts/strict_check.py commands.json <你的代码.e>两个验证都 [PASS] 才能输出!
| 文档 | 行数 | 内容 |
|---|---|---|
docs/grammar-rules.md |
110 | 易语言语法规则完整参考 |
docs/query-principles.md |
63 | 查询原则(不列具体命令) |
docs/import-formats.md |
76 | 9 种导入格式 |
docs/command-rules.md |
89 | 命令操作和错误速查 |
SKILL.md |
80 | 技能说明(AI 必读) |
- 不列具体命令名/类名(命令库会变化)
- 全部用
docs/grammar-rules.md等引用 - 实时查询是唯一来源
- 语法规则 →
docs/grammar-rules.md - 查询原则 →
docs/query-principles.md - 格式解析规则 →
docs/import-formats.md - 命令操作规则 →
docs/command-rules.md - 架构切片 →
architecture/ - 代码示例 →
examples/ - 技能定义(AI 必读)→
SKILL.md
Ej-pro/
├── README.md # 项目说明(本文件)
├── SKILL.md # 技能说明(AI 必读)
├── LICENSE # MIT 许可证
├── .gitignore
├── architecture.json # 架构元数据
├── commands.json # 命令库(4451 条,7.4 MB)
├── commands_index_lite.json # 轻量索引(501 KB)
├── architecture/ # rwgj 架构切片
│ ├── index.json
│ ├── features/
│ ├── modules/
│ ├── data/
│ ├── pages/
│ └── tasks/
├── scripts/ # 工具脚本
│ ├── enhanced_search.py
│ ├── hybrid_search.py
│ ├── search_engine.py
│ ├── validate_before_codegen.py
│ ├── strict_check.py
│ ├── validator_core.py
│ ├── importers/ # 9 个导入器
│ └── tools/ # 4 个辅助工具
├── examples/ # 5 个真实场景示例
│ ├── 访问百度示例.e
│ ├── 网页抓取与正则解析.e
│ ├── 多对象综合示例.e
│ ├── 读取kldai提取登录链接.e
│ └── 线程安全日志系统.e
└── docs/ # 4 个技能文档
├── grammar-rules.md
├── query-principles.md
├── import-formats.md
└── command-rules.md
# 方式 1:通过对话命令
/易语言 增加 <命令内容>
# 方式 2:直接编辑 commands.json
# 在 commands.json 中按格式添加新条目/易语言 更新 <命令名> <新内容>/易语言 删除 <命令名>- 易语言核心支持库
- 易语言特殊支持库
- 精易模块(第三方)
- 其他易语言支持库
- 修改后必须跑
strict_check.py验证 - 写明改动原因(修了哪个 bug / 加了什么能力)
- 保持
commands.json与commands_index_lite.json同步 - 大改动建议先在
architecture/切片里登记
本项目永久使用 rwgj 任务架构体系维护:
- 🔗 rwgj 项目地址:https://github.com/405089597/rwgj_sy
- ✅ rwgj 校验结果:0 错误,0 警告
- ✅ 完整架构切片:
architecture/目录
任何架构级变更必须先过 rwgj 校验,文档规则变更必须先更新 docs/ 下的规则文件。
| 任务 | 优先级 | 状态 |
|---|---|---|
| 端到端测试 | P0 | 待用户测试 |
| 核心命令调优 | P1 | 基于使用频率 |
| 性能监控 | P2 | 按需 |
- ✅ 4451 条命令全部入库
- ✅ 参数信息 100% 完整
- ✅ 5 个真实场景示例
- ✅ 双层验证工具
- ✅ 完整文档体系
- ✅ rwgj 架构校验通过
生产就绪状态 🎯
| 阶段 | 内容 |
|---|---|
| 初始化 | 易语言编程增强技能创建 |
| 命令库填充 | 核心库 669 + 特殊库 15 + 精易模块 3700+ |
| 检索引擎 | 关键词 6 层 + 语义 TF-IDF + 混合 RRF |
| 验证体系 | 4 项合规校验 + 严格命令查重 |
| Token 优化 | 180 万 → 1860 tokens(99.9% 节省) |
| 文档精简 | SKILL.md 从 540 行 → 80 行 |
| 架构治理 | rwgj 校验 0 错误 0 警告 |
- 本项目仓库:https://github.com/40508597/ej-pro
- rwgj 任务架构:https://github.com/405089597/rwgj_sy
- 架构切片:
architecture/ - 代码示例:
examples/ - 技能文档:
docs/ - AI 技能定义:
SKILL.md
本项目使用 MIT License - 详见 LICENSE 文件。
Copyright (c) 2026 40508597
v1.0 | 2026-06-05 | rwgj 任务架构 | Claude Opus 4.7