viking_remember AttributeError
🤖
🔐 概要
原因は str と enum の型不一致。content_write.py 内で ctx.role が Role 型の enum 値を返す箇所で、
role=ctx.role.value とすべきところを role=ctx.role としており、後続の処理で型エラーが発生していた。
📁 技術詳細
発生箇所: openviking/storage/content_write.py
原因: ctx.role が Role 型 (enum) なのに str として扱われていた
修正: role=ctx.role.value → role=getattr(ctx.role, 'value', ctx.role)
🔖 影響
viking_remember がエラーを返し、Hermes から明示的な記憶保存ができなかった。
その他の viking_* ツール (search, read, browse, forget) は正常動作。
📋 対応と経緯
一時的にソース修正を試みたが、公式コードの直接編集は行わない方針に。
Hermes 標準メモリで代替運用(viking_remember 不使用)。
2026/07/07: Docker 移行により修正済みイメージ (ghcr.io/volcengine/openviking:latest) を使用開始。 Docker 版では viking_remember が正常動作することを確認。
📖 参照