ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

✅ {Phase Name} Complete

✅ {Phase Name} Complete ✅ {Phase Name} Complete【免费下载链接】ppt-masterAI turns documents or topics into real, native PowerPoint decks—with native shapes, transitions and animations,>项目地址: https://gitcode.com/GitHub_Trending/ppt/ppt-master{evidence-driven assertion 1}{evidence-driven assertion 2}Next: {next-phase pointer}条目必须是**证据驱动**的file exists at path X、status N is Generated而非愿景驱动prompts are good。 ### 11. 全层禁用模式 - 本地化的警告/惊叹引用块用 Note 或省略 - 标题中的装饰性 emoji✅ 仅限检查点标题中的这一处合法用法 - 笑脸 / 闪光 / 火焰 emoji - 脚注[^1] - Markdown 正文中的 HTMLdetails、br 等——只有 SVG 嵌入示例允许在代码块里使用真实 svg/image绝不允许作为活动 Markdown - 未标注强度的 **Best practice**: ... 标签——应改用第 4 节的强度标签。**永远不要留下未标注的软性建议**对模型来说未加标签的行会被读成硬性规则。 ### 12. 与既有文件冲突时 既有文件是 ground truth。若某个现存 references/*.md 违反了本条规则要么 (a) 更新本指南以匹配事实约定要么 (b) 重构那个文件——不要静默地把一种分叉风格套到单个新文件上。仓库给出了可作为模板的范本映射 | 如果你在写... | 以它为范本 | |---|---| | 角色参考Image_X / Strategist 风格 | [image-searcher.md](https://link.gitcode.com/i/10d1de9012ebd5f2eb510d18642df954)、[strategist.md](https://link.gitcode.com/i/0769ce62e4c8a7337ea90b27fd00b814) | | 跨角色的共享规格 | [image-base.md](https://link.gitcode.com/i/14b4f077b3c6289d9f23d5f4b6f61f0e)、[shared-standards-core.md](https://link.gitcode.com/i/89d49e61d3e7eeddb46ecc9bf32aabcd) | | 技术 / 格式规格 | [canvas-formats.md](https://link.gitcode.com/i/06f099c0d1ca0ccbb9005901d8c18991)、[svg-image-embedding.md](https://link.gitcode.com/i/cc44921cc81a3017b19f8021e349a9f6)、[image-layout-spec.md](https://link.gitcode.com/i/6490813408031794c1de8af5dc5fcd30) | | 阶段运行手册 | skills/ppt-master/workflows/stages/ 下的 verify-charts 等 runbook | ### 13. 提示词重构评审 提示词压缩只有在**分别**评审 token 削减与语义变化之后才算完成 | 检查项 | 所需证据 | |---|---| | 所有者与消费者 | 每个被移动的字段/能力仍有唯一权威且每个运行时消费者加载或投影该权威 | | 强度差 | 对被删除、移动或重写的 Hard rule / Forbidden / Default / Reference 指令记录 before → after | | 失败谓词 | 保留支撑每个非自明硬边界的紧凑客观不变量 | | 自由边界 | 许可没有变成配额、参考没有变成锁、灵活实现没有变成静默重选 | | 准备时机 | Strategist 拥有的获取与物化没有移入 Executor 或移到最终确认之前 | | 能力发现 | 条件性深层规格在其加载门前保留短可见菜单或外部可观察触发器 | | token 差 | 路由/文件预算变更需单独报告预算通过不能证明语义等价 | **硬性规则**一个更短的提示词若改变了决策所有权、约束强度、准备时机或能力可发现性即使结构与 token 预算审计全部通过仍是语义回归。 ## Python 代码风格规范code-style.md [code-style.md](https://link.gitcode.com/i/d6b5ec9934f415c31fb48f3063a0639b) 约束 [skills/ppt-master/scripts/](https://link.gitcode.com/i/1688f98ab4a7a8c38354066404576a26) 下所有 Python。它自述为务实而非穷尽——只捕捉读者实际会遇到的约定PEP 8 免费提供的内容不再赘述。仓库里约 240 个 Python 文件正是这套规范的实际产物下述多数约定都能在真实脚本中直接验证。 ### 1. 文件头File Header scripts/ 下每个脚本必须以固定结构开头 python #!/usr/bin/env python3 PPT Master - Short Tool Name One-paragraph description of what this script does. Usage: python3 scripts/name.py required_arg [options] Examples: python3 scripts/name.py projects/project_name -o output_dir Dependencies: None (only uses standard library) -- or list third-party deps 元素规则Shebang#!/usr/bin/env python3即使是非 CLI 辅助模块也要有模块 docstring工具名 用途 Usage Examples Dependencies内部辅助模块可加早期--help短路见第 4 节2. 导入分组# 1. Standard library import os import sys import argparse import re from pathlib import Path from typing import Optional # 2. Third-party import requests # 3. Local — sometimes need sys.path injection first (see §3) from image_sources.provider_common import ( AssetCandidate, ImageSearchRequest, )规则分组顺序 std → third-party → local组间空行组内短导入按长度、≥ 4 个导入按字母序from x import列表在 ≥ 4 个名字时每行一个并带尾逗号当文件使用 PEP 604 的X | Y联合语法且可能运行在 Python 3.10 时在顶部加from __future__ import annotations。3. sys.path 注入项目约定scripts/不是 Python 包而是扁平的脚本目录。每个需要导入兄弟模块的入口脚本都要自己把scripts/注入sys.pathimport sys from pathlib import Path _SCRIPTS_DIR Path(__file__).resolve().parent if str(_SCRIPTS_DIR) not in sys.path: sys.path.insert(0, str(_SCRIPTS_DIR)) from image_backends.backend_common import download_image # noqa: E402规则只在入口点注入image_sources/、image_backends/等库模块之间正常互相导入用Path(__file__).resolve().parent以在符号链接与别名场景下保持稳健注入后的导入用# noqa: E402诚实抑制 lint 警告而不是整文件 noqa。scripts/下image_sources/、image_backends/等子目录含 provider_common、backend_common 等共享模块的存在印证了这一约定。4. CLI 入口点def build_parser() - argparse.ArgumentParser: parser argparse.ArgumentParser( descriptionOne-line description., formatter_classargparse.RawDescriptionHelpFormatter, ) parser.add_argument(query, help...) parser.add_argument(-o, --output, default., help...) return parser def main(argv: Optional[list[str]] None) - int: parser build_parser() args parser.parse_args(argv) # ... do the thing ... return 0 if __name__ __main__: raise SystemExit(main())规则备注main(argvNone) - int返回退出码可传入argv以便测试raise SystemExit(main())优于sys.exit(main())formatter_classargparse.RawDescriptionHelpFormatter让 docstring 格式在--help中原样保留内部辅助模块的--help模块级if __name__ __main__ and any(...)早退输出进度 / 状态写stderr主输出若有写 stdout帮助与参数校验要求-h/--help必须由argparse首选或显式早期守卫处理且须在任何副作用之前——不得创建目录、写文件、发网络请求、装包或启动常驻服务帮助标志绝不能被当作位置参数值init --help不能创建一个名为--help的项目export --help不能写出名为--help的文件带子命令的脚本用argparsesubparsers每个子命令要有自己的帮助并先校验必选参数再干活缺失必选参数与未知标志必须打印 usage/error 并非零退出禁止静默忽略。可直接执行仅供诊断的内部辅助模块非帮助调用要么执行文档化的诊断命令要么打印简短的 use via ... 提示并非零退出不得以 import 回溯告终。控制台编码每个可直接运行的入口脚本都必须在启动时调用一次configure_utf8_stdio()来自console_encoding.py见第 9 节且须在任何面向用户的 print 或导入可能打印的可选依赖之前。它强制stdout/stderr为带errorsreplace的 UTF-8使非 UTF-8 的 Windows 区域设置如 GBK不会因 Unicode 状态输出而崩溃本身已是 UTF-8 的系统上行为不变。文件 I/O 仍需显式传encodingutf-8第 13 节此规则只管控制台。该函数在 console_encoding.py 中实现。5. 类型注解所有新公开函数必须加注解内部_helpers可选。模式用途def f(x: str, *, y: int 0) - bool:公开函数tuple[int, int] \| NonePEP 604 联合必要时配合from __future__ import annotationsOptional[X]来自 typingX \| None的可接受替代list[X]、dict[K, V]内置泛型Python 3.9Any克制使用——只在对接真正异构数据时用禁止过度规格化如Callable[[int, str], dict[str, list[Optional[Union[int, str]]]]]应拆成带类型的 dataclassLiteral[a,b,c]不要到处用——除非类型本身就是 API。6. 命名种类约定示例模块文件snake_case.pyimage_search.py、svg_to_pptx.py脚本入口动词或名词短语finalize_svg.py、notes_to_audio.py公开函数snake_casedownload_image、parse_results私有辅助_snake_case_load_dotenv_if_available、_measure_actual_image常量UPPER_SNAKE_CASEAPI_URL、DEFAULT_PAGE_SIZE类PascalCaseAssetCandidate、SVGQualityCheckerdataclass 字段snake_caselicense_tier、download_url模块私有正则私有 _RE后缀_TAG_RE、HEADING_RE7. 错误处理情形模式可选依赖try: import x; HAS_X Trueexcept ImportError: HAS_X False可选兄弟模块try/except 包裹并回退默认值 警告可恢复运行时失败捕获具体异常、记 stderr、return / continue——不得终止管线用户可见错误从main()打印到 stderr 并return 1编程错误Raise——不用补丁掩盖 bug硬性规则永远不要裸except:必须指名异常类。禁止安全相关代码的静默回退没有域名白名单 WARNING 不得禁用 SSL 校验下载路径中捕获所有异常却不记录原因同样被禁。8. 依赖分层层级可被要求的位置标准库任何地方requests、Pillow、lxml常用依赖主脚本可安全要求Provider SDKgoogle-genai、openai、anthropic等在使用它的函数内部惰性导入以ImportError→ 含安装指引的RuntimeError软失败python-dotenv可选——try/except 包裹缺失时无操作def _require_api_key() - str: key os.environ.get(PEXELS_API_KEY) or if not key: raise RuntimeError( PEXELS_API_KEY is not set. Add it to your environment or .env file. Get one at https://www.pexels.com/api/ ) return key错误消息必须包含修复方法——要设哪个环境变量到哪里拿 key要装哪个包。仓库 requirements.txt 与skills/ppt-master/requirements.txt的分层依赖与此对应。9. 共享辅助层公共功能必须放在指定子模块中新脚本使用这些实现而非各自复制一份模块职责backend_common.pyHTTP 下载、重试、图像格式检测、Pillow 转码保存provider_common.py许可分类、查询简化、评分、署名文本、dataclassproject_utils.py画布格式、项目路径约定slide_roster.py数字幻灯片文件名排序与 SVG 名册发现error_helper.py面向用户的错误消息模板console_encoding.pyconfigure_utf8_stdio()——CLI 入口强制 UTF-8 控制台禁止复制共享辅助中已存在的逻辑——辅助缺功能就扩展辅助不要在自己的新脚本里 fork 一份。10. Docstring短小、祈使式。除非签名确实复杂否则不加 Args/Returns/Raises 段。def classify_license( license_name: str, license_url: str , provider: str , ) - Optional[str]: Classify a license string into one of the two tiers, or reject it. Returns: no-attribution / attribution-required / None. The provider hint lets us treat Pexels and Pixabays own licenses as no-attribution even when the upstream API only returns a short label like Pexels. 用 Google/Sphinx 风格块的判据函数返回多个语义有差异的分支参数 3 且角色不明显维持了非平凡不变量。反之单行自解释即可。11. 测试约定仓库不随附自动化测试硬性规则本仓库不发布自动化测试。被禁的包括tests/目录、test_*.py文件、unittest/pytest导入、以及运行自测套件的if __name__ __main__:块。取而代之的是对真实项目样例用python3 -c ...做行内冒烟命令把输出展示在对话 / PR 描述中运行手册中的手工验证步骤对projects/_smoke_*目录已 gitignore做 live-API 冒烟运行。这是刻意的项目约定。外部贡献者若附带了测试评审时请他们移除prompt-style.md 第 11 节对参考文档有并行规则。这一点与参考文档层由运行时 LLM 驱动、检查器不得检查口味的整体设计一脉相承——验证方式转向基于真实产物的冒烟检查。12. Dataclass值类型优先用普通dataclass而非pydantic/attrs保持简单dataclass class AssetCandidate: provider: str title: str asset_id: str license_tier: str width: int 0 height: int 0 raw: Any None【免费下载链接】ppt-masterAI turns documents or topics into real, native PowerPoint decks—with native shapes, transitions and animations,>项目地址: https://gitcode.com/GitHub_Trending/ppt/ppt-master创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表