Compare commits
5 Commits
0cfa0e8d9f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c28e440154 | |||
| 870795b81f | |||
| d85bc01fc0 | |||
| 0329c60330 | |||
| 70dd3cd2f9 |
@@ -1,14 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
session_ts="$(date +%s)"
|
||||||
role="$1"
|
role="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
session_ts="$(date +%s)"
|
work() {
|
||||||
|
aichat --save-session --session "$session_ts" --role "$role" "$*"
|
||||||
|
}
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
aichat --save-session --session "$session_ts" --role "$role" "$@"
|
work "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -e -r -p "> " input
|
read -e -r -p "> " input
|
||||||
aichat --save-session --session "$session_ts" --role "$role" "$input"
|
if [ -z "$input" ]; then
|
||||||
|
input="$(rlwrap cat)"
|
||||||
|
fi
|
||||||
|
work "$input"
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
source ~/.config/workspace.conf
|
|
||||||
key_vol_path="/dev/disk/by-uuid/$BACKUP_KEY_VOL_UUID"
|
|
||||||
data_vol_path="/dev/disk/by-uuid/$BACKUP_DATA_VOL_UUID"
|
|
||||||
|
|
||||||
data_mnt=
|
|
||||||
remote_open() {
|
|
||||||
data_mapper_name="$(lsblk "$data_vol_path" -no name --raw | awk 'NR==2')"
|
|
||||||
key_mnt="$(lsblk "$key_vol_path" -no mountpoint)"
|
|
||||||
if [ -z "$data_mapper_name" ]; then
|
|
||||||
echo unlocking data luks vol..
|
|
||||||
if [ -z "$key_mnt" ]; then
|
|
||||||
echo mounting key vol..
|
|
||||||
udisksctl mount -b "$key_vol_path"
|
|
||||||
key_mnt="$(lsblk "$key_vol_path" -no mountpoint)"
|
|
||||||
fi
|
|
||||||
echo decrypting key..
|
|
||||||
gpg --batch --yes --output /tmp/backup-keyfile --decrypt "$key_mnt/keyfile.gpg"
|
|
||||||
udisksctl unlock -b "$data_vol_path" --key-file /tmp/backup-keyfile
|
|
||||||
data_mapper_name="$(lsblk "$data_vol_path" -no name --raw | awk 'NR==2')"
|
|
||||||
echo unlock ok, doing key cleanup
|
|
||||||
fi
|
|
||||||
rm -f /tmp/backup-keyfile
|
|
||||||
[ -n "$key_mnt" ] && udisksctl unmount -b "$key_vol_path"
|
|
||||||
data_mnt="$(lsblk "/dev/mapper/$data_mapper_name" -no mountpoint)"
|
|
||||||
if [ -z "$data_mnt" ]; then
|
|
||||||
echo mounting data vol..
|
|
||||||
udisksctl mount -b "/dev/mapper/$data_mapper_name"
|
|
||||||
data_mnt="$(lsblk "/dev/mapper/$data_mapper_name" -no mountpoint)"
|
|
||||||
fi
|
|
||||||
echo open done
|
|
||||||
}
|
|
||||||
|
|
||||||
remote_close() {
|
|
||||||
data_mapper_name="$(lsblk "$data_vol_path" -no name --raw | awk 'NR==2')"
|
|
||||||
if [ -n "$data_mapper_name" ]; then
|
|
||||||
echo unmounting data vol..
|
|
||||||
udisksctl unmount -b "/dev/mapper/$data_mapper_name"
|
|
||||||
fi
|
|
||||||
udisksctl lock -b "$data_vol_path" # must be open here (fail if not)
|
|
||||||
echo close done
|
|
||||||
}
|
|
||||||
|
|
||||||
push_homedir() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
remote_open
|
|
||||||
|
|
||||||
for g in $(groups); do
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
remote_close
|
|
||||||
echo ALL OK
|
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
# see https://github.com/sigoden/aichat/blob/main/config.example.yaml
|
# see https://github.com/sigoden/aichat/blob/main/config.example.yaml
|
||||||
# see https://github.com/sigoden/aichat/blob/main/models.yaml
|
# see https://github.com/sigoden/aichat/blob/main/models.yaml
|
||||||
|
|
||||||
|
compress_threshold: 100000
|
||||||
|
summarize_prompt: 'Summarize the discussion in 5000 words or less to use as a prompt for future context.'
|
||||||
|
save_session: false
|
||||||
|
|
||||||
clients:
|
clients:
|
||||||
|
|
||||||
- type: openai-compatible
|
- type: openai-compatible
|
||||||
@@ -9,32 +13,22 @@ clients:
|
|||||||
api_key: {{ .user.AI_OPENROUTER_KEY }}
|
api_key: {{ .user.AI_OPENROUTER_KEY }}
|
||||||
models:
|
models:
|
||||||
|
|
||||||
- name: anthropic/claude-sonnet-4.5
|
- name: anthropic/claude-sonnet-4.6
|
||||||
max_input_tokens: 350000
|
max_input_tokens: 1000000
|
||||||
max_output_tokens: 65000
|
max_output_tokens: 65000
|
||||||
require_max_tokens: true
|
|
||||||
input_price: 3
|
input_price: 3
|
||||||
output_price: 15
|
output_price: 15
|
||||||
supports_vision: true
|
|
||||||
supports_function_calling: true
|
|
||||||
patch:
|
patch:
|
||||||
body:
|
body:
|
||||||
reasoning:
|
reasoning:
|
||||||
effort: high
|
effort: high
|
||||||
|
|
||||||
- name: deepseek/deepseek-v3.2-exp
|
- name: deepseek/deepseek-v3.2
|
||||||
max_input_tokens: 163840
|
max_input_tokens: 163840
|
||||||
input_price: 0.20
|
max_output_tokens: 65000
|
||||||
|
input_price: 0.25
|
||||||
output_price: 0.40
|
output_price: 0.40
|
||||||
patch:
|
patch:
|
||||||
body:
|
body:
|
||||||
reasoning:
|
reasoning:
|
||||||
effort: high
|
effort: high
|
||||||
|
|
||||||
- name: openai/gpt-4.1
|
|
||||||
max_input_tokens: 1047576
|
|
||||||
max_output_tokens: 32768
|
|
||||||
input_price: 2
|
|
||||||
output_price: 8
|
|
||||||
supports_vision: true
|
|
||||||
supports_function_calling: true
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
---
|
---
|
||||||
model: openrouter:deepseek/deepseek-v3.2-exp
|
model: openrouter:deepseek/deepseek-v3.2
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
model: openrouter:openai/gpt-4.1
|
|
||||||
---
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
---
|
---
|
||||||
model: openrouter:anthropic/claude-sonnet-4.5
|
model: openrouter:anthropic/claude-sonnet-4.6
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -13,16 +13,20 @@ alias ls='ls --color=auto'
|
|||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
alias node='NODE_NO_READLINE=1 rlwrap node'
|
alias node='NODE_NO_READLINE=1 rlwrap node'
|
||||||
|
|
||||||
alias d='cd ~/dev'
|
alias d='~/dev'
|
||||||
alias k='cd ~/know'
|
alias k='~/know'
|
||||||
alias t='cd ~/tmp'
|
alias t='~/tmp'
|
||||||
alias l='cd ~/lfs'
|
alias l='~/lfs'
|
||||||
|
|
||||||
export EDITOR=vim
|
export EDITOR=vim
|
||||||
|
export PAGER=less
|
||||||
|
|
||||||
export FZF_COMPLETION_TRIGGER='*'
|
export FZF_COMPLETION_TRIGGER='*'
|
||||||
eval "$(fzf --bash)"
|
eval "$(fzf --bash)"
|
||||||
|
|
||||||
|
export GPG_TTY=$(tty)
|
||||||
|
gpg-connect-agent updatestartuptty /bye >/dev/null
|
||||||
|
|
||||||
PS0+='\e]133;C\e\\'
|
PS0+='\e]133;C\e\\'
|
||||||
command_done() {
|
command_done() {
|
||||||
printf '\e]133;D\e\\'
|
printf '\e]133;D\e\\'
|
||||||
|
|||||||
@@ -3,5 +3,3 @@ unset SSH_AGENT_PID
|
|||||||
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
|
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
|
||||||
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||||
fi
|
fi
|
||||||
export GPG_TTY=$(tty)
|
|
||||||
gpg-connect-agent updatestartuptty /bye >/dev/null
|
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
pinentry-program ~/.local/bin/menu/pinentry.sh
|
pinentry-program ~/.local/bin/menu/pinentry.sh
|
||||||
|
default-cache-ttl 2419200
|
||||||
|
max-cache-ttl 2419200
|
||||||
|
|||||||
Reference in New Issue
Block a user