Proxyos Weekly 029
TL;DR 概览
重构任务系统以支持编程任务的‘拖拽验证’机制;完成剧本系统基础架构;第二章数据段与 UI 适配就绪
本期目标
本期优先把蜜罐和任务系统搞定
### 网页内容
蜜罐聊天室
proxy://cybertaoism.team/chat/vip- 页面框架(
chat/vip/index.html)- 更新实现:设定上聊天室里的用户不该发现自己在被“小助手”糊弄
- 更新实现:需要添加“调试中,尚未启用”的标识,否则玩家会质疑“为什么蜜罐聊天室里只有我发言,你是不是在说我是喷子”
- 动态状态显示:根据任务完成状态显示不同内容
- 初始状态:显示"尚未启用"
- 任务 01 后:显示"回复逻辑尚未接入"
- 任务 02 后:立刻回复
- 任务 03 后:固定 3 秒延迟
- 任务 04 后:2-10 秒随机延迟
轻聊应用(SimpleChat)
- 任务消息流:根据任务进度自动发送新消息
- 可以通过来自 EventHub 的事件触发特定联系人的特定预设消息(即剧本中的“普通信息”)
- 预设消息需要可以用 tres 配置
- 任务 01 普通信息 + 任务描述
- 任务 01 完成反馈 + 任务 02
- 任务 02 完成反馈 + 任务 03
- 任务 03 完成反馈 + 任务 04
- 任务 04 完成反馈 + 任务 05
- 任务 05 完成反馈 + 任务 06 触发
任务系统
- 第二章任务定义(需创建
task_defs/chapter2/目录)- 通过任务的发布回调来触发预设的玄云观消息,在任务信息里加个任务接受后和任务完成后触发的轻聊信息 id 列表
- 任务 01: 训练任务 - 识别敏感词
- 任务 02: 小嘴抹了蜜 - 自动回复
- 任务 03: 小嘴有时候抹了蜜 - 定时器
- 任务 04: 小嘴有时候可能抹了蜜 - 随机延迟
- 任务 05: 电子美颜与素颜 - 标签处理
- 任务 06: 旧日之影 - 追查真相
编程任务框架代码
- 玄云观任务文件(需创建
fs/cybertaoism/目录)-
chat_filter/main.py— 任务 01 框架 -
sweet_chat/main.py— 任务 02 框架 -
sweet_chat/checker.py— 任务 03/04 框架 -
chat_filter/truth_lens.py— 任务 05 框架
-
- 任务验证逻辑
- 任务 01: 敏感词检测(单元测试)
- 任务 02: 自动回复(单元测试)
- 任务 03: 定时器(时间检测)
- 任务 04: 随机延迟(统计检测)
- 任务 05: 标签处理(字符串比对)
数据段系统
- 第二章数据段定义
- 外包资格解锁数据段
开发环境配置
- 首次编程任务引导
- 控制节点备注弹窗机制
- 引导任务自动解锁配置文件
其他
- 解锁外包资格后,在控制节点通过任务系统提供开发环境配置的同时,解锁一个玄云观脚本验证应用。将脚本从 windows 拖入其中后会使用预设的测试数据进行验证,这个应该被配置成一个独立于任务,但是可以和任务通过任务 ID 关联的形式。
- 标签处理插件应用到轻聊历史记录的逻辑(任务 05 完成后触发)
- 章节完成检测(任务 06 完成后进入第三章)
- 页面框架(
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
Proxyos Weekly 028
TL;DR 概览
本期目标
- 写个玩家操作手册过一下第二章的代码能力
- 尽量补全相关功能
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
本期有点尴尬,github-copilot在本期第一天休息的时候折腾奇奇怪怪小项目的时候额度用光了,导致本期只有一天施工
所以本期的主要任务会是排查第二章能力,为下一期提供信息。预计脚本执行还得包一层,然后加上任务对轻聊的前后回调
……缺的比想象得多,下期好好肝吧
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
Proxyos Weekly 027
TL;DR 概览
第一章搞定了。接下来是第二章了
本期目标
- 完成第一章测试
- 第六节
- 过渡到第二章
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
TMD这已经是拖了三期了,再拖下去天理不容了!
把上期遗留的代码检视完,修掉明显的bug,把图用新的结构重新录一下,然后就赶紧把过渡段处理好。别TM给自己上强度了
过渡完之后如果还有时间,那就按照上期说的那样写个玩家操作手册过一下第二章的代码能力,然后根据结果安排下期计划
……又给自己上强度了,主要是检视的时候发现了不少可能给以后埋雷的实现缺陷,然后一个个修
之前过渡到第二章的脚本在新的布局模式下没法用了,换了新的逻辑
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- ANORA 新增了回放到特定关键帧的IPC命令
- 为啥我之前TMD把第六节的任务定义漏了……已添加
- 启动动画
变更:
- ANORA 的回放进度条现在再次平滑移动了
- ANORA 的复制粘贴机制现在更健壮了,必要时用户甚至可以用这个功能导出部分图
- ANORA 的边禁用机制得到了修正,被禁用的边会被视为存在但不会被用于传递数据
- 优化了第六节的文案,现在它对于新人来讲应该更好理解了
- 优化了节点架构,现在整体逻辑更加清晰且具有可扩展性
修复:
- ANORA 部分节点类型可能因为时序问题无法正常注册
- 第一章的等待用户确认机制可能会出现用户连按好几次Enter导致缓冲区中的Enter被后续多个等待确认依次消费,进而导致确认被跳过
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 026
TL;DR 概览
本期目标
- 修好剩下的 bug
- 需要有一个机制来等 ANORA 的 IPC 加载后再跑 IPC,否则启动 ANORA 后立刻用 IPC 加载回放会因 ANORA IPC 未加载而被忽略
- 完成第一章测试
- 第六节
- 过渡到第二章
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
- 理想情况是预计使用半天修好 BUG,然后半天搞定第一章,接下来的一天主要用于处理第二章的轻聊测试。但是我觉得这个 bug 没那么好修,可能得改一堆东西
- 确实……我寻思还是一步到位比较好,所以我要去重构整个 Godot 和 Python 的交互逻辑,以为未来的 Python http 请求玩法铺路
后来发现还是缺东西……又在补功能
Proxyos Weekly 025
TL;DR 概览
真是充实的一天呢,一堆优化和 bug 修复。至于测试进度……显然测出了很多问题
本期目标
- 完成第一章测试
- 第五节
- 第六节
- 过渡到第二章
- 修 ANORA
- 单步调试功能需要做对应调整
- 似乎有个偶现的无法重复录制的问题
- 添加边选中逻辑
- 多选拖动功能表现异常
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
- 够呛能干完
- 确实没干完
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- ANORA 添加节点 resize 功能
- ANORA 为边的选中添加视觉反馈
- ANORA 优化边的样式,便于区分数据方向
变更:
- ANORA 单步调试时会忽略延迟(毕竟用户已经在手动控制什么时候执行下一个了)
- ANORA 增加节点的最小尺寸,避免过度缩小
- ANORA 优化状态管理,使用事件维护状态,使数据流动方式更统一
- 基本重构了 Middleware 机制,同时也和 UTF8StreamDecoder 一起作为独立模块分离出了 Terminal,整体职责更清晰,性能也得到了些许提升
- UTF8StreamDecoder 会先检查末尾三字节,避免因为让 godot 的 get_string_from_utf8 直接解析出现错误提示
- ANORA 优化事件管理,现在更不容易漏改东西了
修复:
- ANORA 单步状态未被正常同步
- ANORA 在步进执行过程中再次步进导致状态异常
- ANORA 因为节点添加 resizer 时打破了单根节点组件的规律,事件被绑到了不该绑的地方
- ANORA 导出录制结果时没有重置状态,导致 UI 仍然显示录制中的状态,但实际上没有录制器在工作,以至于再次点击导出时无法正常导出
- ANORA 多选节点拖放时,只有一个节点的位置正常更新
- ANORA 分配器内部状态更新异常导致无法接受新输入且始终输出同一个值
- Terminal 的 Middleware 机制存在问题,BetterProcess 在某些情况下会将一次
print(..., flush=True)的内容分成两次返回,导致 Niddleware 的 marker 被截到两次输出里,进而导致 Middleware 未正确处理标记
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 024
TL;DR 概览
本期目标
- 完成第一章打磨
- 第五节
- 第六节
- 过渡到第二章
- 完成第一章测试
- 第五节
- 第六节
- 过渡到第二章
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
- 第一章核心 bug 已修复,主要打磨内容是调整文本和图表现。考虑到加上本期就是一整周了,应该能搞定文本和图表现。音效、视觉效果等发 demo 前统一处理
- 实际上在打磨到需要更复杂输入数据的第五节时,发现 ParamNode 大小不能很好地显示其内容,于是临时加了功能
- 问题大了去了!详情见
主要进展内容/本期关键判断点一节的 ANORA 相关段落
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
Proxyos Weekly 023
TL;DR 概览
BUG好多!全在修BUG了
本期目标
完成第一章打磨
- 第三节
- 第四节
- 第五节
- 第六节
- 过渡到第二章
完成第一章测试
- 第三节
- 第四节
- 第五节
- 第六节
- 过渡到第二章
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
第一章核心bug已修复,主要打磨内容是调整文本和图表现
- 确实,虽然还是修了些bug,但主要是可维护性优化之类的细节
- 但我高估了自己的文学功底,所以打磨返工了好几次
ANORA的子图抽象功能在第一章不进行介绍,使用节点增删、加载不同图的方式来介绍函数
- 这个路子是对的,本期一些优化实际上也是为了这个考虑的
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
Proxyos Weekly 022
TL;DR 概览
BUG好多!全在修BUG了
本期目标
- 完成第一章打磨
- 完成第一章测试
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
- 我只需要打磨文本、调整一些逻辑图并重新录制即可
- 实际上出了巨量影响体验的问题。虽然在当前阶段不影响,但之后迟早会影响。所以就修了……然后修完一个发现还有,修完一个又发现还有
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- ANORA 现在支持通过拖动节点条目到图上来添加节点,而非只能通过点击节点条目来添加
- ANORA 现在支持使用 Shift 多选节点,而非只能框选
- ANORA 现支持将录制文件作为逻辑图导入
- ANORA 的核心节点的 UI 已适配
- ANORA 自动布局功能已上线
- ANORA 节点执行状态标记更加全面
变更:
- 优化 ANORA 的节点样式相关架构,使其更容易集中配置
- 优化 ANORA 的回放关键帧聚合逻辑,避免间隔 5ms 的事件被分到不同的关键帧中
- 优化 ANORA 的回放系统,提高逻辑复用度
修复:
- WebView 没有正确释放输入焦点,导致点击网页部分后游戏其他部件无法接受输入
- 改了 Godot-WRY,看了下我俩月前的另一个 bug 修复的 pr 还没合进去,估计作者弃坑了
- 流式解码没正确实现,导致当一个汉字编码后的字节被分两次输出时,解码会异常
- 当焦点在Terminal主视图里时,输入字母会直接聚焦到命令输入 input 并输入字母,但如果输入 Enter 的话只会聚焦到 input 但不会发出 Enter
- 创建 WebView 时 WebView 会立刻拿到 focus,打断 Tereminal 操作
- ANORA 添加节点后视图没有更新,直到做出选中一个节点/拖动一个节点之类的操作
- ANORA 添加边失败(之前为了将ANORA图和底层VueFlow解耦时的重构引入)
- ANORA 分支工作异常(之前将无数据的标识从 undefined 切换成单独 flag 时的重构引入)
- 【放弃修复】当极短时间内Notification被调用两次时,两次通知会重叠在一起
- 经确认,这个问题时 element-plus 的实现存在问题
- 只有两个 Notification 在同一迭代被调用时才会出现这个问题,即使两个 Notification 串联且全自动运行(只隔一个迭代),两次通知也会正常一上一下
- 考虑到修复成本极高而游戏体验影响不大,不进行修复
- ANORA 的录制只能执行一次
- ANORA 的录制文件加载无法通过 UI 触发只能通过 IPC 触发
- ANORA 的回放结束后再次点击播放,回放会从头开始,但是进度条卡在末尾
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 021
TL;DR 概览
本周完成了预定的 Terminal 修复和 轻聊 的最小实现。轻聊仍需打磨,目前打磨进度来到了第一章的一半
本期目标
- 修好 Terminal
- 实现 轻聊
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
我之前认为,我通过先前的 准备完善的剧情文案 - 要求AI按指定架构生成框架 - 调整细节 - 要求AI按文稿填充 的工作流可以在我完成轻聊的文案和核心特性(玩家编写自定义脚本完成文本处理)之后几乎一步到位完成设计
但实际上出现了不少问题,导致重做了好几次
- claude将轻聊作为茶馆的一部分实现了,而不是作为单独的应用实现
- 因为 轻聊 和 茶馆 的语义类似
- 先前实现的内容中有玩家编写程序来增强玄云观的论坛的先例
- claude分别提供了两个版本的文案,分别是自定义脚本处理前和处理后预期的
- 它没有理解这个项目的核心就是让玩家在做中学,使用了常见的类owell游戏里那种“完成任务后自然变化”的结构
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
Proxyos Weekly 020
TL;DR 概览
本周进度比预计的快,敲定了第二章剧情以及网页部分的实现,也初步重构了项目UI方式。准备文稿-要求AI按指定架构生成框架-调整细节-要求AI按文稿填充 这个工作流比我想象得更顺。
本期目标
- 敲定茶馆论坛和玄云观论坛的风格并进行实现
- 进一步优化第二章剧情
- 思考当前界面如何进行优化
- 这个 UI 是“世界的一部分”,还是“玩家的工具”?
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 茶馆论坛
- 玄云观论坛
- 新的主UI
变更:
- 对第二章剧情进行优化,在保持玩家激励的同时避免叙事上过于夸大玩家作用导致后续难以保持激励
- 归档了旧的类win11桌面UI,改成了更接近专用client的UI
修复:
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
工作流优化
在序章和第一章时期,我更倾向于使用下面的流程来使用 AI