跳到内容
Lenso
简体中文
Esc
导航打开⌘J预览
本页内容

使用 Agent 开发 Lenso

安装 Lenso 的六个开发 Skill,把工作路由到正确所有者,并驱动 Coding Agent 从源码检查走到可观察交付。

当你准备让 Coding Agent 构建或修改 Lenso 时,应从这里开始。六个 Lenso Skill 为产品规划、Capability Contract、Plugin 行为、App 配置与 Host 机制提供有顺序的 工作流。它们不会替代仓库源码、--help、测试和人工审查;它们负责告诉 Agent 应该检查什么,以及什么状态才算真正完成。

完成本指南后,你可以向 Agent 提交一个具体请求,让它选择正确的所有者工作流, 并要求它返回可检查的实现与交付报告。

1. 安装 Skill Pack

先检查公开 Catalog:

npx skills add LioRael/lenso --list

为安装器检测到的项目 Agent 安装全部六个 Skill:

npx skills add LioRael/lenso --all

以用户级方式安装到 Codex:

npx skills add LioRael/lenso \
  --skill '*' \
  --agent codex \
  --global \
  --yes

规范来源是 Lenso Skill Pack。 安装副本是派生制品,之后可通过 npx skills update 刷新。

当 Agent 能看到以下准确名称时,安装才算完成:

lenso-start
lenso-business-planning
lenso-capability-authoring
lenso-plugin-authoring
lenso-app-configuration
lenso-runtime-extension

如果出现的是 lenso-app-composition,而不是 lenso-app-configuration,说明安装的 Skill Pack 已经过期。先完成更新,再让 Agent 修改 App。

2. 从一个有边界的请求开始

向 Agent 提供四类输入:

输入 应该说明什么 为什么重要
结果 完成后人或另一个 Plugin 可以做什么 避免只输出架构描述
权威来源 已知的仓库、Package、Host 与现有 Contract 让源码选择保持显式
约束 语言、Target、兼容性、安全和允许的交付动作 防止扩大范围
完成条件 行为、真实失败、移除、检查与交付状态 防止过早结束

复制以下模板并替换方括号:

使用 $lenso-start 路由并完成这个 Lenso 任务。

结果:[一个用户或 Plugin 可观察的结果]
权威来源:[仓库、Package、Host、Capability,未知时明确写未知]
约束:[语言、Target、兼容性、安全与交付范围]
完成条件:
- [必须实际运行的成功行为]
- [必须保持可区分的真实失败]
- [适用时的配置、生命周期或移除证据]
- [要求的检查以及 Commit/PR/Merge 状态]

编辑前先报告所选主工作流、所有者仓库、当前源码 API,以及任何缺失前置条件。
除非缺失条件会实质改变请求的产品结果,否则报告后继续完成任务。

最后一段提供了早期审查点,同时不会让 Agent 因普通实现选择而停下来等待。

3. 让 lenso-start 路由工作

当前所有权问题只选择一个主工作流:

请求结果 主 Skill 完成边界
把模糊结果变成纵向产品行为 lenso-business-planning Plugin Card、显式 Capability Edge 与一个 Tracer Slice
定义或演进跨 Plugin 角色 lenso-capability-authoring Descriptor、Schema、生成 Binding、兼容性与 Freshness 证据
实现可移除行为 lenso-plugin-authoring Plugin Contract、受支持实现、真实 Consumer Path 与移除证据
在一个 App 中配置 Package 与 Instance lenso-app-configuration 已审查的 plugins/ 差异、Derived App、行为与移除证据
添加调度、进程、传输、Endpoint 或 Host 机制 lenso-runtime-extension 狭窄的 Driver、Adapter、Runner 或 Generation 改动及 Conformance、Host 证据
判断上述哪一行持有请求 lenso-start 一个主工作流与一个可检查完成状态

一个 Feature 可以跨越多行。Agent 应先完成一个所有者边界,再交给下一个工作流。 例如,一个新 Web API 可能需要业务 Plugin、HTTP Endpoint Provider 与 App 配置; 这不意味着三者必须放进同一个 Package。

Kernel 语义不是常规的第七工作流。图校验、生命周期、准入、调用、Readiness、监督 或诊断变更,需要对应 Architecture Decision 与 Portable Conformance 证据。

4. 实现前必须检查源码

Agent 应按以下顺序检查:

  1. 仓库说明与 Dirty Worktree;
  2. Package Manifest、Lock 与确定的依赖版本;
  3. Capability Source 和生成的 Provider/Client Projection;
  4. 现有 Plugin Descriptor、Factory、Entrypoint 与 Host Registration;
  5. App 的 Host Catalog 与可见 plugins/ 差异;
  6. 能证明受影响路径的仓库 CI 或本地命令。

只有方案中的每个 API 和命令都来自当前源码或已安装的 --help,这一步才算完成。 ADR 可以解释意图,但不能证明 Package、命令、Scaffold 或远程服务已经交付。

第一次编辑前要求一份简短 Routing Report:

