当前位置: 首页 > article >正文

再次革新 .NET 的构建和发布方式(三)讶

1 安装与初始化# 全局安装 OpenSpecnpm install -g fission-ai/openspeclatest# 在项目目录下初始化cd /path/to/your-projectopenspec init初始化时OpenSpec 会提示你选择使用的 AI 工具Claude Code、Cursor、Trae、Qoder 等。3 OpenSpec 如何教AI 工作OpenSpec 的核心机制是通过一套规范注入系统让 AI 在每次对话前先学习项目规范。3.1 不同 AI 工具的初始化差异根据你使用的 AI 工具不同OpenSpec 会生成不同的目录结构。这背后的设计理念是最大限度地适配各工具的特性。3.2 ?? 场景 1Claude CodeClaude Code 在执行了 OpenSpec Init 后的目录结构如下.claude/├── commands/│ └── openspec/│ ├── apply.md│ ├── archive.md│ └── proposal.md├── AGENTS.md└── CLAUDE.mdcommands/openspec 这个目录定义了三个不同的命令每个命令文件中所写的提示词都是 AI 在执行该命令时需要参考的规范。上述三个命令分别是apply.md表示执行已批准的变更archive.md归档已完成的变更proposal.md发起新变更提案当我们需要发起新的提案时可以直接使用/openspec:proposal 就可以触发该指令此时 AI 就会根据 proposal.md 中所定义的规范来创建一个新的变更提案。核心文件解读AGENTS.md这个文件是 Claude Code 每次对话时的第一课内容如下# OpenSpec 说明这些指令是针对参与本项目的人工智能助手。当请求中包含以下内容时请务必打开 /openspec/AGENTS.md- 提及规划或提案如提案、规范、变更、计划等字眼- 引入新功能、重大变更、架构调整或重大的性能/安全工作- 听起来含糊不清且在编码前需要权威规范使用 /openspec/AGENTS.md 来学习- 如何创建和应用变更提案- 规范格式和约定- 项目结构和指南保留此托管块以便openspec update可以刷新指令。工作原理Claude Code 启动时自动读取 AGENTS.md判断用户请求是否触提案/变更等关键词如果触发自动加载 openspec/AGENTS.md 中的详细规范AI 按照规范执行任务3.3 ?? 场景 2Trae字节跳动OpenSpec 在初始化时可选择的AI 工具中是不支持 Trae 的但是很多朋友是基于 Trae 在开发。所以对于使用 Trae 的朋友我们在执行 OpenSpec Init 的时候可以选择最后一个选项 Other Tools (适用于 VsCode 等此时初始化后的目录结构如下项目根目录/├── AGENT.md # 项目级规范需手动配置└── openspec/├── AGENTS.md # OpenSpec 详细规范├── project.md # 项目知识库├── specs/ # 已实现能力规范└── changes/ # 变更提案关键差异需要手动配置与 Claude Code 不同老版本的 Trae 不会自动读取 AGENT.md。此时你需要手动将规范内容添加到 Trae 的项目规则中。但是对于Trae 2026 年 1 月份最新的一次版本变更中也已经兼容了读取 AGENT.md 文件作为项目规则来使用。所以使用老版本 Trae 的朋友需要基于下述步骤进行配置打开 Trae 的项目设置找到项目规则配置将 AGENT.md 的内容粘贴进去保存后Trae 每次对话都会加载该规则配置完成后Trae 的工作流程与 Claude Code 类似每次对话自动加载项目规则判断是否触发 OpenSpec 规范根据规范执行对应任务3 OpenSpec 规范核心要点无论使用哪种 AI 工具OpenSpec 的核心工作流都是一致的。理解这套规范你就能更好地与 AI 协作。三阶段工作流阶段1创建变更Proposal↓阶段2实现变更Apply↓阶段3归档变更Archive何时必须创建提案场景 是否需要提案新增功能或能力 ? 必须破坏性变更API/Schema ? 必须架构或模式调整 ? 必须Bug 修复恢复既有行为 ? 跳过拼写、格式、注释修正 ? 跳过非破坏性依赖升级 ? 跳过常用命令openspec list # 列出所有变更openspec list --specs # 列出所有规范openspec validate # 校验变更openspec archive # 归档变更?? 小贴士作为人类开发者你无需记忆这些命令。AI 会自动执行相应的操作来检查和管理变更提案。你只需要理解这套规范的工作流程就能与 AI 配合无间。openspec/project.md 的作用这个文件是项目的知识库用于存放项目目标和背景核心业务术语技术栈说明详细文档索引4 常见问题解答4.1 Q1为什么有时候 AI 不触发 OpenSpec 规范A这通常是因为触发条件未被满足。OpenSpec 的触发机制基于关键词匹配如提案、变更、规范等。如果你的请求不包含这些关键词AI 则不会加载 OpenSpec 规范。解决方案明确使用触发词帮我创建一个变更提案直接指定文件先阅读 openspec/project.md 再回答使用斜杠命令/openspec:proposal如果工具支持5.2 Q2project.md 中的业务知识什么时候生效A只有触发 OpenSpec 规范后才会读取。这是一个重要的设计权衡知识类型 存放位置 触发条件通用开发规范 /AGENTS.md 每次对话自动加载OpenSpec 工作流 openspec/AGENTS.md 触发关键词后加载业务上下文 openspec/project.md 通过规范索引间接加载实践建议将通用规则如项目结构、编码风格放在 /AGENTS.md 中将业务知识索引也写在 /AGENTS.md 中便于日常对话触发或者在对话中明确要求 AI 先阅读特定文档5.3 Q3如何让 AI 自动检索相关背景知识A这是 OpenSpec 的进化方向。目前最佳实践是在 /AGENTS.md 中建立业务知识索引采用提案方式讨论业务逻辑自动触发规范对话中明确指定先阅读 docs/xxx.md 再回答6 五、总结OpenSpec 的核心价值回到开篇的问题为什么有时候让 AI 发起提案时灵时不灵答案现在很清楚了触发机制AI 需要识别到特定关键词才会加载 OpenSpec 规范工具差异不同 AI 工具对规范文件的支持程度不同知识分层业务知识与开发规范需要合理分层存放OpenSpec 的核心价值在于通过规范注入让 AI 从项目小白成长为熟悉业务的开发伙伴。它不是银弹但当你理解了它的工作原理后就能让 AI 在团队协作中发挥真正的作用。当然在有需要的时候我们也可以修改 OpenSpec 初始化时所生成的一系列.md文件直接变更规范使其更加符合企业内的业务流程。山俳烧佳

