Ollama v0.14+ speaks the Anthropic Messages API natively, so the registry drives it with a fixed 'ollama' token and runtime-listed models: static_token skips secret storage everywhere keys resolve, models_dynamic defers model validation to the live /api/tags list, and the setup wizard installs the right GPU variant and starts the service before listing local models. Doctor stops treating the endpoint port as part of the hostname. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019hLK3wsDuKVAC37GgDqg6H
53 lines
1.4 KiB
Bash
Executable File
53 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# omarchy:summary=Launch the AI harness configured by a profile
|
|
# omarchy:args=[profile]
|
|
# omarchy:examples=omarchycn ai launch | omarchycn ai launch work
|
|
|
|
set -euo pipefail
|
|
|
|
source "$OMARCHY_PATH/cn/lib/ai.sh"
|
|
|
|
profile="${1:-$(cn_ai_current_profile)}"
|
|
|
|
if [[ ! -f $CN_AI_PROFILE_DIR/$profile.toml ]]; then
|
|
echo "No such profile: $profile" >&2
|
|
exit 1
|
|
fi
|
|
|
|
harness=$(cn_ai_profile_field "$profile" harness)
|
|
provider=$(cn_ai_profile_field "$profile" provider)
|
|
model=$(cn_ai_profile_field "$profile" model)
|
|
command=$(cn_ai_harness_field "$harness" command)
|
|
config_method=$(cn_ai_harness_field "$harness" config_method)
|
|
|
|
if omarchy-cmd-missing "$command"; then
|
|
install=$(cn_ai_harness_field "$harness" install)
|
|
if [[ $install == doc:* ]]; then
|
|
echo "$harness 未安装,安装方法见官方文档: ${install#doc:}" >&2
|
|
exit 1
|
|
fi
|
|
echo "Installing $harness: $install"
|
|
$install
|
|
fi
|
|
|
|
case "$config_method" in
|
|
env)
|
|
key=$(cn_ai_resolve_key "$provider")
|
|
if [[ $harness == "codex" ]]; then
|
|
cn_ai_render_codex_config "$provider" "$model" "$key"
|
|
exec "$command"
|
|
fi
|
|
env_exports=$(cn_ai_render_env "$harness" "$provider" "$model" "$key")
|
|
eval "$env_exports"
|
|
exec "$command"
|
|
;;
|
|
native)
|
|
# Native harnesses (kimi-code, deep-code) manage their own auth
|
|
exec "$command"
|
|
;;
|
|
*)
|
|
echo "Unknown config method: $config_method" >&2
|
|
exit 1
|
|
;;
|
|
esac
|