当前位置: 首页 > wzjs >正文

嘉兴网站建设的地方合肥seo快排扣费

嘉兴网站建设的地方,合肥seo快排扣费,网站可以做章子吗,买一个域名利用dify打造命令行助手 前言 我是mac os 的使用者。 如果说macos哪个工具我使用最频繁,最能提高效率的工作工具非zsh莫属(当然,我安装了iterm)。前不久,我要扩容线上的k8s集群。便想统计一下每个node上运行的pod数量。我不知道合适的命令&…

利用dify打造命令行助手

前言

我是mac os 的使用者。 如果说macos哪个工具我使用最频繁,最能提高效率的工作工具非zsh莫属(当然,我安装了iterm)。前不久,我要扩容线上的k8s集群。便想统计一下每个node上运行的pod数量。我不知道合适的命令,但我知道获取所有pod的命令,我想的法是用kuectl 获取所有的pod列表, 然后将结果拷贝到某个ai工具中,让他帮我统计。

步骤如下:

  1. 执行命令兼拷贝结果

kubectl get po -A -o wide |  pbcopy

后面我可以把命令变得更高级点

#在.zsh文件中创建这个函数
function pc(){tee >(pbcopy)
}

便可以执行这个命令,即能得到标准输出,又能将输出结果拷贝到剪切板。

kubectl get po -A -o wide |  pc
  1. 将结果喂给ai客户端

    这就没有任何花稍的技术可言了,打deepseek,或豆包。描述背景:我执行了XXXX命令,得到结果如下:(然后cmd + c)请帮我统计每个node上运行的pod数量,用表格显示

如上方法太浪费时间了,且我要暂时离开我亲爱的命令行工具,还要别启软件,说一堆背说描述。试想如果我能直接用命令行与ai交流岂不美哉。正我我在看dify之类的工具。便想随便做一个玩玩。

正文

1. 利用dify定义一个agent

创建一个聊天助手型的空白应用。输入提示词如下

你是一个资深运维,根据用户运行的命令:{{command}}及运行的结果:{{result}},回答用户的问题

我选择模型提供者是 groq cloud。(因为快)。模型随便选了一个.

2. 捕捉用户的命令及运行结果并记录

在调用上面的ai应用前,我要获取两个输入参数,当前执行的命令,及命令结果

  1. 获取当前的命令

    我记得zsh提供了一些勾子函数,查了一下,果然后。利用勾子函数,在每次命令执行后,将命令记录到文本文件中

    preexec() {# 记录命令到日志文件echo $1 >> command_log.txt
    }

    后文我会给出完整代码

  2. 获取输出结果

    和我在前言中的使用的方法一样,可以用管道获取

    命令 | tee result.txt

    后文我会给出完整代码

  3. 用python获取参数,并调用dify的接口

    assistant-chat.py 文件:

    import sys
    import json
    import requests
    import threading
    token = 'app-2GuvOUR6EO5lUo2pm7EjuUwv'
    ​
    ​
    class AssistantChat:def __init__(self, command, result):self.command = commandself.result = resultself.question = Noneself.conversation_id = None
    ​self.headers = {"Content-Type": "application/json","Authorization": f"Bearer {token}"}self.url = 'http://localhost/v1/chat-messages'def ask(self, question):inputs_data = {'command':self.command,'result':self.result}request_data = {'inputs':inputs_data,'user': 'user-123','conversation_id': self.conversation_id,'query':question}  
    ​self.send(request_data)
    ​# print(json.dumps(request_data)) 
    ​def send(self, request_data):response = requests.post(self.url, json=request_data,headers=self.headers)if response.status_code == 200:response_data = response.json()# print(response_data)answer = response_data['answer']print(answer)self.conversation_id = response_data['conversation_id']return response_dataelse:print(f"Error: {response.content}")print(f"Error: {response.status_code}")   
    ​def run(self):while True:try:question = input("请输入您的问题: ")self.ask(question)except KeyboardInterrupt:break
    ​
    ​
    def main():print("=============================")## 读取 result.txt 文件内容with open('result.txt', 'r') as file:result = file.read()#print(result)with open('command_log.txt') as file:commands = file.readlines()cmd = commands[len(commands)-1]#cmd ="kubectl get po -A -o wide | mychat"#截取cmd到|cmd = cmd[:cmd.find('|')]#print(cmd)
    ​assistant = AssistantChat(cmd, result)assistant.run()
    ​
    ​
    if __name__ == '__main__':main()
    ​

  1. 利用别名将脚本与python代码串联系起来

    alias mychat='tee result.txt && python assistant-chat.py'
    ​

完整的shell脚本如下:

assistant-chat.zsh

preexec() {# 记录命令到日志文件echo $1 >> command_log.txt
}
​
alias mychat='tee result.txt && python assistant-chat.py'
​

在使用之前,需要执行source命令

结果演示


http://www.dtcms.com/wzjs/135322.html

相关文章:

  • 做网站 360今日头条新闻10条简短
  • 重庆制作网站培训机构济南seo整站优化价格
  • 小姐姐导航c盘优化大师
  • 外贸电子商务网站深圳百度公司地址在哪里
  • seo网站优化公司域名网站查询
  • 巴中企业网站建设小程序运营推广公司
  • 旅游网站的设计栏目seo的工作内容主要包括
  • 岳阳整站优化合肥网站优化seo
  • 网站建设指导思想和目标推广是做什么工作的
  • wordpress主题安装ftp深圳网站优化公司哪家好
  • 网站制作的书籍北京网站营销seo方案
  • 云南哪里有给做网站的百度新闻网站
  • 中国制造网简介谷歌seo是什么意思
  • 学习网站建设的网站北仑seo排名优化技术
  • 风琴折叠图片效果网站seo是什么意思职业
  • 牛什么的网站建设福州网站优化公司
  • 做产品网站设计应该注意什么百度站长电脑版
  • wordpress手机版本关键词优化的最佳方法
  • 创业先做网站学管理培训班去哪里学
  • 怎么做游戏测评视频网站真正免费建站网站
  • 山东政府网站集约化建设什么搜索引擎搜索最全
  • 淄博专业网站设计快速提升网站关键词排名
  • 瑞安市公用建设局网站seo经典案例
  • 建设公司网站新闻宣传管理制度佛山旺道seo
  • wordpress 影响力百度seo排名优化价格
  • 阿里巴巴外贸网站登录百度快速排名技术培训教程
  • 做模具在哪个网站找工作it培训机构
  • 怎么买网站百度最贵关键词排名
  • 做网站找那个公司网络推广宣传
  • 网站 繁体 jsseo排名点击