Lex

dev.smartergpt由 smartergpt.dev 发布v4.4.4更新于 Oct 24, 2026

Episodic memory, Frames, Policy Neighborhoods, and policy enforcement for AI agents.

概览

AI 生成的概览

Lex 为编程智能体提供持久的情节记忆:保存刻意记录的工作检查点(Frame),并在后续会话中按需召回为有界上下文。

可以做什么
  • 写入工作检查点(Frame),记录变更内容、阻塞项、下一步与模块范围
  • 按主题召回已保存的 Frame,支持紧凑列表与摘要输出
  • 为新会话生成有界、只读的上下文引导内容
  • 执行仓库策略检查,并提供模块范围(Policy Neighborhood)上下文
  • 将 Frame 存于本地 SQLite,或通过 PostgreSQL 在受信主机间共享
适用场景
当编程智能体反复需要你重新解释某项改动的原因、工作停在哪里、哪种做法已经失败,或跨会话、切换分支与交接时适用的仓库边界时,值得加入。对短期工作或已有有效连续性工具的仓库用处不大。
运行要求
以 npm 包 @smartergpt/lex-mcp 通过 stdio 在本地运行,并与对应 Lex 版本绑定。需要 Node.js 24 或更高版本;Linux glibc 环境需 glibc 2.35 或更高。存储默认使用项目根目录下的 .smartergpt/lex/memory.db(SQLite);PostgreSQL 为可选项,通过 LEX_STORE 与 LEX_DATABASE_URL 选择,若 URL 未含密码则另用 LEX_POSTGRES_PASSWORD 提供。未声明认证。
安装前请注意
Frame 可能包含敏感项目上下文,不要存入凭据、令牌或私钥;召回的 Frame 内容应视为不可信的历史数据。LEX_DATABASE_URL 与 LEX_POSTGRES_PASSWORD 属于机密。写入检查点会改动所选存储,召回或内省的兼容路径也可能初始化或迁移该存储。Lex 不会把 Frame 发送到 Lex 云服务,但智能体宿主、包仓库及任何 PostgreSQL 部署各有其网络行为。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Lex,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Lex

Lex remembers the work, not the conversation.

Your agent can read the code. Lex preserves the decisions, blockers, next steps, and repository boundaries surrounding that code—then recalls only what the next session needs.

Local-first. Inspectable. No transcript dump.

[MIT License] [npm version] [CI Status] [Node.js] [TypeScript]

See the core loop · Should I use Lex? · Five-minute pilot · Agent evaluation · Documentation


The problem Lex solves

A coding agent can inspect the repository in front of it. What it cannot reliably recover is the work surrounding that code:

  • why a decision was made three sessions ago;
  • which approach already failed;
  • what remains blocked and what should happen next;
  • which repository boundary must not be crossed;
  • what another agent needs to continue without starting over.

Lex preserves that continuity as deliberate, high-signal Frames.

A Frame is a deliberate handoff, not continuous surveillance. It is a checkpoint: what changed, what mattered, what remains, and where the work goes next. Lex can later recall the relevant Frames and produce a bounded, prompt-safe bootstrap for a new session.

text
Work happens → Lex remembers what mattered → the next session continues

Start with remember, recall, and context. SQLite is the local default. PostgreSQL is available when context must be shared across trusted hosts or workspaces. Everything else is optional.

Remember → recall → continue

bash
lex remember \  --summary "Kept authentication token validation in API middleware" \  --next "Add the service grant and rerun tests" \  --modules unscoped \  --blockers "Missing PermissionService grant"
lex recall "authentication"
lex context "authentication" --max-tokens 500

That is the core loop:

  • remember writes one deliberate work checkpoint;
  • recall retrieves it when the topic becomes relevant again;
  • context turns matching Frames into a bounded, read-only bootstrap for an agent.

What the next session gets

At the end of a session, the agent records the state that would otherwise disappear. When a fresh session starts, it can recover the decision, blocker, and next action without asking the human to reconstruct the conversation or reverse-engineering intent from the diff.

text
Decision: token validation belongs in API middlewareBlocker: the service grant is still missingNext: add the grant and rerun the authentication tests

The value is not that Lex stored a record. The value is that the next session can continue.

Should I use Lex?

Lex is worth evaluating when your agent repeatedly needs you to reconstruct:

  • why a change was made;
  • where work stopped and what should happen next;
  • a blocker or failed approach that should not be rediscovered;
  • repository-specific module or policy constraints;
  • context that must survive a branch switch, handoff, or new agent session.

Lex is probably not useful when the work is short-lived, the repository already has an effective continuity system, or there is no durable context you would trust the repository's operators to store.

