# v0.5.1 Release Notes

> v0.5.0 -> v0.5.1

## Summary

Add OS keychain as a secondary source for `OPENAI_API_KEY`. Lookup order is env (including `.env`) first, keychain fallback second — darwin uses `security`, linux uses `secret-tool`, other platforms read `$HOME/.secrets`.
<details>
<summary>翻譯</summary>
新增 OS keychain 作為 `OPENAI_API_KEY` 的備援來源。查找順序為 env（含 `.env`）優先、keychain 次之 — darwin 走 `security`、linux 走 `secret-tool`、其他平台讀 `$HOME/.secrets`。
</details>

## Changes

### FEAT
- Add keychain fallback for `OPENAI_API_KEY` in `openai.New()` via `github.com/pardnchiu/go-utils/filesystem/keychain`; service name `ToriiDB`, fallback path `os.UserHomeDir()` (falls back to `.` on lookup error). Env takes precedence — keychain is only consulted when env is empty.

<details>
<summary>翻譯</summary>

- 於 `openai.New()` 以 `github.com/pardnchiu/go-utils/filesystem/keychain` 為 `OPENAI_API_KEY` 加入 keychain 後備；service 名稱為 `ToriiDB`，fallback 路徑為 `os.UserHomeDir()`（查詢失敗時退回 `.`）。env 優先，僅在 env 為空時才讀取 keychain。

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `core/openai/client.go` | Modified | FEAT |

***

Generated by [SKILL](https://github.com/pardnchiu/skill-version-generate)
