Compare commits
5 Commits
main
...
4ed8287c2a
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ed8287c2a | |||
| 014a985814 | |||
| 3b59e34eb5 | |||
| 609563c73e | |||
| 8e99285633 |
77
TASKLIST.md
77
TASKLIST.md
@@ -56,6 +56,9 @@
|
||||
## Phase 1 — 协议落地与共享契约
|
||||
|
||||
### YNX-0101 固化 builtin 协议信封与类型枚举
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 把 `PROTOCOL.md` 里的 builtin envelope 转成共享 TypeScript 类型
|
||||
|
||||
@@ -72,9 +75,17 @@
|
||||
- Server / Client 都能直接复用类型
|
||||
- 所有 builtin 消息都可被类型系统约束
|
||||
|
||||
**已完成内容**
|
||||
- 已在 `Yonexus.Protocol/src/types.ts` 落地 `BuiltinEnvelope`、builtin `type` 联合类型、各类 payload 接口与 `BuiltinPayloadMap`
|
||||
- 已增加 `Yonexus.Protocol/src/index.ts` 作为导出入口
|
||||
- 已同步更新 `Yonexus.Protocol/README.md`,让共享类型入口不再停留在 planned 状态
|
||||
|
||||
---
|
||||
|
||||
### YNX-0102 实现协议编解码工具
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 提供统一的字符串协议解析与序列化能力
|
||||
|
||||
@@ -89,6 +100,13 @@
|
||||
- `builtin::{json}` 可稳定双向转换
|
||||
- `rule::content` 和 `rule::sender::content` 都能正确解析
|
||||
|
||||
**已完成内容**
|
||||
- 已新增 `Yonexus.Protocol/src/codec.ts`
|
||||
- 已实现 `encodeBuiltin` / `decodeBuiltin` 及类型安全的 envelope builders
|
||||
- 已实现 `parseRuleMessage` / `parseRewrittenRuleMessage` / `encodeRuleMessage` / `encodeRewrittenRuleMessage`
|
||||
- 已提供 `CodecError` 标准错误类及辅助函数 `isBuiltinMessage`
|
||||
- 已更新 `Yonexus.Protocol/src/index.ts` 导出 codec 模块
|
||||
|
||||
---
|
||||
|
||||
### YNX-0103 定义协议错误码与错误对象
|
||||
@@ -124,15 +142,18 @@
|
||||
## Phase 2 — Server 插件脚手架
|
||||
|
||||
### YNX-0201 创建 Yonexus.Server 最小插件骨架
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 让 Server 插件可被 OpenClaw 加载
|
||||
|
||||
**子任务**
|
||||
- 创建插件目录结构
|
||||
- 创建 `package.json`
|
||||
- 创建 `openclaw.plugin.json`
|
||||
- 创建入口文件 `index.ts`
|
||||
- 添加基础构建配置
|
||||
**已完成内容**
|
||||
- 已补齐 `plugin/`、`servers/`、`skills/`、`scripts/` 目录骨架
|
||||
- 已创建 `package.json`、`tsconfig.json`
|
||||
- 已写入 `plugin/openclaw.plugin.json`
|
||||
- 已补齐 wiring-only `plugin/index.ts`
|
||||
- 已补齐最小 `scripts/install.mjs`
|
||||
|
||||
**验收标准**
|
||||
- 插件能被识别
|
||||
@@ -141,6 +162,9 @@
|
||||
---
|
||||
|
||||
### YNX-0202 定义 Yonexus.Server 配置 schema
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 让 Server 配置在启动前就能被校验
|
||||
|
||||
@@ -156,6 +180,12 @@
|
||||
- 缺字段和非法字段会 fail fast
|
||||
- 错误信息足够定位问题
|
||||
|
||||
**已完成内容**
|
||||
- 已新增 `Yonexus.Server/plugin/core/config.ts`
|
||||
- 已实现 `validateYonexusServerConfig()` 与 `YonexusServerConfigError`
|
||||
- 已覆盖 `followerIdentifiers`、`notifyBotToken`、`adminUserId`、`listenPort`、`listenHost`、`publicWsUrl` 的基础约束与默认值处理
|
||||
- 已从 `plugin/index.ts` 导出配置类型与校验入口,方便后续 lifecycle wiring 复用
|
||||
|
||||
---
|
||||
|
||||
### YNX-0203 实现 Server 生命周期 wiring
|
||||
@@ -178,15 +208,18 @@
|
||||
## Phase 3 — Client 插件脚手架
|
||||
|
||||
### YNX-0301 创建 Yonexus.Client 最小插件骨架
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 让 Client 插件可被 OpenClaw 加载
|
||||
|
||||
**子任务**
|
||||
- 创建插件目录结构
|
||||
- 创建 `package.json`
|
||||
- 创建 `openclaw.plugin.json`
|
||||
- 创建入口文件 `index.ts`
|
||||
- 添加基础构建配置
|
||||
**已完成内容**
|
||||
- 已补齐 `plugin/`、`servers/`、`skills/`、`scripts/` 目录骨架
|
||||
- 已创建 `package.json`、`tsconfig.json`
|
||||
- 已写入 `plugin/openclaw.plugin.json`
|
||||
- 已补齐 wiring-only `plugin/index.ts`
|
||||
- 已补齐最小 `scripts/install.mjs`
|
||||
|
||||
**验收标准**
|
||||
- 插件能被识别并加载
|
||||
@@ -194,6 +227,9 @@
|
||||
---
|
||||
|
||||
### YNX-0302 定义 Yonexus.Client 配置 schema
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 保证 Client 配置可启动前校验
|
||||
|
||||
@@ -207,6 +243,12 @@
|
||||
**验收标准**
|
||||
- 配置错误可在启动时直接发现
|
||||
|
||||
**已完成内容**
|
||||
- 已新增 `Yonexus.Client/plugin/core/config.ts`
|
||||
- 已实现 `validateYonexusClientConfig()` 与 `YonexusClientConfigError`
|
||||
- 已覆盖 `mainHost`、`identifier`、`notifyBotToken`、`adminUserId` 的必填校验,并限定 `mainHost` 为 `ws://` / `wss://`
|
||||
- 已从 `plugin/index.ts` 导出配置类型与校验入口,方便后续 lifecycle wiring 直接接入
|
||||
|
||||
---
|
||||
|
||||
### YNX-0303 实现 Client 生命周期 wiring
|
||||
@@ -227,6 +269,9 @@
|
||||
## Phase 4 — 持久化与状态模型
|
||||
|
||||
### YNX-0401 定义 Server 持久化记录结构
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 把 `PLAN.md` 中的 `ClientRecord` 落到代码
|
||||
|
||||
@@ -240,6 +285,14 @@
|
||||
**验收标准**
|
||||
- 持久化结构足以支撑 pairing/auth/heartbeat
|
||||
|
||||
**已完成内容**
|
||||
- 已新增 `Yonexus.Server/plugin/core/persistence.ts`
|
||||
- 已实现 `ClientRecord`、`ClientSession`、`ServerRegistry` 接口
|
||||
- 已实现 `SerializedClientRecord`、`ServerPersistenceData` 持久化结构
|
||||
- 已提供 `createClientRecord`、`serializeClientRecord`、`deserializeClientRecord` 工厂函数
|
||||
- 已提供 `isPairable`、`hasPendingPairing`、`isPairingExpired`、`canAuthenticate` 状态检查函数
|
||||
- 已更新 `Yonexus.Server/plugin/index.ts` 导出 persistence 模块
|
||||
|
||||
---
|
||||
|
||||
### YNX-0402 实现 Server 状态存储
|
||||
|
||||
Submodule Yonexus.Client updated: 5234358cac...1d751b7c55
Submodule Yonexus.Protocol updated: 9232aa7c17...fb4cd6e45b
Submodule Yonexus.Server updated: d8290c0aa7...bc1a002a8c
Reference in New Issue
Block a user