Skip to content

linxinhong/obsidian-opencode

Repository files navigation

OpenCode for Obsidian

在 Obsidian 中嵌入 OpenCode Web 应用,提供更好的代码查看和编辑体验。

功能

  • 🚀 自动启动和管理 OpenCode Web 服务器
  • 🖥️ 在侧边栏中嵌入 Web 应用
  • ⚙️ 可配置的服务器设置
  • 📊 实时服务器状态显示
  • 🔧 完善的错误处理和日志记录
  • 🌍 跨平台支持(Windows/Mac/Linux)

安装

方法 1: 手动安装

  1. 下载最新版本的发布文件(从 Releases
  2. 在你的 Obsidian vault 的插件目录创建 obsidian-opencode 文件夹
    • Windows: %APPDATA%\Obsidian\plugins\
    • Mac: ~/Library/Application Support/obsidian/Plugins/
    • Linux: ~/.config/obsidian/plugins/
  3. 将下载的文件放入该文件夹
  4. 在 Obsidian 设置中启用插件

方法 2: 开发模式

  1. 克隆此仓库
  2. 安装依赖:npm install
  3. 配置数据文件:
    cp data.json.example data.json
    # 编辑 data.json,设置你的 OpenCode 服务器路径
  4. 构建插件:npm run build
  5. 在 Obsidian 中创建符号链接到插件目录

配置

首次配置

在开始使用前,需要创建配置文件:

# 1. 复制示例配置文件
cp data.json.example data.json

# 2. 编辑 data.json,修改以下配置项:
#    - opencodePath/serverPath: 设置你的 OpenCode 可执行文件路径
#    - serverPort: 设置服务器端口(默认 4096)
#    - autoStart: 是否自动启动服务器(默认 true)
#    - startupTimeout: 启动超时时间(毫秒)
#    - enableLogging: 是否启用日志(默认 true)

Windows 配置

在 Windows 上配置 OpenCode 路径时,请注意以下几点:

  1. 路径格式:使用双反斜杠 \\ 或正斜杠 /,插件会自动处理
  2. 文件扩展名:可以带 .exe,也可以不带,插件会自动检测
  3. 示例路径
{
  "serverPort": 4096,
  "opencodePath": "C:\\Users\\YourUsername\\.opencode\\bin\\opencode.exe",
  "autoStart": true,
  "startupTimeout": 30000,
  "enableLogging": true
}

其他常用 Windows 路径示例

  • 用户目录:C:\\Users\\YourUsername\\.opencode\\opencode.exe
  • Program Files:C:\\Program Files\\opencode\\opencode.exe
  • 自定义目录:D:\\Tools\\opencode\\opencode.exe

macOS/Linux 配置

在 macOS 或 Linux 上配置 OpenCode 路径:

{
  "serverPort": 4096,
  "opencodePath": "/Users/yourusername/.opencode/bin/opencode",
  "autoStart": true,
  "startupTimeout": 30000,
  "enableLogging": true
}

其他常用 Unix 路径示例

  • 用户主目录:~/.opencode/opencode/home/username/.opencode/opencode
  • 全局安装:/usr/local/bin/opencode
  • 自定义目录:/custom/path/to/opencode

插件设置

  1. 打开 Obsidian 设置 → 第三方插件 → OpenCode
  2. 设置 OpenCode Web 项目的本地路径
  3. 配置服务器端口(默认 4096)
  4. 点击"启动服务器"按钮

使用

  • 通过功能区图标(右侧边栏的代码图标)打开 OpenCode
  • 使用命令面板(Ctrl/Cmd + P)搜索"OpenCode"
  • 在右侧侧边栏查看和使用 OpenCode

命令

  • 打开 OpenCode - 在侧边栏打开 OpenCode 视图
  • 启动 OpenCode 服务器 - 启动 Web 服务器
  • 停止 OpenCode 服务器 - 停止 Web 服务器
  • 重启 OpenCode 服务器 - 重启 Web 服务器

开发

查看 DEVELOPMENT.md 了解开发指南。

系统要求

  • Obsidian 1.0.0 或更高版本
  • Node.js 20+(用于运行 OpenCode Web 服务器)
  • npm(用于启动开发服务器)

故障排除

服务器无法启动

  1. 检查服务器路径是否正确

    • 确认 opencode 可执行文件的完整路径
    • Windows:确保路径使用 \\/,文件扩展名 .exe 可选
    • macOS/Linux:确保路径使用 /
  2. 确保端口没有被其他应用占用

    • 默认端口:4096
    • 可以在配置文件中修改 serverPort
  3. 检查是否安装了必要的依赖

    • OpenCode CLI 工具
    • Node.js 和 npm(用于运行 OpenCode Web 服务器)
  4. 查看开发者控制台的日志

    • 打开方式:Ctrl+Shift+I(Windows/Linux)或 Cmd+Option+I(macOS)

Windows 特定问题

问题:找不到 opencode 可执行文件

解决方案:

  1. 确认 opencode 已正确安装到指定路径
  2. 尝试使用完整路径,包括 .exe 扩展名
  3. 检查文件权限,确保 Obsidian 有访问权限

问题:进程无法正常停止

解决方案:

  1. 手动在任务管理器中结束 opencode.exe 进程
  2. 重启 Obsidian
  3. 检查是否有防火墙或杀毒软件阻止

iframe 无法加载

  1. 确保服务器正在运行
  2. 检查防火墙设置
  3. 尝试刷新 iframe
  4. 确认 SSE 服务器(端口 3010)正常运行

许可证

MIT License

作者

linxinhong

贡献

欢迎提交 Issue 和 Pull Request!

About

在 Obsidian 中嵌入 OpenCode Web 应用,提供更好的笔记编辑体验。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors