Zsh Codex:一个革命性的 ZSH 插件

news/2025/2/11 15:56:27/文章来源:https://www.cnblogs.com/o-O-oO/p/18696276

# MacOS

前言

Zsh Codex 是一个革命性的 ZSH 插件,它将人工智能的力量引入了命令行界面。

这个插件能够让你在使用 MacOS 的原生终端时,通过 AI 驱动的代码补全功能,节省大量记忆命令的时间,提高编码效率。

github地址:

https://github.com/tom-doerr/zsh_codex

本文我们来讨论这个插件的安装、使用、报错解决、接入deepseek等问题。

安装

要在 MacOS 的原生终端中安装 Zsh Codex,请按照以下步骤操作:

1、安装 OpenAI 包:

pip3 install openai

2、 下载 ZSH 插件:

git clone https://github.com/tom-doerr/zsh_codex.git ~/.oh-my-zsh/custom/plugins/zsh_codex

3、在 .zshrc 文件中添加配置:

plugins=(zsh_codex)
bindkey '^X' create_completion

如果有多个插件,那么中间逗号隔开即可。

plugins=(git,zsh_codex)
bindkey '^X' create_completion

4、 创建 API 配置文件:

在 ~/.config 目录下创建一个名为 zsh_codex.ini 的文件,内容如下:

[service]
service = deepseek[deepseek]
api_type = openai
api_key = dummy_key
model = deepseek-chat
base_url = https://api.deepseek.com/beta[openai_service]
api_type = openai
api_key = [my_ollama]
api_type = openai
api_key = dummy_key
model = llama3.1
base_url = http://localhost:11434/v1

以上的示例中有deepseek、OpenAI、ollama三种服务,我比较常用的就是这三个。

5、设置要使用的 AI 模型:

编辑 ~/.oh-my-zsh/custom/plugins/zsh_codex/zsh_codex.plugin.zsh 文件。

将 api 变量设置为 openai 。

6、 运行 zsh,开始使用!

解决不支持 match

由于我本地的Python版本是3.9.10,而 match 是在 Python 3.10 引入的特性。

因此运行时会报错:不支持match。

但是我又不想直接升级Python,所以只能通过修改代码的方式解决。

修改文件 /Users/mac/.oh-my-zsh/custom/plugins/zsh_codex/services/services.py,255行之后全部替换

if api_type == OpenAIClient.api_type:return OpenAIClient(config)
elif api_type == GoogleGenAIClient.api_type:return GoogleGenAIClient(config)
elif api_type == GroqClient.api_type:return GroqClient(config)
elif api_type == MistralClient.api_type:return MistralClient(config)
elif api_type == AmazonBedrock.api_type:return AmazonBedrock(config)
else:raise KeyError(f"Specified API type {api_type} is not one of the supported services {cls.api_types}")

即可。

使用

使用 Zsh Codex 非常简单:

  • 在命令行中输入注释或变量名。
  • 按下 ^X(Ctrl+X)。
  • AI 会自动生成相应的代码

总结

Zsh Codex 为命令行带来了 AI 的力量,让编码变得更加高效和智能。

无论你是经验丰富的开发者还是编程新手,Zsh Codex 都能为你的工作流程带来显著改善。

虽然它并没有达到我想要的那种交互,即可以聊天式的生成我的命令,但是能够以注释的方式进行使用也算不错。

这个插件的代码是非常清晰的,并且也是MIT协议,可以尝试自己修改插件代码,来达到目的。

个人观点,仅供参考

原创 我码玄黄

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/881455.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPS/Office完美集成DeepSeek,提升工作效率的秘密武器!

大家好,今天给大家带来一款超实用的办公神器——DeepSeek!如果你还在为繁琐的文案、翻译、数据分析等任务头疼,那这篇文章绝对不容错过。今天我们要介绍的这款工具——DeepSeek,通过强大的 AI 功能,帮你在 WPS 或 Office 中实现无缝办公,不管是写文案、做策划、翻译校对,…

本地部署 DeepSeek Janus Pro 文生图大模型

Hello, 大家新年好。 在这个春节期间最火的显然是 DeepSeek 了。据不负责统计朋友圈每天给我推送关于 DeepSeek 的文章超过20篇。打开知乎跟B站也全是 DeepSeek 相关的内容。不过大部分的内容都是关于 DeepSeek R1 推理模型有多牛逼。在这里就不多说关于 R1 的废话了,因为大家…