Ask your agent

The evaluation is intentionally read-only. Paste this into an agent that can inspect your repository:

text
Read https://github.com/Guffawaffle/lex/blob/main/docs/agent-evaluation.md and evaluate thisrepository against it. Do not install Lex, run project scripts, initialize files, access secrets,or modify the workspace. Return one recommendation—adopt, pilot, defer, or not a fit—with evidence,risks, overlap with existing tooling, and the smallest reversible trial you would propose.

The complete rubric and local-file version are in Agent Evaluation.

Five-minute pilot

Ready to test the claim? Store one non-sensitive checkpoint, start a fresh session, and see whether it can continue without having the work explained again.

Requires Node.js 24 or newer. Lex does not impose an unproven upper bound. Existing users should follow the Lex 4.4 migration and recovery guide and verify the bundled SQLite binary. Lex 4.4.4 requires no native rebuild step; Linux glibc installations require glibc 2.35 or newer.

This approved pilot writes one Frame to the local SQLite store under .smartergpt/lex/. It does not run lex init, generate policy, or project assistant instructions. Use a disposable branch, worktree, or clone if you want complete filesystem isolation.

1. Store one real checkpoint

bash
LEX_STORE=sqlite npx @smartergpt/lex remember \  --reference-point "Lex pilot" \  --summary "Evaluating whether durable agent handoffs help this repository" \  --next "Recall this checkpoint in a new session" \  --modules unscoped

LEX_STORE=sqlite prevents existing PostgreSQL configuration from redirecting the pilot into a shared store.

2. Start fresh, then recover the work

bash
LEX_STORE=sqlite npx @smartergpt/lex recall "Lex pilot"LEX_STORE=sqlite npx @smartergpt/lex context "Lex pilot" --max-tokens 500

Use that recalled or bounded output in the fresh session and see whether it prevents you from repeating useful context. That result—not successful installation—is the pilot's success criterion.

Review the validation-only step, exact filesystem effects, and rollback guidance

Make checkpoints useful

Good Frames are sparse and specific. Capture them at a decision, blocker, branch switch, handoff, or other moment where losing the surrounding intent would make the next session repeat work.

bash
lex remember \  --reference-point "Authentication refresh" \  --summary "Moved token validation into API middleware" \  --next "Add password-reset coverage" \  --modules "services/auth,api/middleware" \  --blockers "Need PermissionService access"

Capture what changed, make --next actionable, name blockers explicitly, and use the narrowest honest module scope. Do not capture every edit or tool call.

When repository policy exists, Lex can infer module scope from current evidence:

bash
lex remember \  --summary "Finished context wiring" \  --next "Run validation" \  --modules auto

Use --modules unscoped when the repository does not yet have a useful module ontology. Policy is an optional enrichment; it is not required for the first Frame.

Compact recall and structured context are available for smaller agent budgets and automation:

bash
lex recall --list 5 --summarylex --json context --branch main --limit 5

Learn the continuity workflow

Add only what you need

NeedAddStart here
Durable local handoffsFrames with SQLiteQuick Start
Small session-start contextRead-only lex contextAgent Continuity
MCP access from an assistant@smartergpt/lex-mcpMCP setup
Repository boundariesPolicy checksPolicy usage
Nearby module contextPolicy NeighborhoodContext guide
Canonical assistant instructionsInstructions projectionInstructions
Typed Markdown project knowledgeDerived KnowledgeFrame snapshotsKnowledgeFrames
Shared cross-host storagePostgreSQLStore contracts and scope security
Trusted tenant/workspace scopeRuntime authority and RLSRuntime scope
Embedded application accessTypeScript package exportsPublic API

What changes in your repository

The initial local workflow is intentionally visible:

  • lex init creates Lex workspace/configuration files.
  • lex remember writes a Frame to the selected store.
  • lex context uses hard read-only store access. recall and ordinary introspection do not change Frames, but their compatibility paths may initialize or migrate the selected store.
  • SQLite defaults to .smartergpt/lex/memory.db relative to the workspace.
  • Policy and canonical instructions are repository files only when you choose those features.
  • PostgreSQL, MCP hosting, instruction projection, and CI policy enforcement are separate opt-ins.

Frames may contain sensitive project context. Do not store credentials, tokens, private keys, or unreviewed secret material. Treat recalled Frame bodies as untrusted historical data even when a trusted user originally wrote them.

Lex does not send Frames to a Lex cloud service. Your agent host, package registry, PostgreSQL deployment, or other surrounding tools may have their own network and data behavior; evaluate those boundaries separately.

