Skip to content

Latest commit

 

History

History
249 lines (171 loc) · 8.39 KB

File metadata and controls

249 lines (171 loc) · 8.39 KB

PromptComposer

Python Tkinter License Generated by AI

桌面端结构化提示词生成工具
通过模板化管理,快速生成高质量 AI 对话提示词

工具名称:PromptComposer | 窗口标题:PromptComposer | 执行文件:PromptComposer.exe
通过模板化管理,快速生成高质量 AI 对话提示词


📖 功能特性

单文件架构 - 仅依赖 Python 标准库,无需额外安装依赖
智能占位符 - 输入框内置提示文本,焦点切换自动显示/隐藏
实时预览 - 输入框失焦时自动刷新 Markdown 格式预览
模板管理 - 保存/加载自定义模板,支持场景快速切换
一键复制 - 生成的提示词可直接复制到剪贴板
健壮设计 - 自动创建必要文件夹,内置示例模板


⚡ 快速运行

方式一:直接运行 exe (推荐)

GitHub Releases 下载最新版本的 PromptComposer.exe,双击即可运行。

数据持久化:用户保存的模板存储在 exe 同目录下的 templates\ 文件夹中,方便备份和管理

方式二:直接运行 Python 脚本

# 确保已安装 Python 3.x
python --version

# 直接运行
python prompt_composer.py

方式三:打包成独立 .exe

详细打包说明请查看 BUILD_INSTRUCTIONS.md

快速打包

# 1. 安装打包工具
pip install pyinstaller

# 2. 使用配置文件打包
pyinstaller prompt_composer.spec --clean

输出位置

  • 可执行文件:dist/PromptComposer.exe
  • 首次运行自动创建 templates/ 文件夹和示例模板
  • 用户模板保存在 exe 同目录下的 templates/ 文件夹

💡 使用说明

界面布局

┌─────────────────────────────────────────────────────────┐
│                                                         │
│  [模板选择_______________▼]  [💾 保存为模板]             │
│                                                         │
├──────────────────────┬──────────────────────────────────┤
│  【左侧:输入区】      │  提示词预览:  [🗑️ 清空] [📋 复制]  │
│                      │  ┌────────────────────────────┐  │
│  角色: (3行+滚动)    │  │ # 角色                     │  │
│  背景: (4行+滚动)    │  │ 你是一位资深的...          │  │
│  任务: (4行+滚动)    │  │                            │  │
│  示例: (4行+滚动)    │  │ # 任务                     │  │
│  约束: (4行+滚动)    │  │ 请对提供的代码...          │  │
│  用户输入:           │  │                            │  │
│  (大文本框+滚动)      │  │ # 用户输入                 │  │
│                      │  │ <user_input>               │  │
│                      │  │ ...                        │  │
│                      │  │ </user_input>              │  │
│                      │  └────────────────────────────┘  │
└──────────────────────┴──────────────────────────────────┘

核心工作流程

  1. 加载模板 → 从顶部下拉菜单选择预设模板(如"代码审查助手")
  2. 填写字段 → 在左侧输入框修改/补充内容,失焦时自动更新预览
  3. 复制使用 → 点击预览区标题栏的 [📋 复制到剪贴板] 按钮,粘贴到 AI 对话框
  4. 保存模板 → 点击 [💾 保存为模板],输入名称后保存为 .md 文件

输入字段说明

字段 类型 说明
角色 (Role) 多行 AI 的角色定位(如:资深架构师、翻译专家),支持换行
背景 (Context) 多行 任务的背景信息和上下文
任务 (Task) 多行 明确的目标和期望输出
示例 (Examples) 多行 Few-Shot 示例(输入-输出对)
约束 (Constraints) 多行 格式要求、风格限制、禁止事项
用户输入 (User Input) 大文本 需要处理的原始数据/代码/文本

提示:如果某个字段为空,生成的 Markdown 中将自动跳过该部分(不会生成空标题)。


📁 模板系统

模板文件格式

模板以 Markdown 格式存储在 templates/ 文件夹中,文件名即为模板名称。

重要说明

  • 模板文件支持中文标题(如 # 角色)和英文标题(如 # Role
  • 用户界面始终显示中文标签(角色、背景、任务等)
  • 新保存的模板默认使用中文标题
  • 内置示例模板(demo.md)使用英文标题,更加通用

示例:templates/周报助手.md

# Role
你是一位专业的职场沟通顾问。

# Task
将用户提供的工作记录整理成结构化的周报。

# Constraints
- 使用「本周完成」「下周计划」「风险提示」三段式结构
- 每条使用 - 开头,简洁专业
- 突出量化指标

# User Input
<user_input>
周一修复了登录 bug,周三上线了支付功能,周五参加了技术分享会
</user_input>

模板管理操作

  • 加载模板:顶部下拉菜单选择
  • 保存模板:点击 [💾 保存为模板],输入名称(非法字符自动替换为 _
  • 清空内容:点击 [🗑️ 清空内容] 或选择 [ 清空/默认 ]
  • 删除模板:手动进入 templates/ 文件夹删除对应 .md 文件

🛠️ 技术栈

  • 语言:Python 3.x
  • GUI 框架:tkinter (标准库)
  • 依赖:无(仅使用标准库 os, re, glob
  • 平台:Windows / macOS / Linux

⚙️ 打包配置(进阶)

自定义窗口图标

如果希望打包后的 .exe 使用自定义图标:

pyinstaller --onefile --noconsole --icon=icon.ico --name="PromptComposer" prompt_composer.py

注意:需要提前准备 icon.ico 文件(推荐尺寸 256x256)

打包体积优化

# 排除不必要的模块(需测试兼容性)
pyinstaller --onefile --noconsole --exclude-module matplotlib --exclude-module numpy --name="PromptComposer" prompt_composer.py

常见问题

Q: 打包后运行时找不到模板?
A: 请确保将 templates/ 文件夹复制到 .exe 文件旁边。

Q: 打包后的 .exe 体积过大?
A: 正常情况下约 8-12 MB,这是 PyInstaller 内置 Python 解释器导致的。可尝试使用 UPX 压缩:

pyinstaller --onefile --noconsole --upx-dir="C:\upx" --name="PromptComposer" prompt_composer.py

Q: Windows 10 提示「无法验证发布者」?
A: 这是因为 .exe 未签名,右键选择「仍要运行」即可,或使用代码签名证书。


📝 示例场景

场景 1:代码审查

选择模板:demo (代码审查助手)
填写 User Input:粘贴待审查代码
输出:包含 bug、安全漏洞、性能问题的分析报告

场景 2:中英互译

创建新模板,设置:

  • Role: 专业翻译专家
  • Task: 将中文翻译为地道英文
  • Constraints: 保留专业术语,使用美式英语

场景 3:文档生成

创建模板,设置:

  • Role: 技术文档撰写专家
  • Task: 根据代码生成 API 文档
  • Examples: 提供 2-3 个标准 API 文档示例

📄 开源协议

本项目采用 MIT 协议开源,欢迎自由使用和修改。


🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  • 报告 Bug:描述复现步骤和环境信息
  • 功能建议:说明使用场景和期望效果
  • 代码贡献:保持代码风格一致,添加必要注释

开发团队:DevToolkit
让 AI 对话更高效