fix: persist API keys to .env and write notion.yaml with field_map defaults in wizard
This commit is contained in:
parent
3331678148
commit
f514718fce
1 changed files with 40 additions and 1 deletions
|
|
@ -247,11 +247,50 @@ elif step == 5:
|
||||||
from scripts.generate_llm_config import apply_service_urls
|
from scripts.generate_llm_config import apply_service_urls
|
||||||
apply_service_urls(UserProfile(USER_CFG), LLM_CFG)
|
apply_service_urls(UserProfile(USER_CFG), LLM_CFG)
|
||||||
|
|
||||||
|
# Write API keys to .env (Docker Compose reads these)
|
||||||
|
env_path = CONFIG_DIR.parent / ".env"
|
||||||
|
env_lines = []
|
||||||
|
if env_path.exists():
|
||||||
|
env_lines = env_path.read_text().splitlines()
|
||||||
|
|
||||||
|
def _set_env(lines: list[str], key: str, value: str) -> list[str]:
|
||||||
|
"""Update or append a KEY=value line."""
|
||||||
|
prefix = f"{key}="
|
||||||
|
new_line = f"{key}={value}"
|
||||||
|
for i, line in enumerate(lines):
|
||||||
|
if line.startswith(prefix):
|
||||||
|
lines[i] = new_line
|
||||||
|
return lines
|
||||||
|
lines.append(new_line)
|
||||||
|
return lines
|
||||||
|
|
||||||
|
anthropic_key = data.get("anthropic_key", "")
|
||||||
|
openai_url = data.get("openai_url", "")
|
||||||
|
openai_key = data.get("openai_key", "")
|
||||||
|
|
||||||
|
if anthropic_key:
|
||||||
|
env_lines = _set_env(env_lines, "ANTHROPIC_API_KEY", anthropic_key)
|
||||||
|
if openai_url:
|
||||||
|
env_lines = _set_env(env_lines, "OPENAI_COMPAT_URL", openai_url)
|
||||||
|
if openai_key:
|
||||||
|
env_lines = _set_env(env_lines, "OPENAI_COMPAT_KEY", openai_key)
|
||||||
|
|
||||||
|
if anthropic_key or openai_url:
|
||||||
|
env_path.write_text("\n".join(env_lines) + "\n")
|
||||||
|
|
||||||
if save_notion and notion_token and notion_db:
|
if save_notion and notion_token and notion_db:
|
||||||
|
# Load field_map defaults from example
|
||||||
|
notion_example = CONFIG_DIR / "notion.yaml.example"
|
||||||
|
field_map = {}
|
||||||
|
if notion_example.exists():
|
||||||
|
ex = yaml.safe_load(notion_example.read_text()) or {}
|
||||||
|
field_map = ex.get("field_map", {})
|
||||||
|
|
||||||
NOTION_CFG.write_text(yaml.dump({
|
NOTION_CFG.write_text(yaml.dump({
|
||||||
"token": notion_token,
|
"token": notion_token,
|
||||||
"database_id": notion_db,
|
"database_id": notion_db,
|
||||||
}))
|
"field_map": field_map,
|
||||||
|
}, default_flow_style=False, allow_unicode=True))
|
||||||
|
|
||||||
st.session_state.wizard_step = 1
|
st.session_state.wizard_step = 1
|
||||||
st.session_state.wizard_data = {}
|
st.session_state.wizard_data = {}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue