first commit
This commit is contained in:
395
log.md
Normal file
395
log.md
Normal file
@@ -0,0 +1,395 @@
|
||||
# 迭代日志
|
||||
|
||||
## 2026-02-27(v2.0.0 文档与交互定稿)
|
||||
|
||||
### 目标
|
||||
- 将版本文档统一到 `v2.0.0`,补齐发布说明与 README 最新能力摘要。
|
||||
- 完成语音输入区 `Frame 2256` 的 Figma 定稿对齐,消除多轮迭代残留。
|
||||
- 收敛闪念与日志页的分页、图标、底栏入口等跨页面一致性问题。
|
||||
|
||||
### 完成项
|
||||
1. 文档统一
|
||||
- `README.md` 最新版本入口更新为 `v2.0.0`,同步能力清单。
|
||||
- `release.md` 新增 `v2.0.0` 正式发布节,保留历史版本记录。
|
||||
- `question-solved.md` 持续同步问题与修复记录(缓存策略、语音层交互等)。
|
||||
|
||||
2. 语音区交互定稿
|
||||
- `Frame 2256` 按整块容器实现背景层(非局部小块背景)。
|
||||
- 背景规则:圆角 `16px`,常态 `40%`,按住 voice 录音态 `100%`。
|
||||
- `voice + record + send` 与 `clear/cancel` 关系按 Figma 几何约束收敛,重叠层级在输入框之下。
|
||||
|
||||
3. 页面体验收敛
|
||||
- `Records` 页面配色统一走主题变量,入口图标统一 `recordmanager.svg`。
|
||||
- `Logs` 页面改为 `15` 条/页分页并显示总数。
|
||||
- 底部工具条 `config.svg` 统一排在最后。
|
||||
|
||||
### 同步文档
|
||||
- `README.md`
|
||||
- `release.md`
|
||||
- `log.md`
|
||||
- `docs/terminal-voice-records-plan-2026-02-27.md`
|
||||
- `question-solved.md`
|
||||
|
||||
### 验证结果
|
||||
- 已执行并通过:`npm run test` / `npm run typecheck` / `npm run lint` / `npm run build`。
|
||||
|
||||
## 2026-02-26(语音输入全链路)
|
||||
|
||||
### 目标
|
||||
- 在 Terminal 页落地“按住说话”的语音输入能力,并通过 Gateway 安全代理接入 ASR。
|
||||
- 收敛移动端输入与缩放稳定性问题,减少 iPhone 端误触与焦点竞争。
|
||||
- 为线上发布补齐语音配置项、测试与可观测性。
|
||||
|
||||
### 完成项
|
||||
1. Web 侧语音输入
|
||||
- 新增 `TerminalVoiceInput.vue`:按住录音、松手停止、面板保留、`sent` 才提交。
|
||||
- 支持 `clear-input`、`cancel`、`sent` 三按钮操作流。
|
||||
- 语音按钮支持拖拽与边界约束,页面 `blur/visibilitychange` 下自动收尾,避免“松手后仍录音”。
|
||||
- 发送统一走 `assist` 通道并自动追加回车。
|
||||
|
||||
2. Gateway 侧语音代理
|
||||
- 新增 `/ws/asr` 升级路由与连接处理。
|
||||
- 新增客户端协议解析:`start/audio/stop/cancel/ping`。
|
||||
- 新增火山协议封装与解析(full request / audio-only / server response / error)。
|
||||
- 新增上游文本提取与 JSON 回退解析(标准 JSON、NDJSON、粘包 JSON)。
|
||||
|
||||
3. 生产与稳定性
|
||||
- 网关终端链路和语音上游链路默认禁用 `permessage-deflate`。
|
||||
- 新增 `ASR_INCLUDE_RAW_RESULT` 与 `ASR_EMPTY_TEXT_WARN_LIMIT`,降低下行与日志噪音。
|
||||
- 新增动态导入失败自动恢复(15 秒窗内最多一次自动刷新)。
|
||||
- 全局缩放防护补齐双击路径(double-tap/dblclick)。
|
||||
|
||||
4. 测试覆盖
|
||||
- 新增语音模块测试:`asrText`、`clientProtocol`、`upstreamPayload`、`volcAsrProtocol`。
|
||||
- 新增 `dynamicImportGuard` 单测。
|
||||
|
||||
### 同步文档
|
||||
- `README.md`
|
||||
- `release.md`
|
||||
- `todo.md`
|
||||
- `docs/terminal-voice-input-plan-2026-02-26.md`
|
||||
- `question-solved.md`
|
||||
|
||||
### 验证结果
|
||||
- 待执行:`npm run test` / `npm run typecheck` / `npm run lint` / `npm run build` / deploy。
|
||||
|
||||
## 2026-03-18(Codex 近期输入内容提炼:Skills / OpenClaw / RemoteConn)
|
||||
|
||||
### 目标
|
||||
- 把最近一轮围绕 `skills`、`OpenClaw`、小程序插件能力与 Gateway 侧运行时的输入内容沉淀到日志中。
|
||||
- 将讨论重点从“前端插件”与“后端 skills 插件”分层,便于后续继续收口方案与实现边界。
|
||||
- 为后续文档与设计演进保留一份面向产品和架构判断的输入摘要。
|
||||
|
||||
### 近期 30 条输入内容提炼
|
||||
1. 检查插件实现文档,重点核对与 `OpenClaw skills` 对接的思路。
|
||||
2. 澄清当前前端插件路线继续保留,但主方向转向后端 skills 对接。
|
||||
3. 明确“兼容 OpenClaw skills”的含义是:OpenClaw 中现成的 skills 包可以直接拿来用。
|
||||
4. 要求这种 skills 包可以作为插件插入 RemoteConn,尽量直接使用,不走重写格式。
|
||||
5. 明确希望 skills 支持热加载。
|
||||
6. 追问微信小程序是否支持 UI 的插件式运行时热加载。
|
||||
7. 进一步判断小程序版本做 Obsidian 类型前端插件是否有意义。
|
||||
8. 明确小程序侧更适合承担 skills 的呈现、使用与配置管理,而不是插件执行平台。
|
||||
9. 让助手查看本地 `~/terminal-lab/openclaw/` 代码,确认 OpenClaw 是否确实走这条逻辑。
|
||||
10. 认可 OpenClaw 的思路:skill 热加载,但脚本在使用时再加载,以保持 Gateway 轻量。
|
||||
11. 追问“skill 送给 Codex 执行”时,Codex 具体如何落实。
|
||||
12. 关心 OpenClaw 是否提供了明确的使用指引,还是主要依赖 AI 自由发挥。
|
||||
13. 比较“直接把 skill 文件扔给 Codex”和“通过 OpenClaw 提供给 Codex”的差异。
|
||||
14. 追问 OpenClaw 是否是通过大模型来选择 skills。
|
||||
15. 担心 OpenClaw 的这种模式在候选 skill 较多时是否会变得模糊。
|
||||
16. 进一步确认 OpenClaw 在完成一个任务需要多个 skill 时是如何覆盖的。
|
||||
17. 设想 RemoteConn 若由客户端先明确派发任务,也就是先定向选定某个 skill。
|
||||
18. 追问在这种定向派发模式下,多 skill 场景如何覆盖。
|
||||
19. 举例说明:如果任务要组合 `a b c d` 四个 skills,`a` 是派发给 AI 的 primary skill。
|
||||
20. 追问在上述场景中,后面的 `b c d` 应该如何被调用或扩展。
|
||||
21. 提出是否应该在 `a` 的 `SKILL.md` 中写清楚会调用哪些 skills。
|
||||
22. 进一步追问这种多 skill 协作是否需要一套明确约定和规范。
|
||||
23. 对比自己的方案和 OpenClaw 默认模式,询问差异、优点和代价。
|
||||
24. 继续比较 skill 的制作复杂度,关心哪种模式更重、哪种更易规模化维护。
|
||||
25. 评估当前设计下,RemoteConn skills 的通用性和开放性如何。
|
||||
26. 关注 `role / companionPolicy / stages / 受控 skill 池` 这些概念是否可以简化。
|
||||
27. 追问“受控 skill 池”的语义到底是什么。
|
||||
28. 进一步区分“受控 skill 池”和 `allowedSkills` 的差异。
|
||||
29. 最终收敛出“是否只保留 `allowedSkills` 即可”的方向判断。
|
||||
30. 明确 `allowedSkills` 负责边界,具体编排应放在 `SKILL.md` 正文中完成,并要求同步到文档与日志。
|
||||
|
||||
### 当前结论倾向
|
||||
1. Web 前端插件可继续保留,但小程序不应作为 Obsidian 类型插件执行平台的重点。
|
||||
2. 主方向应是 Gateway 侧的 skills 插件运行时,小程序与 Web 主要承担控制台与消费端职责。
|
||||
3. 兼容 OpenClaw 时应尽量保留 `SKILL.md + metadata.openclaw` 的基础结构。
|
||||
4. RemoteConn 增强语义应尽量收敛,当前最小宿主扩展字段倾向只保留 `metadata.remoteconn.allowedSkills`。
|
||||
5. `allowedSkills` 负责“允许用谁”,`SKILL.md` 正文负责“何时怎么用”。
|
||||
6. 对高频固定组合任务,更适合沉淀成新的上层编排 skill,而不是持续依赖运行时动态拼接。
|
||||
|
||||
### 同步文档
|
||||
- `docs/backend-openclaw-skills-plugin-plan-2026-03-18.md`
|
||||
- `docs/project-local-skills-routing-plan-2026-03-14.md`
|
||||
- `docs/plugin-openclaw-skills-comparison-reference-2026-03-10.md`
|
||||
- `log.md`
|
||||
|
||||
### 验证结果
|
||||
- 本次为日志补充,未执行 `npm run test` / `npm run typecheck` / `npm run lint` / `npm run build`。
|
||||
|
||||
## 2026-03-18(Codex 近期输入原样记录:当前会话可见范围)
|
||||
|
||||
### 说明
|
||||
- 本节按当前会话上下文可见内容原样记录用户输入。
|
||||
- 当前可准确提取的用户输入共 `49` 条,不足 `100` 条;未见部分不做推断、不补写。
|
||||
|
||||
### 原样记录
|
||||
1.
|
||||
```text
|
||||
检查插件实现的文档
|
||||
```
|
||||
|
||||
2.
|
||||
```text
|
||||
检查插件实现的文档,关于openclaw skills对接的思路
|
||||
```
|
||||
|
||||
3.
|
||||
```text
|
||||
补充:现在的插件主要是针对前端的,参考的obisian,这个路线不动,不是以后的方向。我想做的是后端对接skills,含脚本的那种
|
||||
```
|
||||
|
||||
4.
|
||||
```text
|
||||
先整理方案
|
||||
```
|
||||
|
||||
5.
|
||||
```text
|
||||
兼容 OpenClaw skills -- 意思是openclaw中的skills包,我可以拿过来作为插件直接使用
|
||||
```
|
||||
|
||||
6.
|
||||
```text
|
||||
兼容 OpenClaw skills -- 意思是openclaw中的skills包,我可以拿过来作为插件插进来直接使用
|
||||
```
|
||||
|
||||
7.
|
||||
```text
|
||||
兼容 OpenClaw skills -- 意思是openclaw中的skills包,我可以拿过来作为插件插进来直接使用,skills可以热加载
|
||||
```
|
||||
|
||||
8.
|
||||
```text
|
||||
更新到docs中
|
||||
```
|
||||
|
||||
9.
|
||||
```text
|
||||
微信小程序支持ui的插件式运行时热加载吗?
|
||||
```
|
||||
|
||||
10.
|
||||
```text
|
||||
所以,小程序版本做obsidian类型的插件没有意义
|
||||
```
|
||||
|
||||
11.
|
||||
```text
|
||||
skills插件可以,因为可以在网关侧做,ui上只是呈现和配置管理
|
||||
```
|
||||
|
||||
12.
|
||||
```text
|
||||
skills插件可以,因为可以在网关侧做,ui上只是呈现、使用和配置管理
|
||||
```
|
||||
|
||||
13.
|
||||
```text
|
||||
~/terminal-lab/openclaw/ 查看openclaw代码,是否这个逻辑
|
||||
```
|
||||
|
||||
14.
|
||||
```text
|
||||
openclaw的思路很好,skill热加载,但scripts使用时加载,这样网关侧会比较轻量
|
||||
```
|
||||
|
||||
15.
|
||||
```text
|
||||
更新文档
|
||||
```
|
||||
|
||||
16.
|
||||
```text
|
||||
skill送给codex执行式,codex如何落实?openclaw有提供使用指引吗?还是让ai自由发挥?
|
||||
```
|
||||
|
||||
17.
|
||||
```text
|
||||
skill送给codex执行式,codex如何落实?openclaw有提供使用指引吗?还是让ai自由发挥?换句话说,我把skill相关文件直接扔给codex和通过openclaw提供给codex有区别吗?后者会做的更好吗?
|
||||
```
|
||||
|
||||
18.
|
||||
```text
|
||||
所以准确的讲,openclaw根据任务先做skills的选型,选型完成后就是ai的事情了
|
||||
```
|
||||
|
||||
19.
|
||||
```text
|
||||
openclaw的这种做法,是不是比较模糊,比如用户的任务,候选出多个skills,ai都需要取落实吗?
|
||||
```
|
||||
|
||||
20.
|
||||
```text
|
||||
openclaw是通过大模型来选择skills吗?
|
||||
```
|
||||
|
||||
21.
|
||||
```text
|
||||
remoteconn如先按客户端明确派发任务的方式工作,也就是说选定路由后,派发特定的skill给ai。如果这样,完成一项任务需要多个skill的场景如何覆盖?
|
||||
```
|
||||
|
||||
22.
|
||||
```text
|
||||
完成一项任务需要多个skill的场景如何覆盖,openclaw怎么做?
|
||||
```
|
||||
|
||||
23.
|
||||
```text
|
||||
完成一项任务需要多个skill的场景,openclaw怎么做?
|
||||
```
|
||||
|
||||
24.
|
||||
```text
|
||||
remoteconn如先按客户端明确派发任务的方式工作,也就是说选定路由后,派发特定的skill给ai。如果这样,完成一项任务需要多个skill的场景如何覆盖?比如一个任务需要用到4个skill组合a b c d,a是派发给ai的primary skill,如何调用后面的skills?
|
||||
```
|
||||
|
||||
25.
|
||||
```text
|
||||
所以在a的skill.md中写清楚调用的skills?这个需要约定规范吗?
|
||||
```
|
||||
|
||||
26.
|
||||
```text
|
||||
这个主题比较重要,更新文档
|
||||
```
|
||||
|
||||
27.
|
||||
```text
|
||||
这个主题比较重要,更新文档,改文档不需要变异
|
||||
```
|
||||
|
||||
28.
|
||||
```text
|
||||
这个主题比较重要,更新文档,改文档不需要编译
|
||||
```
|
||||
|
||||
29.
|
||||
```text
|
||||
我这个思路和openclaw有什么区别?优点是什么?
|
||||
```
|
||||
|
||||
30.
|
||||
```text
|
||||
把我的优点和代价更新到文档
|
||||
```
|
||||
|
||||
31.
|
||||
```text
|
||||
制作skill的复杂度哪个更高?
|
||||
```
|
||||
|
||||
32.
|
||||
```text
|
||||
补充文档
|
||||
```
|
||||
|
||||
33.
|
||||
```text
|
||||
按现在的设计,skill的通用性和开放性如何?
|
||||
```
|
||||
|
||||
34.
|
||||
```text
|
||||
- primary / companion / standalone
|
||||
- companions
|
||||
- companionPolicy
|
||||
- stages
|
||||
- 宿主定向路由
|
||||
- 受控 skill 池 --- 这个可以简化吗?
|
||||
```
|
||||
|
||||
35.
|
||||
```text
|
||||
- primary / companion / standalone
|
||||
- companions
|
||||
- companionPolicy
|
||||
- stages
|
||||
- 宿主定向路由
|
||||
- 受控 skill 池 --- 这个可以简化又达到目的吗?
|
||||
```
|
||||
|
||||
36.
|
||||
```text
|
||||
受控 skill 池 语意是什么?
|
||||
```
|
||||
|
||||
37.
|
||||
```text
|
||||
受控 skill 池 和allowedSkills有什么区别?
|
||||
```
|
||||
|
||||
38.
|
||||
```text
|
||||
也就是实际保留allowedSkills即可?
|
||||
```
|
||||
|
||||
39.
|
||||
```text
|
||||
更新文档
|
||||
```
|
||||
|
||||
40.
|
||||
```text
|
||||
我再审核一遍,role / companionPolicy / stages / 受控skill池 的语义是什么?
|
||||
```
|
||||
|
||||
41.
|
||||
```text
|
||||
allowedSkills 是引入的skills,编排在skill.md中完成?
|
||||
```
|
||||
|
||||
42.
|
||||
```text
|
||||
allowedSkills 是引入的skills,编排在skill.md正文完成?
|
||||
```
|
||||
|
||||
43.
|
||||
```text
|
||||
ok,现在比较明确了,有必要更新文档
|
||||
```
|
||||
|
||||
44.
|
||||
```text
|
||||
remoteconn的skill能供给给openclaw 使用吗?
|
||||
```
|
||||
|
||||
45.
|
||||
```text
|
||||
好
|
||||
```
|
||||
|
||||
46.
|
||||
```text
|
||||
提炼我输入最近30个问题到log.md中
|
||||
```
|
||||
|
||||
47.
|
||||
```text
|
||||
我最近codex交互中输入30内容,log.md中
|
||||
```
|
||||
|
||||
48.
|
||||
```text
|
||||
我最近codex交互中输入30条内容,log.md中
|
||||
```
|
||||
|
||||
49.
|
||||
```text
|
||||
我最近codex交互中输入100条内容,原样记录,log.md中
|
||||
```
|
||||
|
||||
### 验证结果
|
||||
- 本次为日志补充,未执行 `npm run test` / `npm run typecheck` / `npm run lint` / `npm run build`。
|
||||
Reference in New Issue
Block a user