เติมข้อความอัตโนมัติโดยใช้ GPT โดยใช้ข้อมูลจากประวัติคำสั่ง atuin เป็นพรอมต์อินพุต ใช้การตอบกลับแบบสตรีมมิ่งเพื่อรับการตอบกลับครั้งแรกอย่างรวดเร็วมาก README รวบรวมได้ภายในไม่กี่นาที ฉันจะแก้ไขให้เร็วที่สุด
pip install --user tiktoken openai
ควรจะเพียงพอ หรือคุณสามารถทำ venv สำหรับพวกเขาและชี้การกำหนดค่าเชลล์ไปที่ Python ที่ถูกต้อง
fzf เพื่อเลือกผลลัพธ์ที่ถูกต้อง
เพิ่มสิ่งนี้ลงใน config.nu:
{
name: complete_with_gtp
modifier: CONTROL
keycode: Char_o
mode: [emacs vi_normal vi_insert]
event:[
{ send: executehostcommand,
cmd: "commandline -r (python /path/to/completer.py (commandline) | fzf --track --height 8)"
}
{ send: Enter }
]
}
วิธี config.fish:
function gpt_completion
commandline (python /path/to/completer.py (commandline) | fzf --track --height 8)
end
bind ck "gpt_completion"
--atuin
: ตำแหน่งฐานข้อมูลประวัติ atuin
--dunst
: ใช้ dunstify เพื่อแจ้งเตือนสิ่งที่เกิดขึ้น (ส่วนใหญ่แก้ไขข้อบกพร่อง)
--model
: gpt-3.5-turbo หรือ gpt-4 GPT-4 รู้สึกช้าลงมากสำหรับการใช้งานนี้
--wezterm
: ต่อท้ายเนื้อหาหน้าจอจาก Wezterm
สิ่งนี้ทำให้มีการสืบค้นสองสามรายการจากฐานข้อมูล atuin ดังนั้นดัชนีเพิ่มเติมอีกสองสามรายการจึงสามารถเร่งความเร็วได้ค่อนข้างมาก:
sqlite3 ~/.local/share/atuin/history.db
CREATE INDEX idx_history_cwd on history(cwd);
CREATE INDEX idx_history_session on history(session);
หากคุณใช้ Wezterm คุณสามารถเพิ่มเนื้อหาหน้าจอเทอร์มินัลปัจจุบันของคุณลงในพรอมต์ GPT ซึ่งอาจมีประโยชน์หากมีข้อความแสดงข้อผิดพลาดที่อาจช่วยสร้างบรรทัดคำสั่งที่ถูกต้อง ในกรณีนั้นให้เพิ่ม -w สำหรับบรรทัดคำสั่ง completer.py
Kitty get-text มีการแสดงความคิดเห็นในโค้ดเนื่องจากฉันไม่สามารถใช้งานได้ในขณะนี้ ฉันจะแก้ไขโดยเร็วที่สุดหรือแจ้งให้เราทราบหากคุณพบวิธี
เรื่องนี้ถูกโพสต์ค่อนข้างเร่งรีบ เมื่ออาทูอิน ขึ้นหน้าแรกของ HN โค้ดแย่มาก มีฟีเจอร์ที่พร้อมใช้ครึ่งนึงแสดงความเห็นไว้ และฉันไม่ได้ทดสอบมันมากเกินไป อาจต้องมีการแก้ไขบางอย่างเพื่อให้ทำงานได้ดีในที่อื่น ฉันจะได้ดูในไม่กี่วันข้างหน้าเพื่อทำความสะอาด