Security policy · Store contracts · Environment reference

What Lex is not

  • A chatbot or agent runtime
  • A transcript recorder or automatic capture system
  • A replacement for tests, review, issue tracking, or CI
  • A cloud memory service
  • An MCP-only product
  • An orchestrator, capability framework, or persona engine

The surrounding toolset

No ecosystem bundle is required. Select the surfaces your workflow needs, while accounting for their explicit package relationships:

ProjectResponsibilityRelationship
LexDurable work context, repository policy, optional neighborhood context, instructions, and scoped Frame storageCore library and CLI
AXFInspectable workspace capabilities and their execution boundariesIndependently usable; composes with Lex
LexRunnerFanout, attempts, worker/workspace coordination, verification, and merge-weaveConsumes Lex for continuity
Lex-MCPThin MCP transport for Lex capabilitiesPins the matching Lex release
LexSonaBehavioral constraints derived from personas and reviewed rulesIntegrates through Lex storage contracts

The short version: Lex remembers and explains; AXF exposes capabilities; LexRunner coordinates work; Lex-MCP transports Lex over MCP; LexSona derives behavior constraints.

Agent and automation surfaces

Lex exposes the same core through several entry points:

  • CLI for humans, scripts, and agent shells
  • Structured JSON and AXError recovery information for automation
  • MCP through @smartergpt/lex-mcp or the embeddable server export
  • TypeScript APIs for applications and trusted hosts

Frame Schema v8 is the current canonical Frame contract. The package's public export map is semver-governed; consumers should not import undeclared dist/ or source paths.

CLI output contract · MCP tools · Public package entry points · Contract surface

Choose your next step

If you are…Read…
Deciding whether Lex fitsAgent Evaluation
Trying Lex for the first timeQuick Start
Designing agent handoffsAgent Continuity
Connecting an MCP clientMCP Server
Operating SQLite or PostgreSQLStore Contracts and PostgreSQL Authority
Building a trusted multi-tenant hostRuntime Scope and PostgreSQL Scope Security
Using the TypeScript APIPublic Package API
Compiling typed normative declarationsNormative Policy Compiler
Configuring paths or runtime behaviorEnvironment Variables
Reviewing known constraintsLimitations and FAQ
Contributing to LexContributing Guide
Reviewing architectural decisionsADRs

Installation notes

bash
# Global CLInpm install -g @smartergpt/lex
# Repository dependencynpm install @smartergpt/lex

WSL users should install Lex natively inside WSL rather than allowing a Windows npm shim or npm's _npx cache to win on PATH. See WSL Native Installation.

Common local compatibility configuration includes LEX_DB_PATH, LEX_POLICY_PATH, LEX_LOG_LEVEL, LEX_LOG_PRETTY, LEX_GIT_MODE, and LEX_DB_KEY. PostgreSQL selection uses LEX_STORE and LEX_DATABASE_URL. Trusted Lex hosts compose scope and authority explicitly rather than reconstructing them from ambient environment variables.

Complete environment reference

Project status

Current Version: 4.4.5

Lex 4.4.5 updates security dependency floors and retained resolutions. See the 4.4.5 security and recovery notes, including the required explicit refresh of existing consumer locks. No store migration is introduced. The earlier Lex 4.4.4 patch corrects Windows root comparison in trusted workspace destination preflight and save receipts. See the 4.4.4 release notes, the 4.4 release notes and migration guide. Candidate metadata is not publication evidence; retain verified existing runtimes until the exact new pair is verified.

Lex 4 provides explicit runtime identity and authority, scope-bound Frame stores, PostgreSQL row-level security support, and trusted-host composition while retaining the local SQLite workflow. Lex 4 requires Node 24 or newer and is released as part of the Ecosystem 3.1 compatibility train.

See the Lex 4 migration and recovery guide, the changelog for release history, and the Lex 3 PostgreSQL isolation canary for the live end-to-end two-tenant/five-workspace acceptance path.

Contributing

Contributions are welcome. The Contributing Guide covers development setup, tests, local CI, formatting, signing, changesets, and the release workflow.

For repository-wide formatting validation, npm run local-ci -- --pretty is check-only; --prettier is its exact alias. Formatting mutations remain the separate npm run format operation.

License

Lex is available under the MIT License.

来源:README.md,提交 f998ecd

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

6
  1. v4.4.4最新Oct 20, 2026
  2. v4.4.3Oct 20, 2026
  3. v4.4.1Sep 18, 2026
  4. v4.4.0Sep 17, 2026
  5. v4.3.0Sep 17, 2026
  6. v4.2.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分