Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/chenmi319_midotfiles2.json
T

1 line
20 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "chenmi319/midotfiles2", "files": {"zshrc": {"0aaeb0fe602a001638469538aaf7511a832f668b": {"t": 1785595238.6049042, "n": 18092, "h": "534e9cd26972e23b", "c": "### --- 1. P10k 即时提示 -----------------------------------------------------\n# 必须位于文件最顶部;需要控制台输入的代码(密码提示等)放在此块之前\ntypeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet\nif [[ -r \"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh\" ]]; then\n source \"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh\"\nfi\n\n### --- 2. 环境变量与 PATH ---------------------------------------------------\n# PATH 去重(首次出现优先)\ntypeset -U path PATH\n\nexport BUN_INSTALL=\"$HOME/.bun\"\npath=(\n \"$HOME/bin\"\n /usr/local/bin\n /usr/local/sbin\n /opt/homebrew/opt/libpq/bin\n \"$HOME/.opencode/bin\"\n \"$BUN_INSTALL/bin\"\n $path\n)\n\nexport LANG=en_US.UTF-8\n# LC_ALL 强制覆盖所有 locale 分类,会使 LC_* 单项设置无效;\n# 仅在需要确保所有分类一致时使用,否则只设 LANG 即可\nexport LC_ALL=en_US.UTF-8\nexport EDITOR=vim\n[[ -f ~/.secrets/context7_api_key ]] && export CONTEXT7_API_KEY=\"$(<~/.secrets/context7_api_key)\"\n[[ -f ~/.secrets/sentry_access_token ]] && export SENTRY_ACCESS_TOKEN=\"$(<~/.secrets/sentry_access_token)\"\nexport SENTRY_URL=https://sentry.apply7.cn\n[[ -f ~/.secrets/exa_api_key ]] && export EXA_API_KEY=\"$(<~/.secrets/exa_api_key)\"\n[[ -f ~/.secrets/tavily_api_key ]] && export TAVILY_API_KEY=\"$(<~/.secrets/tavily_api_key)\"\nexport VISUAL=\"$EDITOR\"\nexport LESS=\"-F -i -j4 -M -R -w -z-4 --mouse\"\n\n# Homebrew 镜像(清华 TUNA)\nexport HOMEBREW_API_DOMAIN=\"https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api\"\nexport HOMEBREW_BOTTLE_DOMAIN=\"https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles\"\n\n### --- 3. Oh-My-Zsh 配置 ---------------------------------------------------\nexport ZSH=\"$HOME/.oh-my-zsh\"\nZSH_THEME=\"powerlevel10k/powerlevel10k\"\n\n# 自动更新:提醒模式,每 14 天检查一次\nzstyle ':omz:update' mode reminder\nzstyle ':omz:update' frequency 14\n\n# 补全等待时显示红点\nCOMPLETION_WAITING_DOTS=\"true\"\n\n# nvm 插件:遇到 .nvmrc 自动切换版本\nzstyle ':omz:plugins:nvm' autoload yes\nzstyle ':omz:plugins:nvm' silent-autoload yes\n\n# z 插件:智能大小写、显示目标路径、列表中用 ~ 缩写、排除目录\nZSHZ_CASE=smart\nZSHZ_ECHO=1\nZSHZ_TILDE=1\nZSHZ_EXCLUDE_DIRS=(/tmp /private/tmp)\n\nplugins=(\n aliases\n colored-man-pages\n command-not-found\n encode64\n safe-paste\n tmux\n z\n git\n redis-cli\n nvm\n zsh-autosuggestions\n fast-syntax-highlighting\n history-substring-search\n)\n\n### --- 4. 补全系统 ----------------------------------------------------------\nfpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src\nfpath=($HOME/.docker/completions $fpath)\n\n# 可调参数\nZCOMP_CACHE_DIR=${ZCOMP_CACHE_DIR:-$HOME/.zcompcache}\nZCOMP_CACHE_TTL_DAYS=${ZCOMP_CACHE_TTL_DAYS:-14}\nZCOMP_CACHE_CLEAN_INTERVAL_SECS=${ZCOMP_CACHE_CLEAN_INTERVAL_SECS:-86400}\n\nmkdir -p \"$ZCOMP_CACHE_DIR\"\n\n# 自动清理(带锁 + 限频,后台执行不阻塞启动)\n_zcompcache_clean() {\n local stamp=\"$ZCOMP_CACHE_DIR/.last_clean\"\n local lock=\"$ZCOMP_CACHE_DIR/.clean.lock\"\n local now=$EPOCHSECONDS\n local last=0\n\n [[ -f $stamp ]] && read -r last < \"$stamp\"\n [[ $last != <-> ]] && last=0\n (( now - last < ZCOMP_CACHE_CLEAN_INTERVAL_SECS )) && return 0\n\n # 清除残留锁文件(超过 60 分钟视为异常)\n command find \"$lock\" -mmin +60 -delete 2>/dev/null\n\n if ( set -o noclobber; : > \"$lock\" ) 2>/dev/null; then\n trap 'rm -f \"$lock\"' EXIT\n command find \"$ZCOMP_CACHE_DIR\" \\\n -type f ! -name '.last_clean' ! -name '.clean.lock' \\\n -mtime +$((ZCOMP_CACHE_TTL_DAYS)) -print -delete >/dev/null 2>&1\n command find \"$ZCOMP_CACHE_DIR\" -type d -empty -delete >/dev/null 2>&1\n print -r -- \"$now\" >| \"$stamp\"\n fi\n}\n_zcompcache_clean &!\n\n# 手动一键清理\nzcompcache-clear() {\n if [[ -z \"$ZCOMP_CACHE_DIR\" || \"$ZCOMP_CACHE_DIR\" == \"/\" || \"$ZCOMP_CACHE_DIR\" == \"$HOME\" ]]; then\n echo \"zcompcache-clear: unsafe ZCOMP_CACHE_DIR: $ZCOMP_CACHE_DIR\" >&2\n return 1\n fi\n\n command find \"$ZCOMP_CACHE_DIR\" -mindepth 1 -maxdepth 1 -exec rm -rf {} + 2>/dev/null\n : >| \"$ZCOMP_CACHE_DIR/.last_clean\"\n echo \"zcompcache cleared.\"\n}\n\n### --- 5. 加载 Oh-My-Zsh ---------------------------------------------------\nsource \"$ZSH/oh-my-zsh.sh\"\n\n### --- 6. Zsh 选项与历史记录 ------------------------------------------------\n# 放在 source oh-my-zsh.sh 之后,覆盖 OMZ 默认的 share_history 等设置\nHISTSIZE=200000\nSAVEHIST=200000\nHISTFILE=~/.zsh_history\nsetopt APPEND_HISTORY INC_APPEND_HISTORY_TIME EXTENDED_HISTORY\nsetopt HIST_IGNORE_ALL_DUPS HIST_IGNORE_SPACE HIST_REDUCE_BLANKS HIST_VERIFY\nsetopt HIST_FIND_NO_DUPS HIST_EXPIRE_DUPS_FIRST\n# 关闭 OMZ 的 share_history(与 INC_APPEND_HISTORY_TIME 互斥)\n# INC_APPEND_HISTORY_TIME: 命令执行完立即写入历史文件(带耗时),上箭头只看本 shell\n# 跨终端历史同步:新开 shell 时自动加载完整历史文件\nunsetopt SHARE_HISTORY\n\nunsetopt auto_name_dirs\n\n# 覆盖 OMZ lib/completion.zsh 的默认值\n# Ctrl+W 分词:去掉下划线,使其与连字符一样作为分隔符(OMZ 会重置为空)\nWORDCHARS='*?[]~=&;!#$%^(){}<>'\n# 补全缓存统一到 ~/.zcompcache(OMZ 默认指向 ~/.oh-my-zsh/cache)\nzstyle ':completion:*' use-cache on\nzstyle ':completion:*' cache-path \"$HOME/.zcompcache\"\n\n### --- 7. 工具初始化 --------------------------------------------------------\n# >>> mamba initialize >>>\n# !! Contents within this block are managed by 'mamba shell init' !!\nexport MAMBA_EXE=\"$HOME/.local/bin/micromamba\";\nexport MAMBA_ROOT_PREFIX=\"$HOME/micromamba\";\n__mamba_setup=\"$(\"$MAMBA_EXE\" shell hook --shell zsh --root-prefix \"$MAMBA_ROOT_PREFIX\" 2> /dev/null)\"\nif [ $? -eq 0 ]; then\n eval \"$__mamba_setup\"\nelse\n alias micromamba=\"$MAMBA_EXE\"\nfi\nunset __mamba_setup\n# <<< mamba initialize <<<\n\n# goenv\n(( $+commands[goenv] )) && eval \"$(goenv init -)\"\n\n# uv / cargo 环境\n[ -f \"$HOME/.local/bin/env\" ] && . \"$HOME/.local/bin/env\"\n\n# bun completions\n[ -s \"$HOME/.bun/_bun\" ] && source \"$HOME/.bun/_bun\"\n\n# kubectl 补全(缓存;kubectl 更新时自动重新生成)\nif (( $+commands[kubectl] )); then\n _kubectl_comp=\"${XDG_CACHE_HOME:-$HOME/.cache}/kubectl_completion.zsh\"\n if [[ ! -f \"$_kubectl_comp\" || \"$commands[kubectl]\" -nt \"$_kubectl_comp\" ]]; then\n mkdir -p \"${_kubectl_comp:h}\" 2>/dev/null\n _kubectl_tmp=\"$_kubectl_comp.tmp.$$\"\n if kubectl completion zsh >| \"$_kubectl_tmp\" 2>/dev/null && [[ -s \"$_kubectl_tmp\" ]]; then\n mv -f \"$_kubectl_tmp\" \"$_kubectl_comp\"\n else\n rm -f \"$_kubectl_tmp\"\n fi\n fi\n [[ -f \"$_kubectl_comp\" ]] && source \"$_kubectl_comp\"\n unset _kubectl_comp _kubectl_tmp\nfi\n\n# aliyun CLI 补全\n(( $+commands[aliyun] )) && complete -o nospace -F \"$commands[aliyun]\" aliyun\n\n### --- 8. 函数定义 ----------------------------------------------------------\nautoload -Uz add-zsh-hook\n\n# 修复终端鼠标状态(p10k 初始化后通过 precmd 钩子运行)\nfix_mouse() {\n printf '\\e[?1000l\\e[?1002l\\e[?1006l\\e[?1003l\\e[?2004l' >/dev/tty\n}\n\n# tmux session 恢复后 $PWD 可能被 resolve 为物理路径(tmux-resurrect 从 OS 读 cwd)\n# 检查 $HOME 下一级软链接,如果 $PWD 在其物理目标下,cd 回软链接路径\n() {\n local link target suffix\n for link in $HOME/*(N@); do\n target=${link:A}\n if [[ \"$PWD\" == \"$target\"* ]]; then\n suffix=\"${PWD#$target}\"\n builtin cd \"$link$suffix\" 2>/dev/null\n return\n fi\n done\n}\n\n# tmux 中同步 $PWD 到 pane 变量(保留软链接路径,供 new-window/split-window 使用)\nif [[ -n \"$TMUX\" ]]; then\n _tmux_sync_pwd() { tmux set-option -p @pane_pwd \"$PWD\" 2>/dev/null; }\n add-zsh-hook precmd _tmux_sync_pwd\nfi\n\n# tmux 中同步 SSH agent 环境变量\nfixssh() {\n local sock\n\n [[ -n \"$TMUX\" ]] || return 0\n sock=$(tmux show-environment -qv SSH_AUTH_SOCK 2>/dev/null) || return 1\n [[ -S \"$sock\" ]] || return 1\n\n export SSH_AUTH_SOCK=\"$sock\"\n}\n\n# Docker 运行辅助:交互环境用 -it,管道/脚本用 -i\n_dockrun() {\n local tty_args=()\n if [ -t 0 ] && [ -t 1 ]; then\n tty_args=(-it)\n else\n tty_args=(-i)\n fi\n docker run --rm \"${tty_args[@]}\" \"$@\"\n}\n\n# MySQL 5.7 客户端(EOL 2023-10;仅用作客户端连接远程库)\nmysql57() { _dockrun mysql:5.7 env LANG=C.UTF-8 mysql -A \"$@\"; }\n\n# Postgres 客户端(不同版本)\npsql13() { _dockrun postgres:13 psql \"$@\"; }\npsql11() { _dockrun postgres:11 psql \"$@\"; }\npsql10() { _dockrun postgres:10 psql \"$@\"; }\n\n# Redis CLI(通过 Docker 运行)\nredis-cli() { _dockrun redis:alpine redis-cli \"$@\"; }\n\n# 符号链接辅助:已存在且正确则跳过,否则备份后创建\ntry_link() {\n if [ \"$#\" -ne 2 ]; then\n echo \"Usage: try_link <source> <target>\" >&2\n return 1\n fi\n\n if [ ! -e \"$1\" ] && [ ! -L \"$1\" ]; then\n echo \"try_link: source does not exist: $1\" >&2\n return 1\n fi\n\n mkdir -p \"$(dirname \"$2\")\" || return 1\n\n if [ -L \"$2\" ] && [ \"$(readlink \"$2\")\" = \"$1\" ]; then\n return 0\n fi\n\n if [ -e \"$2\" ] || [ -L \"$2\" ]; then\n mv -f \"$2\" \"$2.bak.$(date +%Y%m%d%H%M%S)\" || return 1\n fi\n\n ln -s \"$1\" \"$2\"\n}\n\n# 更新 dotfiles 仓库\nupdate_mi_dot_files() {\n git -C ~/.midotfiles2 pull\n}\n\n# uv 虚拟环境自动激活/反激活(基于 .venv 目录)\nload-uv-venv() {\n if [[ -f \"$PWD/.venv/bin/activate\" ]]; then\n if [[ \"$VIRTUAL_ENV\" != \"$PWD/.venv\" ]]; then\n source \"$PWD/.venv/bin/activate\"\n fi\n elif [[ -n \"$VIRTUAL_ENV\" ]] && [[ \"$VIRTUAL_ENV\" == */.venv ]]; then\n deactivate 2>/dev/null\n fi\n}\nadd-zsh-hook chpwd load-uv-venv\nload-uv-venv\n\n# 代理开关\nproxy() {\n export https_proxy=http://127.0.0.1:7890\n export http_proxy=http://127.0.0.1:7890\n export all_proxy=socks5://127.0.0.1:7890\n}\nunproxy() { unset http_proxy https_proxy all_proxy; }\n\n# OpenCode 包装(强制中文 locale)\noc() { LANG=zh_CN.UTF-8 LC_CTYPE=zh_CN.UTF-8 command opencode \"$@\"; }\nocc() { LANG=zh_CN.UTF-8 LC_CTYPE=zh_CN.UTF-8 command opencode \"$@\" --continue; }\n\n### --- 9. 别名 --------------------------------------------------------------\nalias conda=micromamba\nalias genpass='openssl rand -base64 24 | cut -c1-16'\nalias tmuxid='tmux display-message -p \"#{session_name}:#{window_index}.#{pane_index}\"'\nalias uvs='source .venv/bin/activate'\nalias uvsb=\"source $HOME/uv_venv/base/bin/activate\"\n# Claude Code:默认走 Pro 订阅(OAuth,月费封顶)\nalias claude='claude --verbose'\n# 显式使用 API key 按量计费(惰性读取,不全局导出污染环境)\nclaude-api() {\n local key_file=~/.secrets/claude_api_key\n if [[ ! -r \"$key_file\" ]]; then\n echo \"claude-api: $key_file 不存在或不可读\" >&2\n return 1\n fi\n\n ANTHROPIC_API_KEY=\"$(<\"$key_file\")\" command claude --verbose \"$@\"\n}\n\nclaude-cpa() {\n local key_file=~/.secrets/cpa_api_key\n local base_url=http://localhost:8317\n local model=gpt-5.6-sol\n if [[ ! -r \"$key_file\" ]]; then\n echo \"claude-cpa: $key_file 不存在或不可读\" >&2\n return 1\n fi\n command env \\\n ANTHROPIC_BASE_URL=\"$base_url\" \\\n ANTHROPIC_AUTH_TOKEN=\"$(<\"$key_file\")\" \\\n ANTHROPIC_MODEL=\"$model\" \\\n ANTHROPIC_DEFAULT_SONNET_MODEL=\"$model\" \\\n ANTHROPIC_DEFAULT_OPUS_MODEL=\"$model\" \\\n ANTHROPIC_DEFAULT_HAIKU_MODEL=\"$model\" \\\n claude --verbose \"$@\"\n}\n\nclaude-mimo() {\n local key_file=~/.secrets/xiaomimino_tpken_plan_api_key\n local base_url=https://token-plan-cn.xiaomimimo.com/anthropic\n local model='mimo-v2.5-pro[1m]'\n if [[ ! -r \"$key_file\" ]]; then\n echo \"claude-mimo: $key_file 不存在或不可读\" >&2\n return 1\n fi\n command env \\\n ANTHROPIC_BASE_URL=\"$base_url\" \\\n ANTHROPIC_AUTH_TOKEN=\"$(<\"$key_file\")\" \\\n ANTHROPIC_MODEL=\"$model\" \\\n ANTHROPIC_DEFAULT_SONNET_MODEL=\"$model\" \\\n ANTHROPIC_DEFAULT_OPUS_MODEL=\"$model\" \\\n ANTHROPIC_DEFAULT_HAIKU_MODEL=\"$model\" \\\n claude --verbose \"$@\"\n}\n\nclaude-anyrouter() {\n local key_file=~/.secrets/anyrouter_api_key\n local base_url=https://anyrouter.top\n # local base_url=https://a-ocnfniawgw.cn-shanghai.fcapp.run\n local default_model='claude-fable-5[1m]'\n local haiku_model='claude-haiku-4-5-20251001'\n local sonnet_model='claude-sonnet-4-5-20250929[1m]'\n local opus_model='claude-opus-4-8[1m]'\n if [[ ! -r \"$key_file\" ]]; then\n echo \"claude-anyrouter: $key_file 不存在或不可读\" >&2\n return 1\n fi\n command env \\\n ANTHROPIC_BASE_URL=\"$base_url\" \\\n ANTHROPIC_AUTH_TOKEN=\"$(<\"$key_file\")\" \\\n API_TIMEOUT_MS=600000 \\\n ANTHROPIC_MODEL=\"$default_model\" \\\n ANTHROPIC_DEFAULT_HAIKU_MODEL=\"$haiku_model\" \\\n ANTHROPIC_DEFAULT_SONNET_MODEL=\"$sonnet_model\" \\\n ANTHROPIC_DEFAULT_OPUS_MODEL=\"$opus_model\" \\\n claude --verbose \"$@\"\n}\n\n# 腾讯 Token Plan:默认模型 sonnet;可选传入 custom model;/model 中 opus=最新 opus,haiku=deepseek flash\nclaude-tencent() {\n local key_file=~/.secrets/tencent_tokenplan_api_key\n local base_url=https://tokenhub.tencentmaas.com\n local model=\"${TENCENT_CUSTOM_MODEL:-}\"\n local model_name=\"${TENCENT_CUSTOM_MODEL_NAME:-}\"\n local active_model=sonnet\n local -a custom_model_env=()\n if [[ ! -r \"$key_file\" ]]; then\n echo \"claude-tencent: $key_file 不存在或不可读\" >&2\n return 1\n fi\n\n if [[ -n \"$model\" ]]; then\n active_model=\"$model\"\n custom_model_env=(\n ANTHROPIC_CUSTOM_MODEL_OPTION=\"$model\"\n ANTHROPIC_CUSTOM_MODEL_OPTION_NAME=\"${model_name:-$model}\"\n )\n fi\n\n command env \\\n ANTHROPIC_BASE_URL=\"$base_url\" \\\n ANTHROPIC_AUTH_TOKEN=\"$(<\"$key_file\")\" \\\n API_TIMEOUT_MS=600000 \\\n CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \\\n ANTHROPIC_MODEL=\"$active_model\" \\\n ANTHROPIC_DEFAULT_SONNET_MODEL='custom-model-a2[1m]' \\\n ANTHROPIC_DEFAULT_SONNET_MODEL_NAME='sonnet-4.6[1m]' \\\n ANTHROPIC_DEFAULT_OPUS_MODEL='custom-model-a1[1m]' \\\n ANTHROPIC_DEFAULT_OPUS_MODEL_NAME='opus-4.7[1m]' \\\n ANTHROPIC_DEFAULT_HAIKU_MODEL='deepseek-v4-flash[1m]' \\\n ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME='deepseek-v4-flash[1m]' \\\n \"${custom_model_env[@]}\" \\\n claude --verbose \"$@\"\n}\n\nclaude-tencent-gpt54() {\n TENCENT_CUSTOM_MODEL='custom-model-b1-standard[1m]' TENCENT_CUSTOM_MODEL_NAME='gpt-5.4[1m]' claude-tencent \"$@\"\n}\n\nclaude-tencent-sonnet46() {\n TENCENT_CUSTOM_MODEL='custom-model-a2[1m]' TENCENT_CUSTOM_MODEL_NAME='sonnet-4.6[1m]' claude-tencent \"$@\"\n}\n\nclaude-tencent-opus46() {\n TENCENT_CUSTOM_MODEL='custom-model-a3[1m]' TENCENT_CUSTOM_MODEL_NAME='opus-4.6[1m]' claude-tencent \"$@\"\n}\n\nclaude-tencent-opus47() {\n TENCENT_CUSTOM_MODEL='custom-model-a1[1m]' TENCENT_CUSTOM_MODEL_NAME='opus-4.7[1m]' claude-tencent \"$@\"\n}\n\nclaude-tencent-deepseek-v4-flash() {\n TENCENT_CUSTOM_MODEL='deepseek-v4-flash[1m]' TENCENT_CUSTOM_MODEL_NAME='deepseek-v4-flash[1m]' claude-tencent \"$@\"\n}\n\nclaude-tencent-deepseek-v4-pro() {\n TENCENT_CUSTOM_MODEL='deepseek-v4-pro[1m]' TENCENT_CUSTOM_MODEL_NAME='deepseek-v4-pro[1m]' claude-tencent \"$@\"\n}\n\n### --- 10. Kubernetes 与 Helm -----------------------------------------------\n# KUBECONFIG:自动聚合 ~/.kube 下的配置文件\ntypeset -gaU KUBEFILES\nKUBEFILES=(\n $HOME/.kube/chenmi-*(N)\n $HOME/.kube/*eks*(N)\n $HOME/.kube/*rancher*.yaml(N)\n $HOME/.kube/*mixbio*.yaml(N)\n $HOME/.kube/*mycluster(N)\n)\nexport KUBECONFIG=\"${(j.:.)KUBEFILES}\"\n\n# kubectl 上下文快捷别名\nalias kube_prod_ro='kubectl --kubeconfig ~/.kube/chenmi-kube-pro-dev-ro --context=prod'\nalias kube_prod='kubectl --context=prod'\nalias kube_prod_eks='kubectl --context=eks'\nalias kube_prod_nx='kubectl --context=prod-nx'\nalias kube_ali_dev='kubectl --context=ali-dev'\nalias kube_ali_dev_ask='kubectl --context=ali-dev-ask'\nalias kube_ali_dev_worker='kubectl --context=ali-dev-worker'\nalias kube_ali_prod='kubectl --context=ali-prod'\nalias kube_ali_prod_worker='kubectl --context=ali-prod-worker'\nalias kube_mixbio_dev='kubectl --context=mixbio-dev'\nalias kube_rancher_rke='kubectl --context=rancher-rke'\nalias kube_mixbio_rancher='kubectl --context=mixbio-rancher-local'\nalias kube_mixbio='kubectl --context=mixbio'\nalias kube_mixbio_prod='kubectl --context=mixbio-prod'\nalias kube_azure='kubectl --context=azure-dev1'\nalias kube_ali_applyai='kubectl --context=ali-applyai'\n# 需要在 /etc/hosts 添加 `127.0.0.1 host.docker.internal`\nalias kube_mycluster='kubectl --context=k3d-mycluster'\n\n# 命名空间创建脚本\nalias create_ns_prod='python3 ./main.py prod'\nalias create_ns_prod_nx='python3 ./main.py nx-prod'\nalias create_ns_ali_dev='python3 ./main.py ali-dev'\nalias create_ns_ali_dev_ask='python3 ./main.py ali-dev-ask'\nalias create_ns_ali_dev_worker='python3 ./main.py ali-dev-worker'\nalias create_ns_ali_prod='python3 ./main.py ali-prod'\nalias create_ns_ali_prod_worker='python3 ./main.py ali-prod-worker'\nalias create_ns_mixbio_prod='python3 ./main_n.py mixbio-prod'\n\n# K8s 权限创建脚本\nalias new-k8s-permission_prod='python3 ./main.py prod'\nalias new-k8s-permission_ali_dev='python3 ./main.py ali-dev'\nalias new-k8s-permission_ali_dev_ask='python3 ./main.py ali-dev-ask'\nalias new-k8s-permission_ali_dev_worker='python3 ./main.py ali-dev-worker'\nalias new-k8s-permission_ali_prod='python3 ./main.py ali-prod'\nalias new-k8s-permission_ali_prod_worker='python3 ./main.py ali-prod-worker'\nalias new-k8s-permission_mixbio_dev='python3 ./main.py mixbio-dev'\nalias new-k8s-permission_mixbio_prod='python3 ./main_n.py mixbio-prod'\n\n# Helm 上下文快捷别名\nalias helm_ali_dev='helm_2_16_3 --kube-context=ali-dev'\nalias helm3_ali_dev='helm3 --kube-context=ali-dev'\nalias helm_ali_dev_ask='helm_2_16_12 --kube-context=ali-dev-ask'\nalias helm3_ali_dev_ask='helm3 --kube-context=ali-dev-ask'\nalias helm_ali_dev_worker='helm_2_16_12 --kube-context=ali-dev-worker'\nalias helm_ali_prod='helm_2_16_3 --kube-context=ali-prod'\nalias helm3_ali_prod='helm3 --kube-context=ali-prod'\nalias helm_ali_prod_worker='helm_2_16_12 --kube-context=ali-prod-worker'\nalias helm3_ali_prod_worker='helm3 --kube-context=ali-prod-worker'\nalias helm_dev='helm_2_9_1 --kube-context=ningxia-dev'\nalias helm3_dev='helm3 --kube-context=ningxia-dev'\nalias helm_prod='helm_2_9_1 --kube-context=prod'\nalias helm_prod_nx='helm_2_9_1 --kube-context=prod-nx'\nalias helm_mixbio_dev='helm_2_16_3 --kube-context=mixbio-dev'\nalias helm_mixbio_prod='helm_2_16_3 --kube-context=mixbio-prod'\nalias helm_azure='helm3 --kube-context=azure-dev1'\nalias helm_ali_applyai='helm3 --kube-context=ali-applyai'\nalias helm_mycluster='helm3 --kube-context=k3d-mycluster'\n\n# Velero 上下文快捷别名\nalias velero_prod='velero --kubecontext=prod'\nalias velero_prod_nx='velero --kubecontext=prod-nx'\n\n# Kops 上下文快捷别名\nalias bjprod-kops1-15='AWS_REGION=cn-north-1 KOPS_STATE_STORE=s3://alo7-kops/prod kops1.15'\nalias mykops1-16='AWS_REGION=cn-northwest-1 KOPS_STATE_STORE=s3://kops-bach-test kops1.16'\nalias nxprod-kops1-15='AWS_REGION=cn-northwest-1 KOPS_STATE_STORE=s3://alo7-kops-zhy/prod kops1.15'\n\n### --- 11. P10k 主题加载 ----------------------------------------------------\n[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh\n\n# 修复终端鼠标状态(必须在 p10k 初始化之后)\nadd-zsh-hook precmd fix_mouse\n# 若经常重复 source ~/.zshrc,可改用幂等版:\n# add-zsh-hook -d precmd fix_mouse 2>/dev/null\n# add-zsh-hook precmd fix_mouse\n\n# The next line updates PATH for the Google Cloud SDK.\nif [ -f '/Users/chenmi/Downloads/google-cloud-sdk/path.zsh.inc' ]; then . '/Users/chenmi/Downloads/google-cloud-sdk/path.zsh.inc'; fi\n\n# The next line enables shell command completion for gcloud.\nif [ -f '/Users/chenmi/Downloads/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/chenmi/Downloads/google-cloud-sdk/completion.zsh.inc'; fi\n"}}}}