文档开发工具

工具介绍

声明:本工具当前为测试版本,后续仍会持续调整,建议不要直接应用于商发产品中,如遇问题请提Issue。

CANNBot是一款专为CANN社区开发人员打造的AI辅助工具,基于开源项目Continue二次开发,旨在显著提升开发效率与质量。

开发者在日常开发中,可借助本工具快速完成代码续写、对话问答、文档开发等任务,实现高效率、高质量的工作成果。需要说明的是,本文聚焦文档开发场景,重点介绍工具如何辅助文档写作、质检等。

工具安装

在Visual Studio Code中搜索工具插件并安装:

cannbot_img1

功能总览

针对文档开发场景,本工具目前提供如下能力:

工具配置

工具辅助文档写作或质检过程中,支持自行配置相关能力。以文档质检配置为例,可设置检查模式和对应的检查项:

cannbot_img2

质检项介绍

StaticCheck_markdownlint

针对markdown格式文档进行语法和格式的基础检查,具体的规则介绍和正反例请参考开源项目README

StaticCheck_tag_closed

检查文档里HTML标签闭合问题。请注意,代码块里的HTML标签将不会扫描。

  • 反例:

      <table>
        <tr>
          <th>Header 1
          <th>Header 2</th>   <!-- 错误1:未闭合的<th> -->
        <tr>                  <!-- 错误2:未闭合的<tr> -->
          <td>Data 1<td>      <!-- 错误3:自闭合<td> -->
          <td>Data 2</td>
      </table>                <!-- 错误4:未闭合的<tr>导致结构错乱 -->
    
  • 正例:

      <table>
        <tr>
          <th>Header 1</th>
          <th>Header 2</th>
        </tr>
        <tr>
          <td>Data 1</td>
          <td>Data 2</td>
        </tr>
      </table>
    

检查文档里出现的所有链接是否有效。

  • 反例:

    ![错误官网](https://gitcode.com/cann/ops-math/master/README.md)  <!-- 拼写错误导致 404 -->
    
  • 正例:

    ![正确官网](https://gitcode.com/cann/ops-math/blob/master/README.md)
    

StaticCheck_resource_existence

检查本地资源是否有效,例如图片或链接文件等。

  • 反例:

    ![ci图片](./ci检查结果.jpg)  <!-- 图片相对路径错误 -->
    
  • 正例:

    ![ci图片](./figures/ci检查结果.jpg)
    

StaticCheck_codespell

检查文档中英文单词拼写错误,详细信息可参考codespell-project

如有特殊单词需加入忽略清单,可联系文档管理员

StaticCheck_filename

检查开源文件命名是否规范,仅支持纯英文字符(英文字母、数字、中横线-、下划线_),长度不超过100个字符。

  • 反例:

    docs/算子_README2%.md  <!-- 文件命名带中文字符、特殊字符 -->
    
  • 正例:

    docs/OP_README2.md
    

StaticCheck_punctuation

检查文档中标点符号是否规范,包括标点符号重复/缺失/是否配对使用、空格是否多余/缺失、中英文符号混用等。

  • 反例:

    例1:本接口为试验特性,后续版本可能存在变更,,暂不支持应用于商用产品中。   <!-- 逗号重复 -->
    例2:本接口为试验特性,后续版本可能存在变更,暂不支持应用于商用产品中      <!-- 句末符号缺失 -->
    例3:本接口为试验特性,后续版本可能存在变更,  暂不支持应用于商用产品中。  <!-- 多余空格 -->
    例4:本接口为试验特性,后续版本可能存在变更,暂不支持应用于商用产品中.     <!-- 中文语句用英文逗号/句号  -->
    
  • 正例:

    本接口为试验特性,后续版本可能存在变更,暂不支持应用于商用产品中。
    

StaticCheck_compliance

检查文档中的术语及专有名词是否符合规范或领域常识,同时检查是否存在个人敏感信息或违反法律法规的描述。

  • 反例:

    例1:dvpp库提供了视频和图像解码、缩放等预处理功能。                 <!-- dvpp术语不符合领域规范(改为大写) -->
    例2:若算子执行异常,可联系CANN工程师xxx@qq.com或18312312312。    <!-- 个人敏感信息需删除或转换表达方式 -->
    例3:该接口当前暂不支持AtlasA3训练系列产品。                      <!-- 产品型号不符合领域规范 -->
    
  • 正例:

    例1:DVPP库提供了视频和图像解码、缩放等预处理功能。
    例2:若算子执行异常,可联系CANN工程师。
    例3:该接口当前暂不支持Atlas A3 训练系列产品。
    

AICheck

检查上下文语义正确性、可读性,主要包括如下几项:

  • 中文错别字
  • 中文重复字/英文重复单词
  • 内容模糊、歧义或语病
  • 内容冗余性
  • 内容一致性

DomainCheck_aclnn_API

检查CANN算子库aclnn API文档的规范性、正确性、完备性、可读性,写作模板详见aclnn API文档模板

DomainCheck_AscendC_API

检查CANN Ascend C API文档的规范性、正确性、完备性、可读性,写作规范请参见Tanh样例