MindScript:MindsEye 的语言层(Ledger-First Automation、Domain Dialects 和 Searchable Memory)
Source: Dev.to
MindsEye 是自动化引擎。
MindScript 是为其提供可用“语音”的语言层。
如果 MindsEye 是神经系统,MindScript 就是 意图语法——一种结构化描述应当发生何事的方式,具备护栏、来源追溯以及领域特定词汇。
本文将 MindScript 介绍为:
- 一个 可编程提示语言(是的,提示语言——但具备结构)
- 一个 账本优先执行模型(可追溯性是默认,而非可选)
- 一个 多领域方言系统(每个自动化都可以拥有自己的“公司本土语言”)
- 一个 可搜索记忆层(跨模板、账本、运行时输出的语义检索)
Repo Index (Core + Demos)
MindScript 层
- mindscript-core
- mindscript-templates
- mindscript-ledger
- mindscript-runtime
- mindscript-search
- mindscript-demos
MindsEye 层(精选)
- mindseye-workspace-automation
- mindseye-google-ledger
- mindseye-google-workflows
- minds-eye-core
- minds-eye-search-engine
- minds-eye-dashboard
- minds-eye-automations
1) MindScript 带来了什么(以及它为何重要)
大多数自动化栈要么是:
- GUI‑first(类似 Zapier)且难以进行版本控制,或
- code‑first(自定义脚本)且难以作为活的系统来运营。
MindScript 处于两者之间:
- ✅ 声明式、可由人编写
- ✅ 结构化到可以编译的程度
- ✅ 足够安全以供审计
- ✅ 足够灵活以便演进
核心理念
自动化共享同一运行时 + 账本,但每个自动化都有自己的语言表层。
因此你可以拥有财务、招聘、合规和客户支持等方言——全部运行在同一个内核上。
2) MindsEye + MindScript 架构(账本优先、方言驱动)
思维模型
- MindScript → 编译成 阶段
- 阶段 → 由领域自动化执行
- 每个阶段 → 写入一条账本记录
- 账本 → 可搜索记忆(语义 + 结构化搜索)
图示:端到端流程
flowchart TD
A[Human Intent] --> B[MindScript Text]
B --> C[Compiler / Parser]
C --> D[Stages: typed + constrained]
D --> E[Runtime Executor]
E --> F[Ledger Append]
F --> G[Search Index]
G --> H[Recall + Reuse + Replay]
关键点
账本即真相。
它记录了实际写入的内容——带时间戳、标签且可复现——而不是代理声称发生的事情。
3) 一个最小的 MindScript 示例
ledger(debit:AR, amount:1200 USD)
search{domain:docs, query:"ledger best practices", top_k:5}
task build-report uses analytics after search
metric coverage = agg(count(unique(accounts)))
这段脚本混合了:
- 财务记账
- 语义搜索
- 编排
- 分析
…却没有变成意大利面条,因为 方言防止了混乱。
4) 背后的代码结构(我们实际在构建的东西)
模式:
Dialect → Automation → Shared Runtime → Ledger Entry → Searchable Memory
架构草图(Python)
# docs/mindseye_architecture.py (concept sketch)
# Immutable LedgerEntry
# Dialects validate + parse
# Automations execute stages
# Runtime remains domain‑agnostic
# NOTE: this is an architectural reference. Implementation lives across the repos.
图示:内核 vs. 领域
flowchart LR
subgraph Kernel[MindsEye Kernel]
R[Runtime Executor]
L[Ledger]
S[Search Index]
end
subgraph Domains[Domain Automations]
F[Finance Dialect + Automation]
O[Orchestration Dialect + Automation]
A[Analytics Dialect + Automation]
Q[Search Dialect + Automation]
end
F --> R
O --> R
A --> R
Q --> R
R --> L --> S
S --> R
内核保持稳定;领域可以快速演进。这就是全部意义所在。
5) Codex 提示(用于在扩展中生成系统)
提示 1 — 构建 MindScript 编译器 + 阶段模型
目标: 将 MindScript 解析为带类型的阶段,并检测歧义。
生成一个 Python 包 mindscript_core,实现:
Stage,Program,LedgerEntry(不可变负载 + 标签)compile_mindscript(source: str, registry),逐行解析,将每行匹配到恰好一个自动化方言,若出现歧义则抛出异常,并在program.automations列表中保存
包含单元测试,验证:
- 财务行仅匹配财务方言
- 搜索行仅匹配搜索方言
- 歧义行会抛出
提供整洁的文件夹结构、pyproject.toml 与测试。
提示 2 — 构建插件注册表 + 方言版本系统
目标: 自动化插件注册方言;方言血统得以保留。
生成 Python 模块,实现:
DialectRegistry,支持同一方言名称的多个版本、活动版本指针,以及evolve()方法用于在不删除旧版本的情况下注册新版本AutomationRegistry,用于注册AutomationPlugin并确保方言可被发现
添加 dialect_lineage_example(),演示方言从 v1 → v2 演进,而运行时仍能验证旧程序。包含类型提示和测试。
提示 3 — 构建账本优先运行时 + 回放引擎
目标: 所有操作都写入账本;可以确定性回放。
生成运行时引擎包 mindscript_runtime,包括:
ExecutionContext,包含账本列表、共享内存字典以及递归深度安全限制run(program),通过方言验证、通过自动化执行,并记录账本条目replay(ledger_entries),重建状态,检查账本顺序和完整性
提供一个演示:运行程序后再回放。
提示 4 — 构建 mindscript-search 索引用于“时间回忆”
目标: 索引模板、账本、运行时输出;快速检索。
生成名为 mindscript_search 的服务,包含:
- CLI 与最小化 API
- 对源模板、账本条目和运行时输出的索引
- 支持语义和时间查询
(实现细节此处略。)