Task: llmwiki(LLM-Wiki生成)をOpenCode Goで動かし、Obsidian vaultから読めるようにする
背景
decisions/0004でLLM-Wiki生成 エンジンにllm-wiki-compiler(llmwiki)を採用し、モデルは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.md、packages/、既存のdecisions本文(検証結果の追記は可)
確認方法
llmwiki --version
cd /home/hkawaguc/knowledge/llm-wiki/projects/main-wiki && llmwiki compile && llmwiki query "テスト質問"
make check