pi: add provider model config

This commit is contained in:
Rasyidan Akbar F. 2026-06-21 05:55:05 +07:00
commit 2981bbb3c4
5 changed files with 176 additions and 83 deletions

View file

@ -1,78 +0,0 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __done_min_cmd_duration:10000
SETUVAR __done_notification_urgency_level:low
SETUVAR __fish_initialized:4300
SETUVAR --export fish_user_paths:/opt/cuda/bin\x1e/home/rsydn/\x2elocal/bin
SETUVAR pure_begin_prompt_with_current_directory:true
SETUVAR pure_check_for_new_release:false
SETUVAR pure_color_at_sign:pure_color_mute
SETUVAR pure_color_aws_profile:pure_color_warning
SETUVAR pure_color_command_duration:pure_color_warning
SETUVAR pure_color_current_directory:pure_color_primary
SETUVAR pure_color_danger:red
SETUVAR pure_color_dark:black
SETUVAR pure_color_exit_status:pure_color_danger
SETUVAR pure_color_git_branch:pure_color_mute
SETUVAR pure_color_git_dirty:pure_color_mute
SETUVAR pure_color_git_stash:pure_color_info
SETUVAR pure_color_git_unpulled_commits:pure_color_info
SETUVAR pure_color_git_unpushed_commits:pure_color_info
SETUVAR pure_color_hostname:pure_color_mute
SETUVAR pure_color_info:cyan
SETUVAR pure_color_jobs:pure_color_normal
SETUVAR pure_color_k8s_context:pure_color_success
SETUVAR pure_color_k8s_namespace:pure_color_primary
SETUVAR pure_color_k8s_prefix:pure_color_info
SETUVAR pure_color_light:white
SETUVAR pure_color_mute:brblack
SETUVAR pure_color_nixdevshell_prefix:pure_color_info
SETUVAR pure_color_nixdevshell_symbol:pure_color_mute
SETUVAR pure_color_normal:normal
SETUVAR pure_color_prefix_root_prompt:pure_color_danger
SETUVAR pure_color_primary:blue
SETUVAR pure_color_prompt_on_error:pure_color_danger
SETUVAR pure_color_prompt_on_success:pure_color_success
SETUVAR pure_color_success:magenta
SETUVAR pure_color_system_time:pure_color_mute
SETUVAR pure_color_username_normal:pure_color_mute
SETUVAR pure_color_username_root:pure_color_light
SETUVAR pure_color_virtualenv:pure_color_mute
SETUVAR pure_color_warning:yellow
SETUVAR pure_convert_exit_status_to_signal:false
SETUVAR pure_enable_aws_profile:true
SETUVAR pure_enable_container_detection:true
SETUVAR pure_enable_git:true
SETUVAR pure_enable_k8s:false
SETUVAR pure_enable_nixdevshell:false
SETUVAR pure_enable_single_line_prompt:false
SETUVAR pure_enable_virtualenv:true
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
SETUVAR pure_separate_prompt_on_error:false
SETUVAR pure_shorten_prompt_current_directory_length:0
SETUVAR pure_shorten_window_title_current_directory_length:0
SETUVAR pure_show_exit_status:false
SETUVAR pure_show_jobs:false
SETUVAR pure_show_numbered_git_indicator:false
SETUVAR pure_show_prefix_root_prompt:false
SETUVAR pure_show_subsecond_command_duration:false
SETUVAR pure_show_system_time:false
SETUVAR pure_symbol_aws_profile_prefix:
SETUVAR pure_symbol_container_prefix:
SETUVAR pure_symbol_exit_status_prefix:\x7c
SETUVAR pure_symbol_exit_status_separator:\x7c
SETUVAR pure_symbol_git_dirty:\x2a
SETUVAR pure_symbol_git_stash:\u2261
SETUVAR pure_symbol_git_unpulled_commits:\u21e3
SETUVAR pure_symbol_git_unpushed_commits:\u21e1
SETUVAR pure_symbol_k8s_prefix:\u2638
SETUVAR pure_symbol_nixdevshell_prefix:\u2744\ufe0f
SETUVAR pure_symbol_prefix_root_prompt:\x23
SETUVAR pure_symbol_prompt:\u276f
SETUVAR pure_symbol_reverse_prompt:\u276e
SETUVAR pure_symbol_ssh_prefix:
SETUVAR pure_symbol_title_bar_separator:\x2d
SETUVAR pure_symbol_virtualenv_prefix:
SETUVAR pure_threshold_command_duration:5
SETUVAR pure_truncate_prompt_current_directory_keeps:\x2d1
SETUVAR pure_truncate_window_title_current_directory_keeps:\x2d1

74
.gitignore vendored Normal file
View file