现在返回 Routing Report:
- 主 Skill;
- 所有者与删除边界;
- 当前源码文件与 Package 版本;
- 提供和依赖的 Capability;
- App/Host 改动;
- 第一个成功、真实失败与移除证据;
- 未支持或缺失的前置条件。

5. 为实际任务选择 Prompt

增加一个 Plugin 行为

使用 $lenso-plugin-authoring,以 Rust 添加 company.uppercase,作为一个可移除的
Agent Tool Plugin。

使用当前 CLI Scaffold 和已安装的 --help。所有打包实现必须共享一个 Plugin
Contract。实际运行成功的大写转换与无效参数,打包受支持实现,把 Bundle 安装到
维护中的 Agent Host,通过真实 Agent Turn 调用它,然后移除并重新解析 App。
报告准确路径与命令。

对应的人工教程见为 Agent 添加一个 Tool

配置已有 App

使用 $lenso-app-configuration,只修改这个 App 可见的 plugins/ 差异。

结果:review Profile 使用 semantic Session presentation Instance。先检查准确的
Host Catalog 与当前 Derived App。添加最小 Instance TOML 与 Profile Selection,
Secret 值保持外部化,运行 app show 与 app check,实际启动一个新 Session,然后
移除该差异,证明 Host Default 再次可见。

文件和发布模型见配置 Plugin配置 Agent

构建 Web 后端

使用 $lenso-start,然后使用选中的 Plugin 与 App 工作流,添加一个 JSON Web 后端:
POST /greetings 与 GET /greetings/{greeting_id}。

使用当前 lenso.http.endpoint@1 Authoring API,以及现有 Host 已链接的 Web Ingress。
Route 形态留在 HTTP Endpoint Provider,Transport Limit 留在 Ingress 配置;在 Handler
运行前拒绝无效 JSON;通过真实 Socket 证明 201、200、400、404 与 405;并证明
Route Collision 会阻止 Readiness。如果已安装 CLI 没有 Web Scaffold,不要发明一个。

完整人工步骤与当前兼容边界见开发 Web 后端

增加 Host 机制

使用 $lenso-runtime-extension 添加缺失的 Host 机制。

说明为什么现有 Driver、Execution Adapter、Runner 或 Plugin 都不能持有该结果。
除非不变量本身是 Portable 的,否则保持 Kernel 不变。增加 Conformance、真实 Host
Boundary 证据、Cancellation 与 Shutdown 行为,并报告哪些产品 Plugin 现在可以使用
这个机制。

6. 控制 Agent 可以交付到哪里

明确允许的交付级别:

级别 Agent 在哪里停止
调查 基于源码的结论与建议所有者边界;不修改产品文件
实现 Working Tree 改动与相称检查;不 Commit,不外部发布
交付 请求的 Commit、PR、Required Checks、Merge 验证与安全清理

“Review”或“Explain”不授权创建 PR。“Implement”不意味着发布 Package。要求交付时, 明确仓库以及是否必须在 Merge 前停止。

7. 审查所有权边界,而不是活动日志

路由完成后

  • 主 Skill,以及它为什么持有下一个决定;
  • 所有者仓库与删除边界;
  • 准确的当前 API、命令与 Package 证据;
  • 会改变请求结果的缺失前置条件。

实现完成后

  • 修改的制品路径与生成文件 Freshness;
  • 成功、Domain Error、Runtime/Startup Failure 与 Lifecycle 证据;
  • 真实 Consumer-to-Provider 或 Host Boundary 执行;
  • 配置与 Resolved Plan 的影响;
  • 可选行为的移除证据。

交付完成后

  • Commit 与远程 Branch;
  • PR 与 Required Checks;
  • Merge Commit 或远程 Tree 证据;
  • 有意保留、未被清理的 Dirty 或 Unmerged 工作。

架构词汇、文件数量,以及不含准确命令的“测试已通过”,都不是完成证据。

8. Agent 方向错误时如何纠正

使用聚焦纠正,不必重新开始整个任务:

暂停实现并重新运行 $lenso-start。

当前方向似乎把 [行为] 放进了 [错误所有者]。重新检查 Plugin 删除边界、Capability
Source、Host Catalog 与现有 Adapter。继续前先返回纠正后的主工作流与最小可逆切片。

常见纠正方式:

症状 纠正方式
Agent 为普通产品行为提出 Kernel 改动 路由到 Plugin Authoring
Agent 手写 Binding 路由到 Capability Authoring 并重新生成
Agent 在 App 文件中选择实现 保持 Host Policy 权威;App Configuration 只持有可见差异
Agent 把检查本身当成功能 重申可观察结果,把检查保留为完成证据
Agent 声称存在未交付的远程服务或 Scaffold 要求 Package Source、已安装 --help 或可执行 Owner Example

当 Agent 能识别正确所有者、完成最小的源码支撑改动、通过真实 Consumer 运行结果, 并返回足够信息让另一个开发者重跑或审查时,这条工作流才算成功。

最后更新于 2026年9月6日

这个页面有帮助吗?