Task: llmwiki(LLM-Wiki生成)をOpenCode Goで動かし、Obsidian vaultから読めるようにする

背景

decisions/0004でLLM-Wiki生成 エンジンにllm-wiki-compilerllmwiki)を採用し、モデルはOpenCode Goに向けると 確定した。実データは/home/hkawaguc/knowledge/配下(Git管理外)にあり、 llm-wiki/projects/main-wiki/にllmwikiプロジェクトの骨格、obsidian-vaults/main/に Obsidian vaultが存在する。llmwikiはNode.js 24以上を要求するが、ホストのNodeは22。

目的

llmwiki compile/queryがOpenCode Goで動き、生成されたLLM-WikiがObsidian vaultの 中から閲覧できる状態を作る。

受け入れ条件

実施記録(2026-07-05、Fable 5)

  • Node 24はmicromamba create -n node24 -c conda-forge "nodejs>=24"で導入 (v26.4.0)。micromamba run -n node24 llmwiki ...で実行する。 llm-wiki-compiler@0.11.0を同envにグローバルインストール。
  • OpenCode Goのエンドポイントはhttps://opencode.ai/zen/go/v1。設定は knowledge/llm-wiki/projects/main-wiki/.env(chmod 600、Git管理外)に LLMWIKI_PROVIDER=openai/OPENAI_API_KEY/OPENAI_BASE_URL/LLMWIKI_MODEL/ LLMWIKI_OUTPUT_LANG=jaとして配置。keyはgooseのsecrets.yamlから流用。
  • モデル互換性を実測: llmwikiはOpenAIの構造化出力(response_format: json_schema) と強制tool call(tool_choice: required)を使うため、OpenCode Goの全モデルでは 動かない。実測マトリクス: deepseek-v4-proはjson_schema不可、qwen3.7-plus/ qwen3.6-plus/kimi-k2.7-codeはtool_choice required不可。両対応はkimi-k2.6、 minimax-m3、minimax-m2.7、glm-5.2、mimo-v2.5-pro。kimi-k2.6でcompile/query成功。
  • OpenCode Goに/embeddingsエンドポイントはなく(404)、llmwikiは語彙検索 フォールバックで動作する(設計どおり)。
  • 既知の品質問題: kimi-k2.6は推論の前置き(英語の”The user wants…“)を生成ページ 本文に混入させることがある。モデル比較(minimax-m3/glm-5.2等)は今後の課題。
  • Obsidian連携はsymlinkで実施: obsidian-vaults/main/LLM-Wiki -> ../../llm-wiki/projects/main-wiki/wiki。 生成ページのfrontmatter(title/tags/aliases)とwikilinkはObsidianでそのまま扱える。

変更範囲

  • 変更してよいファイル: docs/配下(記録の追記)、Makefile(必要なら入口追加)
  • 新しく作ってよいファイル: docs/tasks/の本文書、knowledge/配下の設定・ ディレクトリ(Git管理外なのでリポジトリ差分にはならない)
  • 変更しないもの: AGENTS.mdpackages/、既存のdecisions本文(検証結果の追記は可)

確認方法

llmwiki --version
cd /home/hkawaguc/knowledge/llm-wiki/projects/main-wiki && llmwiki compile && llmwiki query "テスト質問"
make check