Add AI profiles and harness adapters (claude-code, codex, opencode, native)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QKxGW1raAWaqeU8WdHsMsp
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/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 ! command -v "$command" > /dev/null 2>&1; 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=$(omarchy-cn-ai-secret get "$provider")
|
||||
if [[ $harness == "codex" ]]; then
|
||||
cn_ai_render_codex_config "$provider" "$model" "$key"
|
||||
exec "$command"
|
||||
fi
|
||||
eval "$(cn_ai_render_env "$harness" "$provider" "$model" "$key")"
|
||||
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
|
||||
Reference in New Issue
Block a user