{"repo":"Yeqi99/Magic","free":true,"listed":false,"github":"https://github.com/Yeqi99/Magic","clone":"git clone https://github.com/Yeqi99/Magic.git","description":"A semantic execution layer for software systems and third-party integrations.","language":"Java","stars":98,"topics":["agent-friendly","automation","developer-tools","dsl","folia","interpreter","java","minecraft","paper","redis"],"license":null,"category":"databases-storage","readme_excerpt":"Magic Magic turns software capabilities into compact, machine-readable semantics that humans can write, agents can understand, and runtimes can safely execute. Magic 将软件能力转化为紧凑、机器可读的语义：人可以书写，智能体可以理解，运行时可以安全执行。 English 中文 Docs MagicPaper proof-of-use integration: Yeqi99/MagicPaper Magic 是一个面向接入方的 Java 脚本语言内核。它的设计目标不是把语法做得像传统编程语言一样华丽，而是尽量做到“0 代码糖”：把表达能力交给语义函数，把控制流、变量、容器、环境能力都抽象成可注册、可替换、可组合的语义。 换句话说，Magic 希望在同样的文本量里存储更多可执行逻辑，并让第三方项目可以快速把自己的业务能力接入为一组短语义。Minecraft 方向的 MagicPaper 是当前最完整的落地实现；MagicRedis 则是 Magic 在实际应用场景中的另一个范例。 当前实现 Magic 基于 Java 17 和 Maven 构建。 Magic 当前已经实现了一个可嵌入的解释执行核心： - MagicManager ：语义注册与执行管理器，维护函数、别名和语义优先级。 - FastExpression / FunctionManager / AliasesManager ：负责解析 name(args) 形式的表达式、函数注册和别名映射。 - Spell ：一组 Magic 语句，按行顺序执行。 - MagicWords ：一行 Magic 语句，一行中可以包含多个语义函数。 - ContextMap / NormalContext ：运行时上下文，用于存储变量、公共对象和执行状态。 - SpellContext ：单次执行过程中的上下文，记录返回值、错误、打印日志、跳转与控制信息。 - MagicPackage / MagicInstance ：加载 .m 文件，并将文件中的魔咒导入到上下文。 内置语义覆盖了脚本语言的基础能力： - 算术：加、减、乘、除、取模、幂、整除、自计算。 - 比较与逻辑：比较、相等、忽略大小写相等、与、或、异或、非。 - 变量：变量定义、对象定义、读取、写入、存在性判断、上下文读取。 - 容器：列表、集合、映射、参数集合、随机取值、解包。 - 控制流： if 、 ifNot 、 while 、遍历、返回、中断、跳转、跳过、等待。 - 执行：执行 Spell、执行带参数 Spell、加载上下文、eval、异步执行、守护异步执行。 - 输入输出：控制台输入、打印、导入。 - 信息：执行次数、当前语句序号、长度、类型、时间、范围、自身引用、空值判断。 - 扩展：Java 类反射、别名注册、自定义函数注册、列表排序、字符串拆分。 基本语法 Magic 的基本单元是语义函数： 参数默认按空格拆分；嵌套函数会先被解析并返回结果： 一组语句组成一个 Spell ： Magic 的重点是“语义优先”。例如在 Minecraft 中， player() 、 item() 、 stap() 这类能力不是语言内核写死的，而是由 MagicPaper 注册进来的环境语义。 在 Java 中接入 最小接入方式如下： 第三方接入通常只需要做三件事： 1. 创建并持有一个 Ma","default_branch":null,"files":null,"tree":[],"storefront":"/r/Yeqi99","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Yeqi99/Magic/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}