@ -0,0 +1,74 @@
# Bare-home dotfiles: ignore all untracked files by default.
# Add new dotfiles explicitly with `dotfiles add -f <path>`.
*
# Secrets and machine-local state
.config/fish/fish_variables
.pi/agent/auth.json
.pi/agent/sessions/
.pi/pi-acp/session-map.json
# Environment files / credentials
.env
.env.*
*.env
*.pem
*.key
*.p12
*.pfx
*.crt
*.csr
*.age
*.kdbx
*credentials*
*secrets*
*token*
# Private auth/config directories
.ssh/
.gnupg/
.kube/
.aws/
.azure/
.gcloud/
.docker/config.json
.netrc
.npmrc
.pypirc
.huggingface/token
# Shell/app history
.bash_history
.zsh_history
.python_history
.lesshst
.mysql_history
.psql_history
.sqlite_history
.wget-hsts
# Pi extension/package build artifacts
.pi/agent/extensions/*/node_modules/
.pi/agent/extensions/*/package-lock.json
.pi/agent/npm/node_modules/
.pi/agent/npm/package-lock.json
# Logs / ephemeral databases / sessions
*.log
*.jsonl
*.sqlite
*.sqlite-shm
*.sqlite-wal
*.db
*.db-shm
*.db-wal
# Caches and generated local state
.cache/
.local/share/Trash/
.local/state/
.tmp/
tmp/
# Common dependency folders
node_modules/

View file

@ -7,3 +7,16 @@
- If a task needs work on a remote host, the agent may use `ssh` from this machine. - If a task needs work on a remote host, the agent may use `ssh` from this machine.
- Prefer non-destructive remote inspection first, and be explicit when commands are being run on a remote machine. - Prefer non-destructive remote inspection first, and be explicit when commands are being run on a remote machine.
- If the target host or remote command is unclear, ask the user before connecting. - If the target host or remote command is unclear, ask the user before connecting.
## Version Control
- Prefer Jujutsu (`jj`) as the primary version control interface when a repository supports it.
- Use `jj status` instead of `git status`.
- Use `jj diff` instead of `git diff`.
- Use `jj log` instead of `git log` for history inspection.
- Use `jj describe` to update the current change description instead of creating a Git commit message directly.
- Use `jj new` to start a new change when appropriate.
- Use `jj bookmark` workflows for named refs/branches when needed.
- Treat Git as the colocated backend/plumbing unless the user explicitly asks for Git commands or the repo does not support `jj`.
- Do not run destructive Git commands such as `git reset --hard`, `git checkout`, or `git commit` unless explicitly requested.
- If unsure whether a repo is managed by `jj`, inspect non-destructively first with `jj root`, `jj status`, or by checking for `.jj/`.

80
.pi/agent/models.json Normal file
View file

@ -0,0 +1,80 @@
{
"providers": {
"crofai": {
"baseUrl": "https://crof.ai/v1",
"api": "openai-completions",
"apiKey": "$CROFAI_API_KEY",
"authHeader": true,
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": true
},
"models": [
{
"id": "glm-5.2",
"name": "CrofAI: GLM 5.2",
"reasoning": true,
"input": [
"text"
],
"contextWindow": 1000000,
"maxTokens": 131072,
"thinkingLevelMap": {
"off": "none",
"minimal": "low",
"low": "low",
"medium": "medium",
"high": "high",
"xhigh": "high"
},
"cost": {
"input": 0.5,
"output": 2.2,
"cacheRead": 0.08,
"cacheWrite": 0
}
}
]
},
"wafer": {
"baseUrl": "https://pass.wafer.ai/v1",
"api": "openai-completions",
"apiKey": "$WAFER_API_KEY",
"authHeader": true,
"headers": {
"Wafer-ZDR": "required"
},
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": true,
"maxTokensField": "max_tokens"
},
"models": [
{
"id": "GLM-5.2",
"name": "Wafer: GLM 5.2",
"reasoning": true,
"input": [
"text"
],
"contextWindow": 1048576,
"maxTokens": 131072,
"thinkingLevelMap": {
"off": "none",
"minimal": "low",
"low": "low",
"medium": "medium",
"high": "high",
"xhigh": "max"
},
"cost": {
"input": 1.2,
"output": 4.1,
"cacheRead": 0.2,
"cacheWrite": 0
}
}
]
}
}
}

View file

@ -1,7 +1,11 @@
{ {
"lastChangelogVersion": "0.58.1", "lastChangelogVersion": "0.79.9",
"defaultProvider": "anthropic", "defaultProvider": "openai-codex",
"defaultModel": "claude-opus-4-6", "defaultModel": "gpt-5.5",
"defaultThinkingLevel": "high", "defaultThinkingLevel": "low",
"theme": "catppuccin-mocha" "theme": "catppuccin-mocha",
"hideThinkingBlock": true,
"packages": [
"npm:@ff-labs/pi-fff"
]
} }