如何为Sashiko贡献代码:‘Sashiko审查Sashiko‘两阶段审查工作流完全指南

发布时间:2026/10/14 15:50:26

如何为Sashiko贡献代码:‘Sashiko审查Sashiko‘两阶段审查工作流完全指南 【免费下载链接】sashikoAgentic review of Linux Kernel code changes项目地址https://gitcode.com/gh_mirrors/sa/sashiko点击查看免费下载Sashiko 是一款面向 Linux 内核的开源AI 代码审查agentic code review系统能够对补丁执行多阶段智能审查。本文将带你完整走通为 Sashiko 贡献代码的全流程从本地验证到标志性的「Sashiko 审查 Sashiko」两阶段审查工作流新手也能照着做出第一个合格 PR。为什么这个项目需要AI审查AISashiko 的核心是用 LLM 流水线审查代码变更那么谁来审查 Sashiko 自己的代码答案是用它自己。项目为自身维护了一套专属审查配置审查工作流定义在 src/workflows/sashiko_patch_review.rs审查提示词prompts放在 projects/sashiko/prompts/与内核等第三方提示词third_party/prompts/严格分离这套自举self-hosting的审查机制贡献者必须走完两个阶段阶段何时谁在审查触发方式阶段一提交 PR 前本地 Sashiko 实例sashiko review --project sashiko阶段二PR 开启/更新后上游 Sashiko 服务sashiko-bot自动评论准备工作克隆仓库并配置环境1. 环境要求Rust 1.90、Git、一个 LLM Provider 的 API Key默认使用 Gemini。2. 克隆仓库--recursive会初始化third_party/linux参考内核等子模块git clone --recursive https://gitcode.com/gh_mirrors/sa/sashiko cd sashiko3. 初始化本地审查配置sashiko init export LLM_API_KEYyour-api-key-here配置说明可参考 docs/daemon.md 与 docs/llm-providers.md。提交规范DCO 签名与原子化提交在写代码之前先记住三条硬性规则详见 CONTRIBUTING.md✅每个提交必须带Signed-off-by使用git commit -s自动添加✅原子提交一个提交只做一件事且能独立编译、通过测试✅消息正文不超过 72 字符且不要在提交信息中使用反引号引用代码make check-pr会先通过 scripts/check-sob.sh 检查签名缺少签名的提交会被直接拦下。阶段零make check-pr 本地确定性验证确定性检查编译、借用检查、格式、clippy交给 Makefilemake check-pr该目标是增量感知的见 Makefile只改了 YAML 就跑yamllint改到 Rust 源码或 Cargo 文件时才运行cargo fmt、三个 feature profile 的cargo clippy和cargo test --all-features。只改文档/提示词时几乎零成本。 如果你修改了内核审查提示词或审查工作流还应跑一下基准测试套件验证见 docs/benchmarking.md建议从最小的benchmarks/benchmark_smoke.json开始。阶段一本地Sashiko 审查 Sashiko自审make check-pr通过后、推送之前运行本地自审# 交互式审查最新一个提交 sashiko review --project sashiko HEAD # 审查整个分支区间--agent 输出机器可读的 JSON sashiko review --project sashiko --agent origin/main..HEAD它检查什么--project sashiko档案会按改动内容自动加载对应的审查指南见 projects/sashiko/prompts/subsystem/subsystem.md覆盖审查维度关注点子系统不变量工作流引擎、AI Provider、数据库迁移、API 鉴权等跨切面模式Tokio 异步纪律、错误处理、并发与资源限制安全边界不受信输入、prompt injection 防护、邮件投递与 embargo 安全工程规范CLI/UI 一致性、SQLite 查询扩展性、提交信息卫生如果 Sashiko 报告了发现finding标准修复循环是在提交中修复问题重跑make check-pr重跑sashiko review --project sashiko直到审查干净阶段二上游 sashiko-bot 的 PR 自动审查当你在 GitHub 上开启或更新 PR 时上游 Sashiko 服务sashiko.sashiko.dev会自动审查被提议的提交并以sashiko-bot身份把报告贴为 PR 评论。规则很明确贡献者必须逐条回应每一条发现没有例外。有效发现修复代码 → 重跑make check-pr和阶段一自审 → 推送更新分支 → 在 PR 中回复确认️误报false positive在 PR 中回复具体的代码证据说明为何不成立并建议同步更新 Sashiko 自审提示词projects/sashiko/prompts/或工作流src/workflows/sashiko_patch_review.rs让以后的审查不再重复误报进阶为审查提示词贡献改进改提示词和改代码一样正式。要点详见 projects/sashiko/prompts/README.md新增指南文件后必须在subsystem/subsystem.md索引中加一行否则永远不会被选中每条陈述必须可被验证为真、锚定真实符号名风格/格式建议不写在这里make lint已覆盖提示词在构建时嵌入二进制内容指纹变化会自动生成新 revision无需手动重装贡献流程速查清单步骤命令/动作1. 提交带签名git commit -s2. 本地验证make check-pr3. 本地自审sashiko review --project sashiko commit4. 推送并开 PRgit push观察sashiko-bot评论5. 逐条处理发现修复或举证误报必要时更新 prompts完整的编码规范与 AI 编码代理行为准则见 AGENTS.md 与 GEMINI.md。准备好后你的第一个 Sashiko PR 之旅就从make check-pr开始了 赞分享【免费下载链接】sashikoAgentic review of Linux Kernel code changes项目地址https://gitcode.com/gh_mirrors/sa/sashiko点击查看免费下载相关推荐Sashiko AI代码审查报告深度解析一份真实内核补丁是怎么被审的Sashiko AI代码审查报告深度解析一份真实内核补丁是怎么被审的 Sashiko 是一个用 AI 对 Linux 内核补丁做自动化代码审查的开源项目让Linus和Andrew Morton都侧目的AI审查系统Sashiko的诞生背景与核心价值让Linus和Andrew Morton都侧目的AI审查系统Sashiko的诞生背景与核心价值 Sashiko 是一个由 Linux 基金会支持的 AI 代码TikTok API逆向工程架构解析高可用分布式社交接口实践指南TikTok API逆向工程架构解析高可用分布式社交接口实践指南 TikTok API是一个基于逆向工程技术实现的非官方TypeScript/JavaScri创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/14 15:45:24

Java Swing智慧公交管理系统实战:从SQLite到BFS换乘算法

简介:一份面向 Java 初学者的智慧公交管理系统完整源码包,基于 Java GUI 与 MySQL 8.0 实现,涵盖车辆、员工、线路、站点、排班等核心业务模块,并提供管理员、调度员、员工三类角色的独立登录与权限管理。系统附带 busmanage.sql …

2026/10/14 15:45:24

MySQL 1055报错全解析:ONLY_FULL_GROUP_BY规则与修复实践

1. 问题描述与报错解析1.1 报错出现的第一现场:一次真实的统计需求几个月前,我在做某个数据报表功能时,碰到一条报错,原话是:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contai…

2026/10/14 17:06:02

决策树入门:从买西瓜理解信息增益与树生长逻辑

1. 为什么一棵“树”能做决定?从菜市场买西瓜说起你有没有在菜市场挑西瓜的经历?老瓜农敲一敲、听个声儿、看个纹路、掂个分量,三秒之内就能告诉你:“这个熟了,沙瓤,甜。”而你掏出手机拍个照,发…

2026/10/14 17:06:02

ThingsBoard Gateway集成OPC-UA协议:工业数据接入与设备映射实践

简介:这是一份面向工业物联网开发者的 OPC-UA 协议集成实操文档,围绕 Thingsboard Gateway 与 OPC-UA 的对接展开,重点解决设备数据采集上云、协议配置与通信验证等问题。文档以 KEPServerEX6 模拟 OPC-UA 服务端、UaExpert 作为客户端工具&a…

2026/10/14 17:06:02

CyclicBarrier的底层实现

想了解CyclicBarrier的底层实现,你可以先去考虑2个问题。 一个是需求是什么?第二个是CyclicBarrier可以直接使用AQS来实现吗? 从这个维度出发去思考,能更好的理解CyclicBarrier的底层实现。 同时这个也是一个设计的问题,开发CyclicBarrier的…

2026/10/14 17:06:02

Qt大恒工业相机二次开发:从SDK接入到QImage显示实战

简介:一份基于Qt的大恒工业相机二次开发C示例项目,面向需要在Windows/Linux等平台快速集成大恒相机的视觉开发者和自动化工程师,解决Qt环境下相机初始化、图像采集与显示等核心问题。工程采用Qt与VS2017搭建,重写了CGXBitmap类以优…

2026/10/14 17:06:02

GEO策略咨询之后,是否支持后续效果复盘、持续迭代优化?

GEO策略咨询并不应止步于一次方案交付。生成式搜索的结果会受到内容结构、语义覆盖、知识来源和平台环境变化影响,因此更合理的方式是建立“诊断—执行—复盘—优化”的持续机制。是否支持后续复盘与迭代,应重点核对服务范围、评估指标、复盘周期和交付边…

2026/10/14 17:01:02

STM32F303基础工程避坑指南:启动文件、链接脚本与时钟配置

简介:STM32F303基础工程文件面向嵌入式开发初学者与需要快速搭建Cortex-M4开发环境的工程师,基于STM32F303芯片,提供从启动、外设驱动到应用逻辑的完整工程骨架,帮助读者跳过繁琐的底层配置,直接进入功能开发与调试。压…

2026/10/14 11:31:03

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/13 17:09:18

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/14 2:32:55

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/14 0:00:33

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:33

macOS/iOS高精度计时:mach_absolute_time原理与实战

1. 项目概述:为什么mach_absolute_time是 macOS/iOS 时间测量的“黄金标准”在 macOS 和 iOS 开发中,我见过太多人用CFAbsoluteTimeGetCurrent()或NSDate.timeIntervalSinceReferenceDate做性能打点,结果在高精度场景下被系统时钟跳变、NTP 同…

2026/10/14 0:00:33

SCORM课件演示与测试全解析:从API通信到自动化验证

简介:这是一套遵循SCORM标准的交互式课件演示与测试资源,面向E-Learning课程开发者、LMS平台测试人员及在线教学从业者,用于验证课件在不同学习管理系统中的识别、传递与跟踪能力。压缩包共28个文件,约12.07MB,以swf动…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