renamed codex-gemma to more generic codex-ollama
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
#!/usr/bin/env zsh
|
||||
set -euo pipefail
|
||||
|
||||
CODEX_BIN="${CODEX_BIN:-/opt/homebrew/bin/codex}"
|
||||
CODEX_GEMMA_HOME="${CODEX_GEMMA_HOME:-${HOME}/.codex-gemma}"
|
||||
CODEX_GEMMA_MODEL="${CODEX_GEMMA_MODEL:-gemma4:26b-a4b-it-q4_K_M}"
|
||||
|
||||
export CODEX_HOME="${CODEX_GEMMA_HOME}"
|
||||
export PATH="${HOME}/bin:${PATH}"
|
||||
|
||||
if [[ ! -x "${CODEX_BIN}" ]]; then
|
||||
print -u2 -- "Codex binary not found or not executable: ${CODEX_BIN}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v ollama >/dev/null 2>&1; then
|
||||
print -u2 -- "ollama is not available on PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! ollama list | awk 'NR > 1 { print $1 }' | grep -Fxq -- "${CODEX_GEMMA_MODEL}"; then
|
||||
print -u2 -- "Ollama model is not installed: ${CODEX_GEMMA_MODEL}"
|
||||
print -u2 -- "Install it with: ollama pull ${CODEX_GEMMA_MODEL}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
args_include_cd() {
|
||||
local arg
|
||||
for arg in "$@"; do
|
||||
case "${arg}" in
|
||||
-C|--cd|-C=*|--cd=*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
codex_args=(--oss --local-provider ollama -m "${CODEX_GEMMA_MODEL}")
|
||||
|
||||
if [[ "${PWD}" == "${HOME}" ]] && ! args_include_cd "$@"; then
|
||||
original_pwd="${PWD}"
|
||||
builtin cd "${TMPDIR:-/private/tmp}"
|
||||
codex_args+=(--cd "${original_pwd}")
|
||||
fi
|
||||
|
||||
exec "${CODEX_BIN}" "${codex_args[@]}" "$@"
|
||||
67
bin/codex-ollama
Executable file
67
bin/codex-ollama
Executable file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env zsh
|
||||
set -euo pipefail
|
||||
|
||||
CODEX_BIN="${CODEX_BIN:-/opt/homebrew/bin/codex}"
|
||||
CODEX_OLLAMA_HOME="${CODEX_OLLAMA_HOME:-${HOME}/.codex-ollama}"
|
||||
CODEX_OLLAMA_MODEL="${CODEX_OLLAMA_MODEL:-gemma4:26b-a4b-it-q4_K_M}"
|
||||
|
||||
export CODEX_HOME="${CODEX_OLLAMA_HOME}"
|
||||
export PATH="${HOME}/bin:${PATH}"
|
||||
|
||||
if [[ ! -x "${CODEX_BIN}" ]]; then
|
||||
print -u2 -- "Codex binary not found or not executable: ${CODEX_BIN}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v ollama >/dev/null 2>&1; then
|
||||
print -u2 -- "ollama not available on PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
args_include_cd() {
|
||||
local arg
|
||||
|
||||
for arg in "$@"; do
|
||||
case "${arg}" in
|
||||
-C|--cd|-C=*|--cd=*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
args_include_model() {
|
||||
local arg
|
||||
|
||||
for arg in "$@"; do
|
||||
case "${arg}" in
|
||||
-m|--model|-m=*|--model=*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
codex_args=(--oss --local-provider ollama)
|
||||
|
||||
if ! args_include_model "$@"; then
|
||||
if ! ollama list | awk 'NR > 1 { print $1 }' | grep -Fxq -- "${CODEX_OLLAMA_MODEL}"; then
|
||||
print -u2 -- "Ollama model not installed: ${CODEX_OLLAMA_MODEL}"
|
||||
print -u2 -- "Install it with: ollama pull ${CODEX_OLLAMA_MODEL}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
codex_args+=(-m "${CODEX_OLLAMA_MODEL}")
|
||||
fi
|
||||
|
||||
if [[ "${PWD}" == "${HOME}" ]] && ! args_include_cd "$@"; then
|
||||
original_pwd="${PWD}"
|
||||
builtin cd "${TMPDIR:-/private/tmp}"
|
||||
codex_args+=(--cd "${original_pwd}")
|
||||
fi
|
||||
|
||||
exec "${CODEX_BIN}" "${codex_args[@]}" "$@"
|
||||
Reference in New Issue
Block a user