Compare commits

...

5 Commits

Author SHA1 Message Date
c28e440154 wip 2026-03-09 20:25:54 +00:00
870795b81f wip 2026-03-01 18:09:50 +00:00
d85bc01fc0 wip 2026-03-01 17:11:29 +00:00
0329c60330 wip 2026-02-15 21:57:26 +00:00
70dd3cd2f9 wip 2026-02-15 21:24:50 +00:00
9 changed files with 31 additions and 86 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +1,3 @@
--- ---
model: openrouter:deepseek/deepseek-v3.2-exp model: openrouter:deepseek/deepseek-v3.2
--- ---

View File

@@ -1,3 +0,0 @@
---
model: openrouter:openai/gpt-4.1
---

View File

@@ -1,3 +1,3 @@
--- ---
model: openrouter:anthropic/claude-sonnet-4.5 model: openrouter:anthropic/claude-sonnet-4.6
--- ---

View File

@@ -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\\'

View File

@@ -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

View File

@@ -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