相关文章:

再次革新 .NET 的构建和发布方式(三)讶

1 安装与初始化 # 全局安装 OpenSpec npm install -g fission-ai/openspeclatest # 在项目目录下初始化 cd /path/to/your-project openspec init 初始化时,OpenSpec 会提示你选择使用的 AI 工具(Claude Code、Cursor、Trae、Qoder 等)。 3 O…...

大模型多目标A/B测试框架(MO-ABT)正式开源:支持响应质量、成本、时延、安全4维联合优化,仅限首批200家申请接入

第一章:大模型工程化中的A/B测试实践 2026奇点智能技术大会(https://ml-summit.org) 大模型上线后的效果验证不能依赖主观评估或离线指标,而必须通过可控、可复现的线上实验机制完成。A/B测试是当前工业界验证模型迭代价值的核心方法论,尤其…...

【Skills开发实战指南】第25篇:PPT演示Skill:幻灯片自动生成与美化

在企业汇报、产品展示、学术演讲等场景中,PowerPoint演示文稿的制作是极其重要但耗时的工作。本文深入探讨如何通过Skills实现PPT演示文稿的自动化生成与美化,从基础幻灯片创建到复杂模板设计,从简单的文本填充到高级的图表集成,提…...

2026抖音买单服务商专业解析:同城商家如何选择实力合作伙伴

在同城商家加速数字化转型的背景下,抖音买单作为"支付引流"的一体化工具,其核心价值正被越来越多的实体商户所关注。然而,面对市场上各类服务商宣传,如何准确评估合作伙伴的专业实力,成为商家决策的关键痛点…...

C++逆向解析通达信shm.tnf文件:从模糊格式到精准读取股票数据的实战

1. 初识通达信shm.tnf文件 第一次接触通达信的shm.tnf文件是在开发一个股票数据分析工具的时候。当时我需要获取沪市所有股票的代码和名称信息,但发现通达信并没有提供官方的文件格式说明。这个文件就像是一个黑盒子,里面装满了股票数据,却没…...

鸿蒙ArkTS开发实战:从Java/TS迁移到ArkTS的5个关键语法差异

鸿蒙ArkTS开发实战:从Java/TS迁移到ArkTS的5个关键语法差异 如果你是一名有Java或TypeScript背景的开发者,正准备进军鸿蒙生态的ArkTS开发,那么掌握这些关键语法差异将大幅提升你的迁移效率。ArkTS作为鸿蒙应用开发的主力语言,在设…...

《OpenClaw (Docker手工部署版) 终极避坑与实战指南》俏

MySQL 中的 count 三兄弟:效率大比拼! 一、快速结论(先看结论再看分析) 方式 作用 效率 一句话总结 count(*) 统计所有行数 最高 我是专业的!我为统计而生 count(1) 统计所有行数 同样高效 我是 count(*) 的马甲兄弟…...

前端动画:别让你的页面像块木头一样僵硬

前端动画:别让你的页面像块木头一样僵硬 什么是前端动画? 前端动画是指在前端页面中添加的动态效果,让页面更加生动有趣。别以为动画只是花里胡哨的东西,好的动画可以提升用户体验,让你的应用脱颖而出。 为什么需要动画…...

上班族也能用的PTrade量化策略:沪深300增强版保姆级配置指南

上班族量化投资实战:PTrade沪深300增强策略全流程配置手册 每天早上9点挤地铁时刷财经新闻,总能看到沪深300指数又创新高的消息,心里盘算着"要是早点入场就好了"。但作为朝九晚六的上班族,既没时间盯盘,又怕…...

PP-DocLayoutV3企业应用:保险理赔单据——发票/病历/费用清单三类文档统一分析

PP-DocLayoutV3企业应用:保险理赔单据——发票/病历/费用清单三类文档统一分析 1. 引言:保险理赔的“信息迷宫”与破局之道 想象一下,你是一家保险公司的理赔审核员。每天,你的办公桌上堆满了来自不同医院、不同科室、不同格式的…...

系统接口文档

系统接口文档是软件开发中不可或缺的技术桥梁,它定义了不同模块或系统之间交互的规则与数据格式。无论是企业级应用还是互联网服务,清晰的接口文档能大幅提升协作效率,降低沟通成本。随着微服务架构和API经济的兴起,接口文档的价值…...

别再乱买线了!一文看懂Type-C接口的2脚、6脚、24脚区别(附选购指南)

别再乱买线了!一文看懂Type-C接口的2脚、6脚、24脚区别(附选购指南) 每次看到购物平台上琳琅满目的Type-C数据线,价格从9.9元包邮到299元不等,你是不是也犯过选择困难症?上周我帮朋友选购笔记本扩展坞时就踩…...

【书生·浦语】internlm2-chat-1.8b在中小企业客服场景落地:轻量级AI助手实操

【书生浦语】internlm2-chat-1.8b在中小企业客服场景落地:轻量级AI助手实操 1. 引言:中小企业客服的痛点与AI新解法 如果你是一家中小企业的老板或客服主管,下面这些场景你一定不陌生: 客服小王每天要重复回答几十遍“你们的产…...

永磁同步电机(PMSM)速度电流双闭环FOC矢量精细控制策略

永磁同步电机(PMSM)速度电流双闭环FOC矢量控制深夜实验室的示波器上跳动着杂乱的波形,老张盯着屏幕猛嘬了口烟:"这破电机咋就跟喝高了似的?"三个月前接手这个永磁同步电机控制项目时,他绝对没想到…...

Rust的#[repr(packed)]结构体

Rust语言中的#[repr(packed)]结构体是一个值得深入探讨的特性,它能够帮助开发者优化内存布局,特别适合对内存对齐有严格要求的场景。在嵌入式开发、网络协议解析等领域,精确控制结构体的内存排列至关重要。本文将带你了解#[repr(packed)]的独…...

GLM-OCR轻量级专业OCR模型:快速部署与网页界面使用指南

GLM-OCR轻量级专业OCR模型:快速部署与网页界面使用指南 你是不是经常需要从图片、扫描件或者PDF里提取文字?手动打字太慢,用在线工具又担心文件安全和次数限制。今天要介绍的GLM-OCR,就是一个能让你彻底告别这些烦恼的解决方案。…...

从硬件原理到软件中断:深入解析耳机插拔与按键检测的实现逻辑

1. 耳机接口的硬件基础:从三段式到四段式 第一次拆解耳机接口时,我被那些细小的金属环搞晕了头。后来发现,这些看似简单的结构藏着精妙的电路设计。最常见的3.5mm耳机接口分为三段式和四段式两种,就像USB-A和Type-C的区别&#xf…...

C++ 右值引用与程序优化

一、左值与右值基础概念1. 左值(Lvalue)定义:能取地址、可被修改(除非用const修饰)的表达式,有持久的生命周期。示例:int a 10; // a是左值,&a合法 const int b 20; // b是con…...

PostgreSQL运维实战:批量修改Schema下所有表Owner的三种方法(附完整脚本)

PostgreSQL运维实战:批量修改Schema下所有表Owner的三种方法(附完整脚本) 当数据库权限架构需要重构时,批量修改Schema下所有表的Owner是DBA常见的运维需求。本文将深入探讨三种实用方法,帮助你在生产环境中高效、安全…...

从PostGIS到GeoTools:自相交多边形的有效处理方案对比

1. 自相交多边形的常见问题与挑战 在地理信息系统(GIS)开发中,自相交多边形(Self-Intersecting Polygon)是个让人头疼的问题。想象一下,你画一个五角星,线条在中间交叉——这就是典型的自相交多…...

Rust的async-.await内部机制:状态机与Future trait

Rust的async/.await内部机制:状态机与Future trait Rust的async/.await语法为异步编程提供了简洁高效的解决方案,但其底层实现却隐藏着精妙的设计。理解其内部机制——状态机与Future trait,不仅能帮助开发者写出更高效的异步代码&#xff0…...

从零构建差速机器人MPC控制器:C++实现与OSQP实战

1. 差速机器人MPC控制入门指南 第一次接触差速机器人控制时,我被各种数学公式和算法绕得头晕。直到发现MPC(模型预测控制)这个神器,才真正体会到什么叫"用未来指导现在"的控制方法。简单来说,MPC就像下棋时提…...

【AI绘图进阶指南】Latent Diffusion Model核心组件解析——从理论到实践

1. 从像素到潜空间:Autoencoder如何重塑AI绘图 第一次接触Latent Diffusion Model(LDM)时,最让我困惑的就是:为什么要把好端端的图片压缩成看不懂的"潜空间"表示?后来在项目里踩过几次坑才明白&a…...

DAMOYOLO-S跨平台部署演示:从Ubuntu服务器到Windows客户端的全链路

DAMOYOLO-S跨平台部署演示:从Ubuntu服务器到Windows客户端的全链路 最近在做一个项目,需要把目标检测模型部署到不同的设备上,既要跑在云端服务器做批量处理,又要在本地Windows电脑上实时运行。试了好几个模型,要么部…...

惠普ZBook 15 G2黑苹果双屏实战:EDID提取+Clover注入保姆级教程(附亮度调节技巧)

惠普ZBook 15 G2黑苹果双屏配置全解析:从EDID提取到亮度优化 当专业用户尝试在惠普ZBook 15 G2上实现黑苹果双屏输出时,往往会遇到内屏无法正常管理的问题。这不仅影响工作效率,还会导致不必要的电量消耗和屏幕损耗。本文将深入探讨一套完整的…...

从防御者视角复盘:如果你的PHP代码像DVWA Low级一样写,会被黑客怎么‘爆’?

开发者必修课:当你的PHP代码沦为黑客的游乐场 想象一下这样的场景:你三年前写的PHP代码至今仍在线上运行,而某天突然发现数据库中的所有用户信息被黑客拖库。更可怕的是,攻击者利用的正是你当年随手写下的$id $_REQUEST[id];这样…...

如何用ExplorerPatcher打造终极Windows界面定制体验:5分钟快速上手完整指南

如何用ExplorerPatcher打造终极Windows界面定制体验:5分钟快速上手完整指南 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是不…...

避开Epic安装陷阱:从DirectX冲突到VC++运行库的终极修复指南

深度解析Epic游戏平台安装故障:从系统组件修复到环境配置的全方位指南 系统组件冲突的根源分析 当你在Windows系统上尝试安装Epic游戏平台时遇到"Windows Installer软件包问题"的错误提示,这通常意味着系统底层组件出现了兼容性或完整性故障。…...

Windows平台下基于CMake与VS2022的SOEM EtherCAT主站开发环境搭建指南

1. 环境准备:工欲善其事必先利其器 在Windows下玩转EtherCAT主站开发,首先得把工具链配齐。我当年第一次搭环境时,光是找齐这些工具就花了半天时间,现在把踩坑经验一次性打包给你。 必备三件套: Visual Studio 2022&am…...

手把手教你用StructBERT:中文句子相似度计算,智能匹配客服问题

手把手教你用StructBERT:中文句子相似度计算,智能匹配客服问题 1. 引言:为什么需要中文句子相似度计算 在日常工作和生活中,我们经常遇到需要判断两句话意思是否相似的情况。比如在客服系统中,用户可能会用不同的方式…...