ShellGPT實戰指南:用AI命令列神器提升開發效率

安裝本地大模型(win版)

第一步:安裝ollama

`https:

//

ollama.com

/

download`

第二步:在ollama 官網搜尋

`https:

//

ollama.com

/

`

第三步:在終端執行部署

  • 根據電腦配置安裝對應的模型
ollama run gemma2:2b 

Linux安裝ShellGPT

第一步:ShellGPT 配置

現在,當我們執行 Ollama 後端時,我們需要配置 ShellGPT 以使用它。為了與本地 LLM 後端通訊,ShellGPT 利用 LiteLLM[1]。要安裝它,請執行:
`[root@localhost ~]# pip install shell-gpt --break-system-packages`

第二步:編輯.sgptrc配置檔案

vi ~/.config/shell_gpt/.sgptrc,加入以下選項

vi ~

/

.config

/

shell_gpt

/

.sgptrc #編輯shell-gpt配置檔案


DEFAULT_MODEL

=

ollama

/

gemma2:9b #制定要使用的模型

OPENAI_USE_FUNCTIONS

=false

SHOW_FUNCTIONS_OUTPUT

=false

API_BASE_URL

=

http:

//192.168.79.249

:

11434

#設定本地伺服器ip地址

現在您可以將 ShellGPT 與 Ollama 後端一起使用。
如下例所示:

[root@localhost ~]# cat ~

/

.config

/

shell_gpt

/

.sgptrc

CHAT_CACHE_PATH

=/

tmp

/

chat_cache

CACHE_PATH

=/

tmp

/

cache

CHAT_CACHE_LENGTH

=100

CACHE_LENGTH

=100

REQUEST_TIMEOUT

=60

DEFAULT_MODEL

=

ollama

/

deepseek-r1:32b

DEFAULT_COLOR

=

magenta

ROLE_STORAGE_PATH

=/

root

/

.config

/

shell_gpt

/

roles

DEFAULT_EXECUTE_SHELL_CMD

=false

DISABLE_STREAMING

=false

CODE_THEME

=

dracula

OPENAI_FUNCTIONS_PATH

=/

root

/

.config

/

shell_gpt

/

functions

OPENAI_USE_FUNCTIONS

=false

SHOW_FUNCTIONS_OUTPUT

=false

API_BASE_URL

=

http:

//10.0.0.1

:

11434

PRETTIFY_MARKDOWN

=true

USE_LITELLM

=true

SHELL_INTERACTION

=true

OS_NAME

=auto

SHELL_NAME

=auto
OPENAI_API_KEY=123

初始化ShellGPT
初始API Key的時候隨便填個字串
[root@localhost ~]# sgpt 

ShellGPT 功能測試

shellgpt語法列表

╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────╮

│ prompt [PROMPT] The prompt to generate completions for. │

╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────╮

│ --model TEXT Large language model to use. [

default

: gpt-4o] │

│ --temperature FLOAT RANGE [0.0<=x<=2.0] Randomness of generated output. [

default

: 0.0] │

│ --top-p FLOAT RANGE [0.0<=x<=1.0] Limits highest probable tokens (words). [

default

: 1.0] │

│ --md --no-md Prettify markdown output. [

default

: md] │

│ --editor Open

$EDITOR

to provide a prompt. [

default

: no-editor] │

│ --cache Cache completion results. [

default

: cache] │

│ --version

Show

version. │

│ --help

Show

this message

and

exit. │

╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─ Assistance Options ─────────────────────────────────────────────────────────────────────────────────────╮

│ --shell -s Generate

and

execute shell commands. │

│ --interaction --no-interaction Interactive mode for --shell option. [

default

: interaction] │

│ --describe-shell -d Describe a shell command. │

│ --code -c Generate only code. │

│ --functions --no-functions Allow function calls. [

default

: functions] │

╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─ Chat Options ───────────────────────────────────────────────────────────────────────────────────────────╮

│ --chat TEXT Follow conversation

with

id, use

"temp"

for quick session. [

default

: None] │

│ --repl TEXT Start a REPL (Read–eval–print loop) session. [

default

: None] │

│ --

show

-chat TEXT

Show

all messages

from

provided chat id. [

default

: None] │

│ --list-chats -lc List all existing chat ids. │

╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─ Role Options ───────────────────────────────────────────────────────────────────────────────────────────╮

│ --role TEXT System role for GPT model. [

default

: None] │

│ --create-role TEXT Create role. [

default

: None] │

│ --

show

-role TEXT

Show

role. [

default

: None] │

│ --list-roles -lr List roles. │

╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

1. 通用功能

root@localhost ~]# sgpt

"你是誰"

我是ShellGPT,一個專注於程式設計和系統管理的AI助手,執行在Linux

/

openEuler

24.03

環境下,使用bash shell。我擅長幫助使用者處理命令列任務、解決系統問題以及提供相關建議。如果需要更詳細的資訊或有其他問題,請隨時告訴我!

2. Shell 命令

[root@localhost ~]

# sgpt -s "檢視當前目錄"
<

think

>

好的,我現在需要幫使用者生成一個bash命令。使用者的要求是“檢視當前目錄”。首先,我得理解這個指令的具體含義。


在Linux系統中,“檢視當前目錄”通常指的是顯示當前所在的目錄路徑。最常用的命令應該是

`pwd`

,它會輸出絕對路徑,比如

`/home/user`

這樣的結果。這個命令簡單直接,符合使用者的需求。


接下來,我要考慮是否需要其他命令。例如,如果使用者想列出目錄中的檔案和子目錄,可能會用到

`ls`

。但根據使用者的描述,“檢視當前目錄”更傾向於顯示路徑而不是內容,所以

`pwd`

是更合適的選擇。


另外,使用者可能沒有詳細說明,但有時候他們可能希望同時看到目錄結構或者更多的資訊。不過在這種情況下,保持簡單明瞭更好,避免多餘的輸出讓使用者困惑。


最後,確保命令在openEuler

24.03

(LTS-SP1)系統上有效。

`pwd`

是一個基本的shell內建命令,在所有Linux發行版中都適用,包括openEuler,所以沒有問題。


綜上所述,最合適的命令就是

`pwd`

<

/think

>

pwd

[E]xecute, [D]escribe, [A]bort: e

#按e直接執行命令

3. 生成程式碼

`[root@localhost

~

]# sgpt

-

c

"寫一個shell指令碼,要求獲取cpu核數執行緒,記憶體大小,磁碟大小,網路頻寬"

`

4. 列出所有對話

`[root@localhost

~

]# sgpt

--

list

-

chats`

5. 檢視對話資訊

`[root@localhost

~

]#sgpt

--

show

-

chat

<

會話路徑

>

`

6. 啟動互動式

[root@localhost ~]# sgpt --repl temp

Entering REPL

mode

, press Ctrl

+

C

toexit

.

>>>

連結:https://blog.csdn.net/weixin_74814027/article/details/145933302?spm=1001.2014.3001.5502
(版權歸原作者所有,侵刪)
文末福利
就目前來說,傳統運維衝擊年薪30W+的轉型方向就是SRE&DevOps崗位。
為了幫助大家早日擺脫繁瑣的基層運維工作,給大家整理了一套高階運維工程師必備技能資料包,內容有多詳實豐富看下圖!
共有 20 個模組
1.38張最全工程師技能圖譜
2.面試大禮包
3.Linux書籍
4.go書籍
······
6.自動化運維工具
18.訊息佇列合集
 以上所有資料獲取請掃碼
備註:最新運維資料
100%免費領取
(後臺不再回復,掃碼一鍵領取


相關文章