wps-thesis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited wps-thesis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
按高校标准自动排版毕业论文 / 学术论文(.docx)。
每个大学生的论文排版噩梦,到此为止。
wps-report-writerwps-gongwenwps-proofread纸张:A4 (210mm × 297mm)
上边距:30mm
下边距:25mm
左边距:30mm(装订侧加宽)
右边距:20mm
页眉:15mm,含学校名/论文标题
页脚:页码居中,小五号| 元素 | 字体 | 字号 | 说明 |
|---|---|---|---|
| 论文题目 | 黑体 | 小二号(18pt) | 居中,加粗 |
| 章标题(第X章) | 黑体 | 三号(16pt) | 居中,加粗 |
| 节标题(X.X) | 黑体 | 四号(14pt) | 左对齐,加粗 |
| 小节标题(X.X.X) | 黑体 | 小四号(12pt) | 左对齐,加粗 |
| 正文 | 宋体 | 小四号(12pt) | 首行缩进2字符 |
| 摘要标题 | 黑体 | 三号(16pt) | 居中 |
| 摘要内容 | 宋体 | 小四号(12pt) | |
| 关键词 | 黑体+宋体 | 小四号(12pt) | "关键词:"黑体,内容宋体 |
| 参考文献 | 宋体 | 五号(10.5pt) | |
| 页眉 | 宋体 | 小五号(9pt) | |
| 页码 | Times New Roman | 小五号(9pt) |
正文:1.5倍行距
摘要:1.5倍行距
参考文献:单倍行距
图表标题:单倍行距必填信息:
可选信息:
标准毕业论文结构:
[封面]
[独创性声明]
[中文摘要 + 关键词]
[英文摘要 + Keywords]
[目录]
──────────────────
第一章 绪论
1.1 研究背景
1.2 研究现状
1.3 研究内容与方法
1.4 论文结构
第二章 相关理论与技术
2.1 ...
第三章 系统设计 / 方法论
3.1 ...
第四章 实验与分析
4.1 ...
第五章 总结与展望
5.1 主要工作总结
5.2 不足与展望
──────────────────
[参考文献]
[致谢]
[附录](可选)
[个人简历/发表论文](硕博)pip install python-docx 2>/dev/null || pip3 install python-docx 2>/dev/null核心生成逻辑:
from docx import Document
from docx.shared import Pt, Mm, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.section import WD_ORIENT
from docx.oxml.ns import qn, nsdecls
from docx.oxml import parse_xml, OxmlElement
import os
def create_thesis(info, content=None, output_path=None):
"""
info = {
'title_cn': '基于深度学习的图像识别系统研究',
'title_en': 'Research on Image Recognition System Based on Deep Learning',
'author': '张三',
'school': 'XX大学',
'department': '计算机科学与技术学院',
'major': '计算机科学与技术',
'advisor': '李四 教授',
'degree': '硕士', # 本科/硕士/博士
'student_id': '2023XXXX',
'date': '2026年6月',
}
"""
doc = Document()
# 页面设置
section = doc.sections[0]
section.page_width = Mm(210)
section.page_height = Mm(297)
section.top_margin = Mm(30)
section.bottom_margin = Mm(25)
section.left_margin = Mm(30)
section.right_margin = Mm(20)
def set_font(run, name='宋体', size=12, bold=False, color=None):
run.font.size = Pt(size)
run.font.name = name
run._element.rPr.rFonts.set(qn('w:eastAsia'), name)
run.bold = bold
if color:
run.font.color.rgb = color
def add_heading_cn(text, font_name='黑体', size=16, bold=True,
align=WD_ALIGN_PARAGRAPH.CENTER):
p = doc.add_paragraph()
p.alignment = align
p.paragraph_format.space_before = Pt(24)
p.paragraph_format.space_after = Pt(18)
p.paragraph_format.line_spacing = Pt(28)
run = p.add_run(text)
set_font(run, font_name, size, bold)
return p
def add_body(text, indent=True):
p = doc.add_paragraph()
p.paragraph_format.line_spacing = Pt(22)
if indent:
p.paragraph_format.first_line_indent = Pt(24)
run = p.add_run(text)
set_font(run, '宋体', 12)
return p
# === 封面 ===
for _ in range(3):
doc.add_paragraph()
# 学校名
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run(info['school'])
set_font(run, '华文中宋', 26, True)
# 学位类型
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_before = Pt(10)
degree_text = {'本科': '本科毕业论文', '硕士': '硕士学位论文',
'博士': '博士学位论文'}.get(info['degree'], '学位论文')
run = p.add_run(degree_text)
set_font(run, '华文中宋', 22)
doc.add_paragraph()
# 论文题目
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
p.paragraph_format.space_before = Pt(30)
run = p.add_run(info['title_cn'])
set_font(run, '黑体', 18, True)
doc.add_paragraph()
# 信息表
fields = [
('作 者', info['author']),
('学 号', info.get('student_id', '')),
('院 系', info.get('department', '')),
('专 业', info['major']),
('指导教师', info['advisor']),
('完成日期', info['date']),
]
for label, value in fields:
if value:
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run1 = p.add_run(f'{label}:')
set_font(run1, '宋体', 14)
run2 = p.add_run(value)
set_font(run2, '宋体', 14)
doc.add_page_break()
# === 中文摘要 ===
add_heading_cn('摘 要', '黑体', 16)
add_body('(在此输入中文摘要内容,一般300-500字)')
doc.add_paragraph()
p = doc.add_paragraph()
run = p.add_run('关键词:')
set_font(run, '黑体', 12, True)
run2 = p.add_run('关键词1;关键词2;关键词3')
set_font(run2, '宋体', 12)
doc.add_page_break()
# === 英文摘要 ===
add_heading_cn('Abstract', 'Times New Roman', 16)
add_body('(Type your English abstract here, typically 200-300 words)')
doc.add_paragraph()
p = doc.add_paragraph()
run = p.add_run('Keywords: ')
run.font.size = Pt(12)
run.font.name = 'Times New Roman'
run.bold = True
run2 = p.add_run('keyword1; keyword2; keyword3')
run2.font.size = Pt(12)
run2.font.name = 'Times New Roman'
doc.add_page_break()
# === 目录占位 ===
add_heading_cn('目 录', '黑体', 16)
add_body('(请在WPS中插入 → 引用 → 目录 → 自动目录)', False)
doc.add_page_break()
# === 正文章节框架 ===
chapters = [
('第一章 绪论', ['1.1 研究背景', '1.2 国内外研究现状',
'1.3 研究内容与方法', '1.4 论文结构安排']),
('第二章 相关理论与技术', ['2.1 (根据论文主题填写)']),
('第三章 (核心内容章节)', ['3.1 (根据论文主题填写)']),
('第四章 实验与结果分析', ['4.1 实验环境', '4.2 实验设计',
'4.3 结果与分析']),
('第五章 总结与展望', ['5.1 主要工作总结', '5.2 不足与展望']),
]
for chapter_title, sections in chapters:
add_heading_cn(chapter_title, '黑体', 16)
for sec in sections:
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(12)
run = p.add_run(sec)
set_font(run, '黑体', 14, True)
add_body('(在此输入内容)')
doc.add_page_break()
# === 参考文献 ===
add_heading_cn('参考文献', '黑体', 16)
refs = [
'[1] 作者. 论文题目[J]. 期刊名, 年, 卷(期): 起止页.',
'[2] 作者. 书名[M]. 出版地: 出版社, 年.',
'[3] Author. Title[J]. Journal, Year, Vol(No): Pages.',
]
for ref in refs:
p = doc.add_paragraph()
run = p.add_run(ref)
set_font(run, '宋体', 10.5)
doc.add_page_break()
# === 致谢 ===
add_heading_cn('致 谢', '黑体', 16)
add_body('(在此输入致谢内容)')
# 保存
if not output_path:
output_path = f"{info['title_cn'][:20]}_论文.docx"
doc.save(output_path)
return os.path.abspath(output_path)[期刊] 作者. 题名[J]. 刊名, 出版年, 卷(期): 起止页码.
[图书] 作者. 书名[M]. 版次. 出版地: 出版者, 出版年: 页码.
[学位论文] 作者. 题名[D]. 保存地: 保存单位, 年份.
[会议论文] 作者. 题名[C]//会议录. 出版地: 出版者, 年: 页码.
[网络文献] 作者. 题名[EB/OL]. (发布日期)[引用日期]. URL.
[专利] 申请者. 专利名[P]. 专利国: 专利号, 公告日期.
[标准] 标准号. 标准名称[S]. 出版地: 出版者, 年份.# 生成论文模板
/wps-thesis 基于深度学习的图像识别系统研究,硕士论文,浙江大学计算机学院
# 只要框架
/wps-thesis 帮我生成一份本科毕业论文的排版模板,题目是"中小企业数字化转型研究"
# 排版已有内容
/wps-thesis 帮我把 draft.md 的论文内容排版成标准格式的docx~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.