aids 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/aids.rb +3 -2
- data/lib/app.rb +12 -10
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e60e41121f7a2b87f9eabf7da50f3db77f1c39c29d92387aea3574a92e6879ad
|
|
4
|
+
data.tar.gz: 5530066dc015f810cf9c5e20c6d058e08349f380b7a0f7ea0267fea6ba1c2f8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: db161e59e16a9a9fdb06a53bad67206e536d12093dd4b22b6f1fbc9fb9cba277ae5cbec3309d28b300e33cb6d1020fcb5ef4b0a82aae58a4dc0cef26480a86b9
|
|
7
|
+
data.tar.gz: 835b58458d85c051651a45f3574d24f6d80567d528666a4b5545331f2ea34ebcb05c9f704cd48e58328b9099a3e4b4ff8de0efde0d08ef820b9a86e9e2e3928b
|
data/lib/aids.rb
CHANGED
|
@@ -107,15 +107,16 @@ module AI
|
|
|
107
107
|
|
|
108
108
|
# ── Entry point ──────────────────────────────────────────────────────
|
|
109
109
|
def self.run(argv = ARGV)
|
|
110
|
-
resume = false
|
|
110
|
+
resume = false; temp = false
|
|
111
111
|
rest = OptionParser.new { |o|
|
|
112
112
|
o.on("-c", "--continue") { resume = true }
|
|
113
|
+
o.on("-t", "--temp") { temp = true }
|
|
113
114
|
o.on("--history") { exec("lf", DATA_DIR) }
|
|
114
115
|
o.on("--clean") { clean!; exit }
|
|
115
116
|
}.order(argv)
|
|
116
117
|
|
|
117
118
|
key = ENV["DEEPSEEK_API_KEY"] or abort "#{Ansi.fg(196)}DEEPSEEK_API_KEY not set#{Ansi.reset}"
|
|
118
|
-
app = App.new(key: key, profile: Profile.load, resume: resume)
|
|
119
|
+
app = App.new(key: key, profile: Profile.load, resume: resume, temp: temp)
|
|
119
120
|
|
|
120
121
|
piped = $stdin.tty? ? "" : $stdin.read.strip
|
|
121
122
|
text = [piped, rest.join(" ")].map(&:strip).reject(&:empty?).join(" ")
|
data/lib/app.rb
CHANGED
|
@@ -8,8 +8,8 @@ module AI
|
|
|
8
8
|
|
|
9
9
|
attr_reader :session, :attachments
|
|
10
10
|
|
|
11
|
-
def initialize(key:, profile:, resume: false)
|
|
12
|
-
@key = key; @profile = profile
|
|
11
|
+
def initialize(key:, profile:, resume: false, temp: false)
|
|
12
|
+
@key = key; @profile = profile; @temp = temp
|
|
13
13
|
@editor = LineEditor.new
|
|
14
14
|
@editor.completer = ->(prefix) { complete(prefix) }
|
|
15
15
|
@hl = Highlighter.new
|
|
@@ -43,10 +43,10 @@ module AI
|
|
|
43
43
|
@session.add_turn(text, reply, usage, attachments: attached_data)
|
|
44
44
|
@attachments = []
|
|
45
45
|
AI.print_usage(usage)
|
|
46
|
-
@session.save(p)
|
|
46
|
+
@session.save(p) unless @temp
|
|
47
47
|
@fresh = false
|
|
48
|
-
Stats.record(usage)
|
|
49
|
-
kick_title_fetch
|
|
48
|
+
Stats.record(usage) unless @temp
|
|
49
|
+
kick_title_fetch unless @temp
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
def discard(arg)
|
|
@@ -76,7 +76,7 @@ module AI
|
|
|
76
76
|
redraw
|
|
77
77
|
notify "\u2212 discarded #{removed} turn#{removed == 1 ? "" : "s"} · session is now empty"
|
|
78
78
|
else
|
|
79
|
-
@session.save(@profile)
|
|
79
|
+
@session.save(@profile) unless @temp
|
|
80
80
|
redraw
|
|
81
81
|
notify "\u2212 discarded #{removed} turn#{removed == 1 ? "" : "s"}"
|
|
82
82
|
end
|
|
@@ -92,7 +92,7 @@ module AI
|
|
|
92
92
|
return
|
|
93
93
|
end
|
|
94
94
|
@session.title = text
|
|
95
|
-
@session.save(@profile)
|
|
95
|
+
@session.save(@profile) unless @temp
|
|
96
96
|
redraw
|
|
97
97
|
notify "title set"
|
|
98
98
|
end
|
|
@@ -104,8 +104,10 @@ module AI
|
|
|
104
104
|
dup.messages = Marshal.load(Marshal.dump(src.messages))
|
|
105
105
|
dup.usages = Marshal.load(Marshal.dump(src.usages))
|
|
106
106
|
dup.title = src.title ? "#{src.title} (clone)" : "(clone)"
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
unless @temp
|
|
108
|
+
dup.save(@profile)
|
|
109
|
+
FileUtils.cp(src.history_file, dup.history_file) if File.exist?(src.history_file)
|
|
110
|
+
end
|
|
109
111
|
@session = dup
|
|
110
112
|
@fresh = false
|
|
111
113
|
load_history
|
|
@@ -404,7 +406,7 @@ module AI
|
|
|
404
406
|
end
|
|
405
407
|
|
|
406
408
|
def save_history
|
|
407
|
-
return if @editor.history.empty?
|
|
409
|
+
return if @temp || @editor.history.empty?
|
|
408
410
|
FileUtils.mkdir_p(META_DIR)
|
|
409
411
|
File.write(@session.history_file, @editor.history.last(1000).join("\n"))
|
|
410
412
|
end
|