openspec-obsidian-enhanced
v0.1.2
Published
OpenSpec with enhanced Obsidian integration - AI-native system for spec-driven development
Maintainers
Readme
OpenSpec Obsidian Enhanced
OpenSpec Obsidian Enhanced 是 OpenSpec 的增强版本,专门为 Obsidian 用户优化,提供了深度的 Obsidian 集成功能。它将规范驱动的开发流程与 Obsidian 的知识管理能力完美结合。
🌟 主要特性
✨ 原生 Obsidian 集成
- 项目文件夹隔离:每个项目在 Obsidian 中有独立的文件夹结构
- 多语言支持:支持中文、日文、英文文件名和内容
- 双向同步:OpenSpec 命令与 Obsidian 文件实时同步
- 配置持久化:一次配置,跨终端使用
📁 智能文件管理
- 自动路径解析:智能识别项目结构和多语言文件
- 任务文件本地化:根据语言自动生成
tasks.md、任务列表.md、タスクリスト.md - 归档管理:自动管理已完成的项目和变更
🛠️ 增强的命令行工具
- 交互式配置:向导式配置 Obsidian 连接
- 配置管理:
openspec obsidian命令组管理配置 - 优雅降级:Obsidian 不可用时自动回退到本地模式
🚀 快速开始
1. 安装
npm install -g @openspec/obsidian-enhanced2. 配置 Obsidian
首先确保你已经安装了 Obsidian Local REST API 插件。
# 初始化项目(会自动弹出配置向导)
openspec init
# 按提示配置:
# - 选择使用 Obsidian
# - 输入 API 地址(默认 https://localhost:27125)
# - 输入 API Key
# - 输入项目名称3. 开始使用
# 创建变更提案
openspec new change "用户认证功能"
# 查看所有变更
openspec list
# 显示变更详情
openspec change show "用户认证功能"📖 详细使用指南
Obsidian 配置
查看当前配置
openspec obsidian show重新配置
openspec obsidian configure清除本地配置
openspec obsidian clear环境变量(可选)
如果你想使用环境变量而不是配置文件:
export OPENSPEC_OBSIDIAN_URL="https://localhost:27125"
export OPENSPEC_OBSIDIAN_API_KEY="your-api-key"
export OPENSPEC_OBSIDIAN_VAULT_PATH="your-project"
export OPENSPEC_STORAGE="obsidian"多语言支持
OpenSpec Obsidian Enhanced 支持多种语言:
# 中文项目
openspec init --locale zh-CN
# 日文项目
openspec init --locale ja
# 英文项目(默认)
openspec init --locale en不同语言会生成对应的文件名:
- 英文:
tasks.md - 中文:
任务列表.md - 日文:
タスクリスト.md
项目结构
本地模式
project/
└── openspec/
├── README.md
├── project.md
├── AGENTS.md
├── specs/
└── changes/
└── change-name/
├── proposal.md
└── 任务列表.mdObsidian 模式
project/
└── openspec/
└── project-name/
├── README.md
├── project.md
├── AGENTS.md
├── specs/
└── changes/
└── change-name/
├── proposal.md
└── タスクリスト.md🔧 高级功能
1. 自定义工作流
结合 Obsidian 的 Dataview 插件,你可以创建强大的项目仪表板:
## 项目概览
```dataview
TABLE
file.mtime as "修改时间",
choice(file.tasks.tasks.length > 0, "✅", "❌") as "任务"
FROM "openspec/project/changes"
SORT file.mtime DESC2. 模板系统
在 Obsidian 中创建模板,快速生成标准化的变更提案:
---
template: change-proposal
---
# {{title}}
## 背景
<!-- 描述为什么要做这个变更 -->
## 目标
<!-- 清晰列出要实现的目标 -->
## 实现方案
<!-- 描述技术实现方案 -->
## 验收标准
<!-- 定义完成的标准 -->3. 自动化脚本
使用 Obsidian 的 Templater 插件,可以自动化创建任务:
<%*
const title = await tp.system.prompt("变更标题")
const tasks = await tp.system.prompt("任务列表(每行一个)")
await tp.file.create_new(`# ${title}\n\n## 任务\n${tasks.split('\n').map(t => `- [ ] ${t}`).join('\n')}`, `openspec/project/changes/${title}/proposal.md`)
%>📚 命令参考
基础命令
| 命令 | 描述 |
|------|------|
| openspec init | 初始化项目 |
| openspec list | 列出所有变更 |
| openspec new change <name> | 创建新变更 |
| openspec change show <name> | 显示变更详情 |
| openspec change archive <name> | 归档变更 |
规范管理
| 命令 | 描述 |
|------|------|
| openspec new spec <name> | 创建新规范 |
| openspec spec show <name> | 显示规范详情 |
| openspec spec validate <name> | 验证规范 |
Obsidian 配置
| 命令 | 描述 |
|------|------|
| openspec obsidian show | 显示 Obsidian 配置 |
| openspec obsidian configure | 配置 Obsidian |
| openspec obsidian clear | 清除配置 |
🔒 安全性
- API Key 保护:配置文件中的 API Key 在显示时会隐藏
- 本地存储:所有配置都存储在本地,不会上传
- Git 忽略:敏感配置文件自动添加到
.gitignore
🤝 贡献
欢迎贡献代码!请查看 贡献指南。
📄 许可证
MIT License - 查看 LICENSE 文件了解详情。
🔗 相关链接
🆘 支持
遇到问题?:
