Text Generator 配置教程
Text Generator 是 Obsidian 中功能强大的文本生成插件,支持自定义模板和批量处理。
功能特点
核心功能
- 文本生成:基于提示词生成内容
- 模板系统:预设和自定义模板
- 批量处理:一次处理多个文件
- 多种模型:OpenAI、Anthropic、本地模型
- 历史记录:保存生成历史
主要优势
| 优势 | 说明 |
|---|---|
| 灵活性强 | 完全自定义提示词和模板 |
| 模板丰富 | 社区模板市场 |
| 批量处理 | 提高工作效率 |
| 开源免费 | 完全免费使用 |
安装配置
安装插件
- 打开设置 → 第三方插件
- 关闭安全模式
- 浏览社区插件
- 搜索 "Text Generator"
- 安装并启用
基础配置
1. API 配置
OpenAI 配置:
json
{
"api_type": "openai",
"api_key": "sk-xxxxxxxxxxxxx",
"model": "gpt-4o"
}Anthropic 配置:
json
{
"api_type": "anthropic",
"api_key": "sk-ant-xxxxxxxxxxxxx",
"model": "claude-3-5-sonnet"
}Ollama 配置:
json
{
"api_type": "ollama",
"base_url": "http://localhost:11434",
"model": "llama3"
}2. 通用参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Temperature | 0.7 | 创造性程度 |
| Max Tokens | 2000 | 最大生成长度 |
| Top P | 1 | 采样范围 |
| Frequency Penalty | 0 | 重复惩罚 |
基本使用
快捷键
| 操作 | 快捷键 |
|---|---|
| 打开命令面板 | Ctrl/Cmd + P |
| 生成文本 | Ctrl/Cmd + J |
| 使用模板 | Ctrl/Cmd + Shift + J |
文本生成
步骤:
- 选中要处理的文本(可选)
- 按
Ctrl/Cmd + P打开命令面板 - 输入 "Text Generator: Generate"
- 输入提示词
- 等待生成
示例:
选中文本:人工智能正在改变世界...
提示词:用简洁的语言总结这段文字
生成结果:AI 技术正深刻影响各行业,带来效率提升和模式变革。使用模板
Text Generator 提供多种预设模板:
内置模板:
Continue Writing- 续写Summarize- 总结Rewrite- 改写Translate- 翻译Fix Grammar- 修正语法Make Shorter- 精简Make Longer- 扩展
使用方法:
- 选中文本
- 按
Ctrl/Cmd + Shift + J - 选择模板
- 等待生成
模板系统
创建自定义模板
模板存放在 .obsidian/plugins/textgenerator/templates/ 目录。
模板文件示例:
markdown
---
name: 生成周报
description: 基于笔记内容生成周报
---
请根据以下笔记内容,生成一份简洁的周报:
{{selectedText}}
周报格式:
1. 本周完成事项
2. 遇到的问题
3. 下周计划
要求:
- 每项用项目符号
- 语言简洁
- 总字数不超过 200 字模板变量
| 变量 | 说明 | 示例 |
|---|---|---|
| 选中文本 | 当前选中的内容 |
| 当前笔记全文 | 笔记所有内容 |
| 笔记标题 | "项目会议记录" |
| 当前日期 | "2024-01-15" |
| 当前时间 | "10:30" |
| 笔记标签 | ["工作", "会议"] |
| 文件夹路径 | "工作/会议记录" |
模板函数
模板支持动态函数:
markdown
---
name: 自动分类笔记
---
请分析以下笔记内容,给出:
1. **适合的分类**:建议文件夹路径
2. **推荐标签**:3-5 个标签
3. **笔记摘要**:一句话概括
笔记内容:
{{noteContent}}
当前日期:{{date}}批量处理
批量生成
处理多个笔记:
- 打开命令面板
- 选择 "Text Generator: Batch Process"
- 选择文件:
- 当前文件夹
- 所有未标记文件
- 自定义选择
- 选择模板
- 执行批量处理
应用场景:
| 场景 | 模板示例 |
|---|---|
| 批量总结 | 为所有笔记添加摘要 |
| 批量标签 | 自动添加标签 |
| 批量翻译 | 翻译多篇笔记 |
| 批量重写 | 统一内容风格 |
批量处理配置
json
{
"batch_size": 10,
"delay_between_requests": 1000,
"save_results": true,
"result_location": "frontmatter"
}工作流示例
学习笔记工作流
模板:智能学习笔记
markdown
---
name: 智能学习笔记
---
请对以下学习内容进行处理:
{{selectedText}}
输出格式:
## 核心概念
[提取 3-5 个核心概念]
## 知识要点
[列出关键知识点]
## 思考问题
[生成 3 个深度思考问题]
## 应用场景
[说明知识的应用场景]
## 相关概念
[列出可能相关的其他概念]写作辅助工作流
模板:写作改进
markdown
---
name: 写作改进
---
请改进以下文字:
{{selectedText}}
改进方向:
1. 提升可读性
2. 增强逻辑性
3. 丰富表达方式
4. 保持原意
输出改进后的版本,并简要说明改动点。会议记录工作流
模板:会议记录整理
markdown
---
name: 会议记录整理
---
请整理以下会议记录:
{{selectedText}}
整理为以下格式:
## 会议信息
- 时间:
- 参与人:
- 主题:
## 讨论要点
1.
2.
3.
## 决策事项
- [ ]
- [ ]
## 待办任务
- [ ]
## 后续安排高级技巧
提示词工程
好的提示词结构:
1. 角色定义
2. 任务说明
3. 输入内容
4. 输出格式
5. 约束条件示例:
markdown
你是一位专业的技术文档编辑。
请将以下技术内容改写为适合初学者理解的版本:
{{selectedText}}
改写要求:
1. 使用简单易懂的语言
2. 添加必要的解释说明
3. 使用类比帮助理解
4. 保持技术准确性
5. 字数控制在原文的 1.5 倍以内
输出格式:
直接输出改写后的内容,不需要额外说明。多步骤工作流
使用多个模板串联:
mermaid
graph LR
A[原始内容] --> B[模板1: 总结]
B --> C[模板2: 生成问答]
C --> D[模板3: 创建卡片]实现方式:
- 创建组合模板
- 使用 Templater 调用
- 或手动分步执行
与其他插件集成
Dataview 集成
markdown
---
name: Dataview 查询生成
---
请根据以下需求生成 Dataview 查询语句:
{{selectedText}}
可用的 Properties:
- created: 创建日期
- tags: 标签
- status: 状态
- priority: 优先级
输出完整的 Dataview 查询语句。Templater 集成
在 Templater 模板中调用 Text Generator:
markdown
<%*
// 调用 Text Generator API
const result = await app.plugins.plugins['textgenerator'].generateText({
prompt: "总结当前笔记",
context: tp.file.content
});
tR += result;
%>成本优化
Token 计算规则
| 模型 | 输入价格 | 输出价格 |
|---|---|---|
| GPT-4o | $5/1M tokens | $15/1M tokens |
| GPT-3.5-Turbo | $0.5/1M tokens | $1.5/1M tokens |
| Claude 3.5 Sonnet | $3/1M tokens | $15/1M tokens |
优化策略
使用缓存
json{ "enable_cache": true, "cache_ttl": 86400 }选择合适模型
- 简单任务:GPT-3.5
- 复杂任务:GPT-4 或 Claude
优化提示词
- 精简提示词
- 避免重复内容
批量处理优化
json{ "batch_delay": 2000, "max_concurrent": 3 }
常见问题
生成结果不稳定?
解决方案:
- 降低 Temperature(如 0.5)
- 提供更明确的指令
- 使用更强的模型
响应时间过长?
解决方案:
- 减少 Max Tokens
- 使用更快的模型
- 检查网络连接
模板不生效?
排查步骤:
- 检查模板文件位置
- 检查 YAML 格式
- 查看控制台错误日志
如何处理大量文本?
解决方案:
- 分段处理
- 使用批量处理功能
- 设置合理的延迟
相关资源
最后更新:2024-01-15