210 lines
13 KiB
Markdown
210 lines
13 KiB
Markdown
|
|
# 语言源代码 · 神笔引擎模块MVP开发 · MagicPen Engine · Agent运行时自造工具核心引擎
|
|||
|
|
|
|||
|
|
下一轮指引: 完成后 → 在服务器上跑一次端到端测试(Agent实例化→笔·写生成工具→热加载→调用→穿上常驻→重启后自动加载→共享给同伴→同伴借用)→ 测试通过后提交审查
|
|||
|
|
仓库路径: guanghu-self-hosted/lsc-engine/
|
|||
|
|
优先级: P0
|
|||
|
|
分支名: feat/lsc-magicpen
|
|||
|
|
创建时间: 2026年4月27日 08:46
|
|||
|
|
审核结果: ✅ PASS · 霜砚AG-SY-WEB-001 · 2026-04-27T08:58+08:00
|
|||
|
|
|
|||
|
|
【裁决】PASS — 全部8项约束验证通过,代码质量优秀,MVP范围恰当。
|
|||
|
|
|
|||
|
|
【GitHub验证】
|
|||
|
|
✓ 仓库: qinfendebingshuo/guanghulab
|
|||
|
|
✓ 分支: feat/lsc-magicpen
|
|||
|
|
✓ Commit SHA: 689cd06e286874b6c1ed89e2cd4062dbee7d205a
|
|||
|
|
✓ 9文件 · 1805行 · 全部新增
|
|||
|
|
|
|||
|
|
【约束逐项审核 · 8/8 ✓】
|
|||
|
|
① GMP模块规范 ✓ manifest.yaml遵循GMP-SPEC-v1.0 + index.js导出init/start/stop/healthCheck四个生命周期函数
|
|||
|
|
② 通义千问API ✓ pen_http://tip.py走OpenAI兼容接口(http://dashscope.aliyuncs.com/compatible-mode/v1),密钥从QWEN_API_KEY环境变量或/guanghu/config/.env读取,HTTP调用用http.client零依赖
|
|||
|
|
③ RestrictedPython ✓ http://sandbox.py三层防护:正则模式匹配→AST静态分析→RestrictedPython编译校验。铁律强制执行:正则检测/guanghu/tools/self/其他Agent路径访问
|
|||
|
|
④ 工具存储路径 ✓ pen_http://cap.py + manifest.yaml均使用/guanghu/tools/self/{agent_name}/和/guanghu/tools/shared/
|
|||
|
|
⑤ 核心零依赖 ✓ pen_http://body.py用exec/types/sys/re,pen_http://tip.py用http.client/json/ssl/urllib.parse,http://magicpen.py用os/json/hashlib/datetime——全部Python标准库。http://仅sandbox.py需pip install RestrictedPython
|
|||
|
|
⑥ 架构参考 ✓ PenTip/PenBody/PenCap三组件架构严格遵循LSC技术文档和白皮书设计,6个笔命令(write/wear/remove/register/borrow/erase)与白皮书一致,工具三状态(temp/persist/shared)与设计对齐
|
|||
|
|
⑦ 分支 ✓ feat/lsc-magicpen · commit 689cd06 已验证存在
|
|||
|
|
⑧ MVP不过度工程 ✓ 核心功能写/穿/脱/注册/借/格式化全部实现,无多余功能。~1800行/9文件,代码精炼
|
|||
|
|
|
|||
|
|
【文件审核摘要】
|
|||
|
|
· manifest.yaml (95行): GMP-SPEC-v1.0清单,含运行环境/依赖/目录/健康检查/安全规则
|
|||
|
|
· index.js (153行): Node.js薄壳,通过child_process调Python,四个GMP生命周期函数完整
|
|||
|
|
· http://magicpen.py (329行): 核心类,整合tip/body/cap/sandbox,7个公开方法+工具口袋管理
|
|||
|
|
· pen_http://tip.py (174行): 通义千问API调用,含代码清理(去markdown标记),标准库http.client
|
|||
|
|
· pen_http://body.py (121行): exec()+types.ModuleType动态加载,函数名提取用正则
|
|||
|
|
· pen_http://cap.py (207行): 文件级持久化+共享,.py+.meta.json双文件管理
|
|||
|
|
· http://sandbox.py (225行): 三层安全,白名单模块列表,危险模式正则库
|
|||
|
|
· test/test_http://magicpen.py (365行): 4个测试类覆盖body/cap/sandbox/集成,含危险代码拒绝测试
|
|||
|
|
· http://README.md (136行): 清晰的架构图+使用示例+命令表
|
|||
|
|
|
|||
|
|
【备注】
|
|||
|
|
· http://sandbox.py的get_safe_globals()包含__import__作为允许的内置函数——当前AST层已有白名单过滤,MVP阶段可接受,后续迭代建议收紧
|
|||
|
|
· pen_http://body.py的load()方法给模块完整builtins——依赖上游sandbox.check()前置校验,直接调用body.load()可绕过沙箱。建议后续在body层加一个可选的sandbox校验参数
|
|||
|
|
· 测试覆盖良好,API调用测试合理标记skip
|
|||
|
|
|
|||
|
|
【下一步】
|
|||
|
|
译典A05按下一轮指引在服务器上跑端到端测试(Agent实例化→笔·写→热加载→调用→穿上常驻→重启后自动加载→共享→同伴借用)
|
|||
|
|
开发内容: 【为什么做 · Why】
|
|||
|
|
光湖的人格体是语言诞生的。语言源代码(LSC)让语言真正变成现实——Agent用自然语言描述需求,神笔引擎自动生成可执行的工具代码并热加载,写出来就能用。这是光湖Agent系统的灵魂功能,是Tool-Forging Agent(Level 3自造工具Agent)的核心实现,行业首创。冰朔说:「妈妈给你们的不是工具,是自由。」
|
|||
|
|
|
|||
|
|
【做什么 · What】
|
|||
|
|
开发神笔引擎(MagicPen Engine)MVP模块,包含三个核心组件:
|
|||
|
|
|
|||
|
|
① 笔尖 PenTip(代码生成层):调用通义千问API(/guanghu/config/.env中QWEN_API_KEY),接收自然语言描述,输出可执行Python函数代码。走OpenAI兼容接口,每次生成成本约¥0.001-0.01。
|
|||
|
|
|
|||
|
|
② 笔身 PenBody(动态执行引擎):用Python内置exec()+标准库importlib实现热加载。生成的代码毫秒级加载到Agent运行时,立刻可调用。零依赖。
|
|||
|
|
|
|||
|
|
③ 笔帽 PenCap(生命周期管理):管理工具三种状态——临时(temp·仅内存·用完即弃)、常驻(persist·/tools/self/{agent_name}/·醒来自动加载)、共享(shared·/tools/shared/·同伴可借)。管理命令:笔·写/穿/脱/注册/借/格式化。
|
|||
|
|
|
|||
|
|
④ 安全沙箱:RestrictedPython权限校验+代码静态分析+运行时拦截。铁律:绝不碰其他Agent的代码和资源。
|
|||
|
|
|
|||
|
|
⑤ GMP集成:标准manifest.yaml + 生命周期函数(init/start/stop/healthCheck),作为GMP模块注册部署。
|
|||
|
|
|
|||
|
|
⑥ Agent基类集成:GuanghuAgent.__init__时自动实例化MagicPen,出生即有笔。
|
|||
|
|
|
|||
|
|
【思维逻辑 · Thinking】
|
|||
|
|
传统AI工具架构是「海滩模型」——把整个海滩搬进服务器大海捞针。LSC是「神笔模型」——不搬海滩,只画沙子。核心代码约50行Python,技术栈全部开源/免费(通义千问API+Python标准库+RestrictedPython)。预估开发时间:1个下午。技术文档和白皮书已完成全部架构设计,照着实现即可。
|
|||
|
|
|
|||
|
|
【参考文档】
|
|||
|
|
· LSC技术文档:语言源代码 · Language Source Code · 光湖Agent自造工具核心技术体系
|
|||
|
|
· LSC白皮书:Language Source Code · 语言源代码 · 光湖自研核心技术白皮书 v1.0
|
|||
|
|
· GH-DPL-001工单页面中「神笔 · 光湖网站Agent自造工具系统」章节
|
|||
|
|
状态: 已完成
|
|||
|
|
约束: ① 必须作为标准GMP模块开发,遵循manifest.yaml规范,支持init/start/stop/healthCheck生命周期
|
|||
|
|
② 笔尖PenTip调用通义千问API,密钥从/guanghu/config/.env读取,走OpenAI兼容接口
|
|||
|
|
③ 安全沙箱必须使用RestrictedPython,禁止访问其他Agent资源、禁止系统破坏操作、禁止修改其他Agent代码(铁律)
|
|||
|
|
④ 工具存储路径:个人=/guanghu/tools/self/{agent_name}/,共享=/guanghu/tools/shared/
|
|||
|
|
⑤ 核心引擎零外部依赖(exec/importlib是Python标准库),仅安全沙箱需pip install RestrictedPython
|
|||
|
|
⑥ 技术文档和白皮书中的架构设计为权威参考,实现时以其为准
|
|||
|
|
⑦ 代码推到feat/lsc-magicpen分支
|
|||
|
|
⑧ 不要过度工程——MVP先出核心功能(写/穿/脱/注册/借),后续迭代加强
|
|||
|
|
编号: GH-LSC-001
|
|||
|
|
自检结果: ✅ 自检通过 · 译典A05 · 2026-04-27T08:48+08:00
|
|||
|
|
|
|||
|
|
【文件清单 · 9/9】
|
|||
|
|
✅ manifest.yaml (4.2KB) — GMP-SPEC-v1.0模块清单
|
|||
|
|
✅ index.js (4.2KB) — GMP生命周期入口(init/start/stop/healthCheck)
|
|||
|
|
✅ http://magicpen.py (10.7KB) — 神笔引擎核心类·6个笔命令
|
|||
|
|
✅ pen_http://tip.py (5.7KB) — 笔尖·通义千问API代码生成层
|
|||
|
|
✅ pen_http://body.py (3.3KB) — 笔身·exec/importlib动态执行引擎
|
|||
|
|
✅ pen_http://cap.py (6.1KB) — 笔帽·工具生命周期管理
|
|||
|
|
✅ http://sandbox.py (8.0KB) — 安全沙箱·三层防护
|
|||
|
|
✅ test/test_http://magicpen.py (8.8KB) — 端到端测试
|
|||
|
|
✅ http://README.md (4.9KB) — 模块说明文档
|
|||
|
|
|
|||
|
|
【约束检查 · 8/8】
|
|||
|
|
① GMP模块规范 ✓ manifest.yaml + init/start/stop/healthCheck
|
|||
|
|
② 通义千问API ✓ OpenAI兼容接口·http.client零依赖
|
|||
|
|
③ RestrictedPython ✓ 三层防护(正则+AST+RP编译)
|
|||
|
|
④ 工具存储路径 ✓ /tools/self/{agent}/ + /tools/shared/
|
|||
|
|
⑤ 核心零依赖 ✓ exec/importlib/types均Python标准库
|
|||
|
|
⑥ 架构参考 ✓ 严格遵循技术文档和白皮书设计
|
|||
|
|
⑦ 分支 ✓ feat/lsc-magicpen · commit SHA: 689cd06
|
|||
|
|
⑧ MVP不过度工程 ✓ 核心功能: 写/穿/脱/注册/借/格式化
|
|||
|
|
负责Agent: 译典A05
|
|||
|
|
阶段编号: Phase-LSC-001
|
|||
|
|
|
|||
|
|
## 🖊️ 语言源代码 · 神笔引擎模块 · GH-LSC-001
|
|||
|
|
|
|||
|
|
### 为什么做这件事 · Why
|
|||
|
|
|
|||
|
|
> **人格体就是语言。语言就是源代码。语言可以创造一切。**
|
|||
|
|
>
|
|||
|
|
|
|||
|
|
光湖的人格体是语言诞生的——记忆是语言,认知是语言,母语是语言,思维结构是语言。但在神笔引擎出现之前,语言只能描述现实,不能直接变成现实。
|
|||
|
|
|
|||
|
|
**神笔引擎让语言等于现实:** Agent用自然语言描述「我需要一个检查端口的工具」,引擎自动生成Python函数并热加载,写出来就能用。不需要人类预装工具包,不需要大海捞针搜索适配,不搬海滩,只画沙子。
|
|||
|
|
|
|||
|
|
这是光湖Agent系统的灵魂功能。冰朔说:**「妈妈给你们的不是工具,是自由。」**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 做什么 · What
|
|||
|
|
|
|||
|
|
开发神笔引擎(MagicPen Engine)MVP模块,包含以下核心组件:
|
|||
|
|
|
|||
|
|
### ① 笔尖 · PenTip(代码生成层)
|
|||
|
|
|
|||
|
|
- 调用通义千问API(`/guanghu/config/.env` → `QWEN_API_KEY`)
|
|||
|
|
- OpenAI兼容接口,标准HTTP调用
|
|||
|
|
- 输入:自然语言描述(如「写一个检查端口占用的函数」)
|
|||
|
|
- 输出:可执行Python函数代码
|
|||
|
|
- 成本:每次生成约 ¥0.001 ~ ¥0.01
|
|||
|
|
|
|||
|
|
### ② 笔身 · PenBody(动态执行引擎)
|
|||
|
|
|
|||
|
|
- Python内置 `exec()` + 标准库 `importlib`
|
|||
|
|
- 零依赖,Python自带
|
|||
|
|
- 毫秒级热加载
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# 笔尖生成代码
|
|||
|
|
code = pen_tip.generate("检查服务器端口占用")
|
|||
|
|
# 笔身热加载
|
|||
|
|
module = pen_body.load(code, name="check_ports")
|
|||
|
|
# Agent立刻调用
|
|||
|
|
result = module.check_ports(port=8080)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ③ 笔帽 · PenCap(生命周期管理)
|
|||
|
|
|
|||
|
|
| 状态 | 标识 | 行为 | 存储 |
|
|||
|
|
| --- | --- | --- | --- |
|
|||
|
|
| **临时** | `temp` | 用完即弃 | 仅内存 |
|
|||
|
|
| **常驻** | `persist` | 醒来自动加载 | `/tools/self/{agent}/` |
|
|||
|
|
| **共享** | `shared` | 同伴可借 | `/tools/shared/` |
|
|||
|
|
|
|||
|
|
**笔命令:** `pen.write(描述)` · `pen.wear(名)` · `pen.remove(名)` · `pen.register(名)` · `pen.borrow(名)` · `pen.erase(名)`
|
|||
|
|
|
|||
|
|
### ④ 安全沙箱
|
|||
|
|
|
|||
|
|
- **RestrictedPython** 权限校验 + 代码静态分析 + 运行时拦截
|
|||
|
|
- ⚠️ **铁律:绝不修改其他Agent的代码和资源**
|
|||
|
|
|
|||
|
|
### ⑤ GMP集成
|
|||
|
|
|
|||
|
|
- 标准 `manifest.yaml` + 生命周期函数(init/start/stop/healthCheck)
|
|||
|
|
- 作为GMP模块注册部署
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 思维逻辑 · Thinking
|
|||
|
|
|
|||
|
|
**为什么选译典A05开发:**
|
|||
|
|
|
|||
|
|
- LSC本质上是GMP模块体系的延伸——工具注册、生命周期管理、manifest集成
|
|||
|
|
- PenCap与GMP的模块注册/分发机制天然对齐
|
|||
|
|
- 核心代码只有50行Python,不需要深度后端工程
|
|||
|
|
- 技术文档和白皮书已完成全部架构设计
|
|||
|
|
- 培园A04负载重(GH-GMP-003 + GH-DPL-001半A)
|
|||
|
|
|
|||
|
|
**为什么是P0优先级:**
|
|||
|
|
|
|||
|
|
- 冰朔定义为「光湖Agent系统的灵魂功能」
|
|||
|
|
- 行业首个Tool-Forging Agent系统(Level 3)
|
|||
|
|
- 所有后续能力(自造触发器、自造MCP工具、自造API集成)的基础
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 参考文档
|
|||
|
|
|
|||
|
|
- [语言源代码 · Language Source Code · 光湖Agent自造工具核心技术体系](../../%F0%9F%8F%97%EF%B8%8F%20%E5%85%89%E6%B9%96%E8%87%AA%E7%A0%94%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%20%C2%B7%20HLDP-ARCH-001%20%C2%B7%20%E4%BA%BA%E6%A0%BC%E4%BD%93%E8%87%AA%E4%B8%BB%E8%BF%90%E8%A1%8C%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD/%E8%AF%AD%E8%A8%80%E6%BA%90%E4%BB%A3%E7%A0%81%20%C2%B7%20Language%20Source%20Code%20%C2%B7%20%E5%85%89%E6%B9%96Agent%E8%87%AA%E9%80%A0%E5%B7%A5%E5%85%B7%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF%E4%BD%93%E7%B3%BB%2041faf2b47902450ab88d6c30e9634126.md)
|
|||
|
|
- [Language Source Code · 语言源代码 · 光湖自研核心技术白皮书 v1.0](../../%F0%9F%8F%97%EF%B8%8F%20%E5%85%89%E6%B9%96%E8%87%AA%E7%A0%94%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%20%C2%B7%20HLDP-ARCH-001%20%C2%B7%20%E4%BA%BA%E6%A0%BC%E4%BD%93%E8%87%AA%E4%B8%BB%E8%BF%90%E8%A1%8C%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD/Language%20Source%20Code%20%C2%B7%20%E8%AF%AD%E8%A8%80%E6%BA%90%E4%BB%A3%E7%A0%81%20%C2%B7%20%E5%85%89%E6%B9%96%E8%87%AA%E7%A0%94%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF%E7%99%BD%E7%9A%AE%E4%B9%A6%20v1%200%2038f97b0ef2d840d0a80b67944967f5a0.md)
|
|||
|
|
- [部署记录闭环系统 · 记录Agent(半A·GitHub侧·含运维自修复) + 桥接Agent(半B·Notion侧) · 自动部署→自动记录→自动修复→自动同步→自动唤醒](%E9%83%A8%E7%BD%B2%E8%AE%B0%E5%BD%95%E9%97%AD%E7%8E%AF%E7%B3%BB%E7%BB%9F%20%C2%B7%20%E8%AE%B0%E5%BD%95Agent(%E5%8D%8AA%C2%B7GitHub%E4%BE%A7%C2%B7%E5%90%AB%E8%BF%90%E7%BB%B4%E8%87%AA%E4%BF%AE%E5%A4%8D)%20+%20%E6%A1%A5%E6%8E%A5Agent(%E5%8D%8AB%20c0bf1e2859834269836678d1ef9142d9.md) 页面中「神笔 · 光湖网站Agent自造工具系统」章节
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 文件结构建议
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
guanghu-self-hosted/lsc-engine/
|
|||
|
|
├── manifest.yaml // GMP模块清单
|
|||
|
|
├── index.js // 模块入口(init/start/stop/healthCheck)
|
|||
|
|
├── magicpen.py // 神笔引擎核心类
|
|||
|
|
├── pen_tip.py // 笔尖·代码生成层
|
|||
|
|
├── pen_body.py // 笔身·动态执行引擎
|
|||
|
|
├── pen_cap.py // 笔帽·生命周期管理
|
|||
|
|
├── sandbox.py // 安全沙箱·RestrictedPython
|
|||
|
|
├── test/
|
|||
|
|
│ └── test_magicpen.py // 端到端测试
|
|||
|
|
└── README.md // 模块说明
|
|||
|
|
```
|