首页/新闻资讯/正文详情

深蓝词库转换 OPSX 变更工作流实战:`/opsx:new` 命令完整解析与落地指南

发布时间:2026/9/24 14:31:07 来源:云帆数科 栏目:资讯中心
深蓝词库转换 OPSX 变更工作流实战:`/opsx:new` 命令完整解析与落地指南
桌面应用CLI开发工具【免费下载链接】imewlconverter”深蓝词库转换“ 一款开源免费的输入法词库转换程序项目地址https://gitcode.com/gh_mirrors/im/imewlconverter点击查看免费下载导读本文以深蓝词库转换IME WL Converter仓库中.codebuddy/commands/opsx/new.md为骨架系统讲解如何通过 OPSX实验性产出物工作流的/opsx:new命令将一个想法或 Bug 修复需求转化为结构化的 OpenSpec 变更。读完本文你将掌握变更命名规范、工作流 Schema 的选择规则、openspec-cn系列 CLI 命令的完整调用链、产出物状态机的运转方式以及如何借助仓库内真实归档变更如命令行参数重构理解产出物如何一步步落地为可运行的代码。OPSX 在深蓝词库转换项目中的定位深蓝词库转换是一款跨平台的输入法词库转换工具支持 50 种输入法格式搜狗、QQ 拼音、Rime、微软拼音等同时提供 GUI 与命令行两种形态。面对如此复杂的格式生态任何新功能例如新增一种词库格式都会牵动 核心转换库、命令行入口 与 集成测试 等多个模块。为此仓库引入了 OpenSpec 规格化开发体系并在.codebuddy/commands/opsx/目录下注册了 10 个 Agent 命令new、continue、apply、archive、explore、ff、sync、verify等与对应的 skills 技能定义。这套工作流的目标是在动手写代码之前先把为什么改、改什么、怎么设计、拆成哪些任务沉淀成可审查、可追溯的产出物artifact避免 AI 与人类开发者协作时凭感觉编码。命令定义与输入约定/opsx:new的命令定义位于.codebuddy/commands/opsx/new.md其 Frontmatter 声明如下--- name: OPSX: 新建 description: 使用实验性的产出物工作流 (OPSX) 启动新变更 argument-hint: [command arguments] ---它接收的输入是/opsx:new之后的所有参数可以是变更名称必须为 kebab-case即小写字母与连字符例如add-user-auth或用户对想要构建内容的自然语言描述例如我想让命令行支持把词库导出为 JSON 格式。变更命名规范kebab-case无论用户给出哪种输入最终都必须归一化为一个 kebab-case 变更名称。这是整个工作流的第一步约束也是后续所有openspec-cn命令的参数基础用户描述推导出的 kebab-case 名称add user authenticationadd-user-auth命令行参数支持 JSON 导出add-json-export修复多文件输入时的内存溢出fix-memory-overflow-batch-import护栏明确要求如果不了解用户想要构建什么绝不能继续如果名称不是合法的 kebab-case必须请求用户提供有效名称。这保证了openspec/changes/name/目录名的稳定与可排序性。六步工作流详解/opsx:new的核心是一个严格分步的引导流程其目的是只完成变更脚手架搭建与第一个产出物的指令获取而绝不直接产出内容。步骤 1如果没有输入询问用户想构建什么当用户只敲了/opsx:new而没有附带参数时Agent 必须使用AskUserQuestion 工具开放式、无预设选项询问您想要处理什么变更请描述您想要构建或修复的内容。随后根据描述推导 kebab-case 名称。这一步骤的意义在于变更的方向必须由用户确认避免 Agent 擅自臆测需求。步骤 2确定工作流 Schema除非用户明确要求否则使用默认 Schema即省略--schema参数。仅在两种情况下切换到其他 Schema用户提到了特定 Schema 名称→ 使用openspec-cn new change name --schema name用户说显示工作流/有哪些工作流 → 运行openspec-cn schemas --json让用户选择。在深蓝词库转换仓库中默认 Schema 由 openspec/config.yaml 的第 1 行显式声明为schema: spec-driven。这意味着默认情况下一次变更会按proposal提案→ specs规格说明→ design设计→ tasks任务清单的顺序产出 4 类产出物——这与仓库归档区中2026-01-31-refactor-cmd-args-format变更的目录结构完全吻合详见后文真实案例。步骤 3创建变更目录脚手架执行创建命令openspec-cn new change name仅在用户请求特定工作流时追加--schema name。该命令会在openspec/changes/name/下使用所选 Schema 生成一个脚手架变更。仓库中现存的实际产物位于 openspec/changes/archive/每个归档变更都遵循2026-01-31-变更主题/的命名日期前缀 kebab-case 主题内部包含proposal.md、design.md、tasks.md与可选的specs/子目录。步骤 4显示产出物状态openspec-cn status --change name该命令会列出当前变更中哪些产出物需要创建、哪些已就绪即依赖项已满足。产出物之间存在依赖关系例如在spec-driven工作流中proposal未完成时specs与design通常处于blocked受阻状态只有前序产出物完成后后续产出物才会变为ready。这也是产出物驱动Artifact-Driven名称的由来——每一步都被前一步解锁而不是凭感觉乱序推进。步骤 5获取第一个产出物的指令第一个产出物取决于所选 Schema。查看状态输出找到第一个status: ready的产出物然后执行openspec-cn instructions first-artifact-id --change name该命令会输出创建第一个产出物所需的模板template与上下文context。以spec-driven为例第一个产出物通常是proposal提案指令会给出其章节骨架为什么Why、变更内容What changes、能力Capabilities、影响Impact。对照仓库中真实的 归档提案 可以看到这些章节最终被完整填写从当前 CLI 使用-i:scel冒号分隔格式违背 Unix 哲学的动机陈述到参数对照表、能力清单cmd-args-parsing、乃至对 Program.cs / ConsoleRun.cs / 集成测试的逐项影响分析。步骤 6停止并等待用户指示获取指令后Agent 必须立即停止不得擅自开始撰写产出物。这是本命令与/opsx:continue最核心的区别new只负责铺路产出物的实际撰写由用户确认后通过/opsx:continue逐个完成。输出约定向用户汇报什么完成上述步骤后Agent 需要向用户输出一份结构化总结必须包含 5 个要素变更名称和位置如add-json-export位于openspec/changes/add-json-export/正在使用的 Schema/工作流及其产出物顺序如spec-drivenproposal → specs → design → tasks当前状态如0/N 个产出物已完成第一个产出物的模板将步骤 5 获取的模板原样呈现给用户交接提示准备好创建第一个产出物了吗运行/opsx:continue或描述此变更的内容我将为您起草。这份输出既是给用户的进度汇报也是 Agent 与用户之间的契约确保双方对变更的起点、路径和下一步行动完全对齐。护栏规则不可逾越的边界原文档定义了 4 条硬性护栏理解它们对于正确使用该命令至关重要护栏含义不要立即创建任何产出物——仅显示指令new的职责边界止于指令展示写内容必须等用户确认不要跳过显示第一个产出物模板的步骤模板是用户决定是否继续的依据跳过即失职如果名称无效非 kebab-case请求有效的名称名称质量决定整个变更的生命周期质量如果同名变更已存在建议使用/opsx:continue代替防止重复创建、保持变更目录唯一性如果使用非默认工作流请传递--schema显式声明 Schema避免默认值掩盖意图从产出物到代码仓库中的真实落地案例纸上得来终觉浅。仓库中 2026-01-31-refactor-cmd-args-format 是一次完整走完 OPSX 工作流的归档变更其产出物链条如下proposal.md陈述动机自定义-i:冒号格式与 GNU 风格不一致、难以集成 shell 工具链、新旧参数完整对照表-i:format→--input-format/-i format等 12 组、能力清单与影响面分析tasks.md将实施拆分为 14 个阶段共 60 个可勾选任务从添加 System.CommandLine NuGet 依赖到文档更新CI/CD 配置回滚准备并附验收标准如参数解析时间 10ms、发布包体积增加 300KBspecs/ 目录能力cmd-args-parsing的详细规格说明。这些产出物最终变成了可运行的代码。例如 src/ImeWlConverterCmd/CommandBuilder.cs 中System.CommandLine的RootCommand与各Option正是提案中参数表的直接实现var inputFormatOption new Optionstring( aliases: new[] { --input-format, -i }, description: 输入词库格式代码 (例如: scel, ggpy, qqpy, rime, bdpy)) { IsRequired false }; var outputFormatOption new Optionstring( aliases: new[] { --output-format, -o }, description: 输出词库格式代码 (例如: ggpy, rime, self, qqpy)) { IsRequired false }; var inputFilesArgument new ArgumentListstring( name: input-files, description: 输入词库文件路径支持多个文件和通配符) { Arity ArgumentArity.ZeroOrMore };同时README.md 中的命令行快速开始章节、docs/MIGRATION.md 的迁移指南以及 tests/integration 下的测试用例也都按照该变更的任务清单同步更新。这验证了 OPSX 工作流的闭环proposal 定义为什么 → tasks 定义做什么 → 代码与测试落地怎么做 → 归档沉淀为仓库资产。与 OPSX 命令族的协同/opsx:new只是工作流的入口理解它需要放在命令族中看/opsx:continue承接new的成果每次只创建一个产出物严格遵循 schema 顺序先读依赖产出物再写下一个创建后显示进度N/M 完成与解锁的产出物/opsx:apply所有产出物就绪后读取 proposal/specs/design/tasks 作为上下文按任务清单逐个实现代码并在 tasks.md 中勾选- [ ]→- [x]/opsx:explore进入只思考不实施的探索姿态可自由调查代码库、绘制 ASCII 架构图当想法成熟时再提议过渡到new或ff/opsx:archive等变更完成后归档到openspec/changes/archive/形成本文所述的沉淀资产。项目上下文产出物创作的宪法OPSX 产出物不是凭空撰写而是受到 openspec/config.yaml 中context字段的约束。该文件声明了深蓝词库转换项目的技术栈.NET 8.0 / C#、多目标框架、项目结构Core / Cmd / Win / Mac / CoreTest 五子项目、编码方案知识拼音、五笔 86/98/新世纪、郑码、仓颉、二笔、注音、词库格式知识文本 / 二进制 / 系统格式、兼容性约束.NET Framework 4.6、旧参数向后兼容等。当 Agent 撰写 proposal 或 design 时这些上下文会作为约束注入指令输出context与rules字段但不会被复制进产出物文件本身。小结与使用建议/opsx:new表面上是 6 步引导流程实质上是一种工程纪律用强制性的状态机blocked → ready → done防止跳过思考直接编码用 kebab-case 命名与 Schema 声明保证变更目录的规范用仅显示指令、绝不擅自撰写的护栏保护用户的决策权。对于在深蓝词库转换仓库中协作的开发者与 Agent建议按以下节奏使用想法模糊时先用/opsx:explore探索与澄清方向明确后用/opsx:new创建变更并拿到第一个产出物模板确认模板后用/opsx:continue逐个产出 proposal → specs → design → tasks产出物齐备后用/opsx:apply实施代码最后用/opsx:archive归档沉淀。这样无论是新增一种输入法格式还是重构命令行参数解析变更的每个决策点都有据可查、可回滚、可复用。赞分享桌面应用CLI开发工具【免费下载链接】imewlconverter”深蓝词库转换“ 一款开源免费的输入法词库转换程序项目地址https://gitcode.com/gh_mirrors/im/imewlconverter点击查看免费下载相关推荐Druid OPSX 工作流详解使用 /opsx:new 命令开启一个 OpenSpec 变更Druid OPSX 工作流详解使用 /opsx:new 命令开启一个 OpenSpec 变更 本篇技术指南围绕 Druid 仓库中的 OPSX: New 命数据库后端深蓝词库转换 OpenSpec 实践/opsx:continue 变更继续处理命令完整解析深蓝词库转换 OpenSpec 实践 /opsx:continue 变更继续处理命令完整解析 本文以深蓝词库转换imewlconverter仓库中的 Cl桌面应用CLI开发工具riv/actors 仓库 OPSX 工作流实战用 /opsx-apply 从 OpenSpec Change 落地实现任务riv/actors 仓库 OPSX 工作流实战用 /opsx apply 从 OpenSpec Change 落地实现任务 本指南以当前仓库 .openco后端AI Agent人工智能流程编排WebSocket上一篇Data Science for Beginners 第十三课用 D3.js 与 vue-d3-network 打造有意义、不误导的数据可视化下一篇ngx-admin 图表图例位置顶部底部左右配置创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