新生赛回顾

签到 文件用Exeinfo PE打开,无壳用ida64位打开F5跳转到C语言界面,可以发现明文rc4 无壳,用ida64打开,发现为rc4加密可以直接用动调拿flag,在输入后面下断点按F9后选择动调方式再按F9进入。输入随便21位字符串,进入后双击Str也就是我们输入的数组,右击选择到Change byte …

CrackMe

[HNCTF 2022 Week1]CrackMe 题目链接:https://www.nssctf.cn/problem/2908 一个用户名对应注册码,应该将用户名输入正确 常规解法断点在strcmp 这道题就是根据这个判断得出flag 用户名为CrackMe,在动调的时候因为会先的到一个假的,在弹出错误信息后在才是正确的 详细原因看…

利用 预加载(PRELOAD)机制实现 Hook

elf程序在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号。也就是说,我们可以用自己的so库中的函数替换原来库里有的函数,从而达到hook的目的。 下面我们尝试通过这种hook方式来实现任意地址读/写 测试文件: test.c:#include <stdio.h&…

DeepSeek本地部署教程

DeepSeek本地部署教程 deepseek本地部署 第一步:安装ollama https://ollama.com/download第二步:在ollama 官网搜索 https://ollama.com/搜索 deepseek 选择第一项即可模型大小与显卡需求模型版本 参数规模 最低显存要求 推荐 GPU 型号DeepSeek-R1 70B 40GB NVIDIA RTX A6000…

缺失 ffmpeg.dll 无法打开vscode

不清楚什么原因,莫名奇妙vscode打不开了弹框提示“由于找不到 ffmpeg.dll,无法继续执行代码。重新安装程序可能会解决 此问题。” 1. 找到vscode的文件位置 2. 多了一个_文件夹,将_文件夹的内容,移到上一层,即 “Microsoft VS Code”文件夹中 3. 可正常启动 PS:不清楚为什…

整理合集——Linux必备的基础知识总结

一、Linux 操作系统概述 1、发展 1991 Linus Linux 0.0.1 版,代码为 8K 行。现在最新版本为 5.12.4。Linux 加入了 GNU,整体基于 GPL 协议,允许开源、分享传播、修改。 内核下载的地址:https://www.kernel.org/ 2、组成 kernel 内核: 核心程序,用于管理硬件设备、系统的线…

海亮 SC 游寄(完结)

Castxwx:@NaPF6__qwq,小号 @Anti__void hjr:@Huang_junrui,参与 sc gjc:@SY_nzwmb83 bzy:@benbzy,参与 sc gx:@gxwinnt,校内教练Week 1 Day 0 初始坐标:JS-WX-YX,SC 学校坐标:ZJ-SX-ZJ 今天是 2024/7/3 9:00 出发,自驾,12:30 到酒店,下午没去报到 晚自习前找教室…

七分钟交友匿名聊天室源码安装出错解决办法

今天一个网友让帮忙安装七分钟交友匿名聊天室源码,看教程非常简单只有两个命令! 我是选择用的宝塔安装的,其实宝塔就一个命令就行了。 安装依赖项:npm install启动:node app.js运行:直接访问域名即可进入聊天室 但是运行以后出现错误,导致一直无法正常聊天,输入聊记录不…

IAP升级(STM32)

IAP升级(STM32) (未完,更新ing) IAP作用简述:将要升级的程序bin文件通过串口发送给STM32,STM32接收后存储到FLASH或者SRAM,用户通过事件(按键等)触发(也可延时自动触发)后将升级文件夹作用:Bootloader先烧录到stm32,作为引导接受串口bin文件升级包,以及跳转到用…

.NET适配HarmonyOS进展

1. 前言 目前国产化系统浪潮下,适配鸿蒙是中国软件大势所趋,.NET作为最适合开发客户端语言之一,适配鸿蒙系统(HarmonyOS Next)是目前.NET开发者最关心的事情。我目前业余时间正在移植Avalonia到HarmonyOS,去年在.NET Config CN上分享过,目前又取得一点进展,所以本文把所有…