pg-sql2 的 sql.identifier() 完全指南:安全构建动态 SQL 标识符
pg-sql2 的 sql.identifier() 完全指南:安全构建动态 SQL 标识符

后端API网关 【免费下载链接】crystal 🔮 Graphiles Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more! 项目地址: https://gitcode.com/gh_mirrors/cry/crystal 点击查看 免费下载 sql.identifier() 是 Gra… · 2026/9/24 14:31:07

计算机系统---CPU的进程与线程处理
计算机系统---CPU的进程与线程处理

在计算机系统中,CPU作为“运算核心”是通过进程与线程这两个抽象层,实现对海量任务的有序调度、资源隔离与高效并发。 理解CPU如何处理进程与线程,本质是理解操作系统如何“管理任务”与“分配算力”——这一过程覆盖了资源定义、状态流转、调… · 2026/9/24 14:30:51

FPGA高速接收核心:ISERDES原语原理与动态相位校准实战
FPGA高速接收核心:ISERDES原语原理与动态相位校准实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:30:37

3 步跑通 ComfyUI-WanVideoWrapper:AI 视频生成节点配置与显存避坑完整实战
3 步跑通 ComfyUI-WanVideoWrapper:AI 视频生成节点配置与显存避坑完整实战

3 步跑通 ComfyUI-WanVideoWrapper:AI 视频生成节点配置与显存避坑完整实战 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper ComfyUI-WanVideoWrapper 是一套基于 ComfyUI 的 AI 视频… · 2026/9/24 15:05:40

科研AI工作台选型指南:从文献到实验的工具组合策略
科研AI工作台选型指南:从文献到实验的工具组合策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:05:40

RedisInsight实测:官方可视化工具如何解决Redis开发与调优痛点
RedisInsight实测:官方可视化工具如何解决Redis开发与调优痛点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:05:34

RK3568上跑LVGL:从环境搭建到屏显触摸的完整移植指南
RK3568上跑LVGL:从环境搭建到屏显触摸的完整移植指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:05:27

GD32F427开发板GDLink Programmer下载程序与连接失败排查指南
GD32F427开发板GDLink Programmer下载程序与连接失败排查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:05:27

shadcn-vue 在 Laravel + Inertia + Vue 项目中的安装与组件接入指南
shadcn-vue 在 Laravel + Inertia + Vue 项目中的安装与组件接入指南

shadcn-vue 在 Laravel Inertia Vue 项目中的安装与组件接入指南 【免费下载链接】shadcn-vue Vue port of shadcn-ui 项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-vue 本篇指南面向 Laravel 开发者,讲解如何在基于 Inertia Vue 的 Laravel 项目… · 2026/9/24 15:05:21

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码