Compare commits
8
Commits
bddb4d14b4
...
704955248b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
704955248b | ||
|
|
5899f93a0a | ||
|
|
0e4c6d5faa | ||
|
|
15b8fc95ff | ||
|
|
4307856790 | ||
|
|
acfe37f0c0 | ||
|
|
8db3616687 | ||
|
|
5be5c34fd6 |
No files matched your search
@@ -159,7 +159,7 @@
|
||||
auto_accept="--noconfirm"
|
||||
fi
|
||||
|
||||
sudo pacman -Syu $auto_accept ||
|
||||
sudo pacman -Syu $auto_accept --overwrite '/usr/lib/node_modules/*' ||
|
||||
return 1
|
||||
echo -e "\n"
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
runit_script_dir: /etc/runit/sv
|
||||
runit_service_dir: /etc/runit/runsvdir/default
|
||||
runit_service_script: run
|
||||
runit_log_dir: log
|
||||
global_log: /var/log
|
||||
global_log_config: config
|
||||
|
||||
- name: General | Facts | System | Global 02
|
||||
ansible.builtin.set_fact:
|
||||
@@ -21,6 +24,7 @@
|
||||
lynis_install_dir: "{{ global_src }}/lynis"
|
||||
dwm_install_dir: "{{ global_src }}/dwm"
|
||||
st_install_dir: "{{ global_src }}/st"
|
||||
runit_log_script: "{{ runit_service_script }}"
|
||||
|
||||
- name: General | Facts | System | Global 03
|
||||
ansible.builtin.set_fact:
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
schema_version = 3
|
||||
|
||||
[providers]
|
||||
|
||||
[providers.models]
|
||||
|
||||
[providers.models.ollama]
|
||||
|
||||
[providers.models.ollama.default]
|
||||
model = "qwen3.5:4b"
|
||||
|
||||
[risk_profiles]
|
||||
|
||||
[risk_profiles.locked_down]
|
||||
allowed_commands = ["git", "npm", "cargo", "ls", "cat", "grep", "find", "echo", "pwd", "wc", "head", "tail", "date", "df", "du", "uname", "uptime", "hostname", "python", "python3", "pip", "node", "free"]
|
||||
block_high_risk_commands = true
|
||||
forbidden_paths = ["/etc", "/root", "/home", "/usr", "/bin", "/sbin", "/lib", "/opt", "/boot", "/dev", "/proc", "/sys", "/var", "/tmp", "~/.ssh", "~/.gnupg", "~/.aws", "~/.config"]
|
||||
level = "supervised"
|
||||
require_approval_for_medium_risk = true
|
||||
sandbox_enabled = true
|
||||
workspace_only = true
|
||||
|
||||
[runtime_profiles.unbounded]
|
||||
agentic = true
|
||||
agentic_timeout_secs = 1800
|
||||
compact_context = false
|
||||
delegation_timeout_secs = 900
|
||||
keep_tool_context_turns = 8
|
||||
max_actions_per_hour = 4294967295
|
||||
max_context_tokens = 128000
|
||||
max_cost_per_day_cents = 4294967295
|
||||
max_delegation_depth = 8
|
||||
max_history_messages = 200
|
||||
max_system_prompt_chars = 64000
|
||||
max_tool_iterations = 100
|
||||
max_tool_result_chars = 64000
|
||||
memory_recall_limit = 10
|
||||
parallel_tools = true
|
||||
shell_timeout_secs = 600
|
||||
strict_tool_parsing = false
|
||||
|
||||
[risk_profiles.locked_down.delegation_policy]
|
||||
mode = "forbidden"
|
||||
|
||||
[agents]
|
||||
|
||||
[agents.codebot]
|
||||
model_provider = "ollama.default"
|
||||
runtime_profile = "unbounded"
|
||||
risk_profile = "locked_down"
|
||||
|
||||
[memory]
|
||||
backend = "none"
|
||||
|
||||
[onboard_state]
|
||||
quickstart_completed = true
|
||||
|
||||
[runtime_profiles]
|
||||
|
||||
[runtime_profiles.unbounded.context_compression]
|
||||
enabled = false
|
||||
identifier_policy = "strict"
|
||||
max_passes = 3
|
||||
protect_first_n = 3
|
||||
protect_last_n = 4
|
||||
source_max_chars = 50000
|
||||
summary_max_chars = 4000
|
||||
threshold_ratio = 0.5
|
||||
timeout_secs = 60
|
||||
tool_result_retrim_chars = 2000
|
||||
|
||||
[runtime_profiles.unbounded.eval]
|
||||
enabled = false
|
||||
max_retries = 1
|
||||
min_quality_score = 0.5
|
||||
|
||||
[runtime_profiles.unbounded.history_pruning]
|
||||
collapse_tool_results = true
|
||||
enabled = false
|
||||
keep_recent = 4
|
||||
max_tokens = 8192
|
||||
|
||||
[runtime_profiles.unbounded.thinking]
|
||||
default_level = "medium"
|
||||
display = "off"
|
||||
native_thinking = false
|
||||
|
||||
[runtime_profiles.unbounded.tool_receipts]
|
||||
enabled = false
|
||||
inject_system_prompt = true
|
||||
show_in_response = false
|
||||
@@ -89,11 +89,21 @@
|
||||
- name: Main | General Setup
|
||||
block:
|
||||
|
||||
- ansible.builtin.include_tasks: tasks/general/software/swap.yml
|
||||
- ansible.builtin.include_tasks: tasks/general/software/packages.yml
|
||||
- name: Main | General Setup | Swap
|
||||
ansible.builtin.include_tasks: tasks/general/software/swap.yml
|
||||
|
||||
- name: Main | General Setup | runit
|
||||
ansible.builtin.include_tasks: tasks/general/software/runit.yml
|
||||
|
||||
- name: Main | General Setup | Packages
|
||||
ansible.builtin.include_tasks: tasks/general/software/packages.yml
|
||||
when: internet
|
||||
- ansible.builtin.include_tasks: tasks/general/software/services.yml
|
||||
- ansible.builtin.include_tasks: tasks/general/software/sendmail.yml
|
||||
|
||||
- name: Main | General Setup | Services
|
||||
ansible.builtin.include_tasks: tasks/general/software/services.yml
|
||||
|
||||
- name: Main | General Setup | Sendmail
|
||||
ansible.builtin.include_tasks: tasks/general/software/sendmail.yml
|
||||
when: ansible_system == "FreeBSD"
|
||||
and internet
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
# 20261006 Hyperling
|
||||
|
||||
# Allow ansible.builtin.service to be used on Artix similar to Devuan.
|
||||
- name: General | Software | runit | Fix Artix
|
||||
block:
|
||||
|
||||
- name: General | Software | runit | Fix Artix | Script Dir
|
||||
ansible.builtin.file:
|
||||
src: /etc/runit/sv
|
||||
dest: /etc/sv
|
||||
state: link
|
||||
force: true
|
||||
|
||||
- name: General | Software | runit | Fix Artix | Service Dir
|
||||
ansible.builtin.file:
|
||||
src: /etc/runit/runsvdir/default
|
||||
dest: /var/service
|
||||
state: link
|
||||
force: true
|
||||
|
||||
when: ansible_service_mgr == "runit"
|
||||
and ansible_pkg_mgr == "pacman"
|
||||
@@ -353,7 +353,7 @@
|
||||
|
||||
# Report the currently installed packages.
|
||||
- name: Workstation | Linux | Software | Android | Report Modules
|
||||
ansible.builtin.shell: "{{ android_sdkmanager2_list }} > {{ android_report_file }}"
|
||||
ansible.builtin.shell: "{{ android_sdkmanager2_list }} --all > {{ android_report_file }}"
|
||||
become: true
|
||||
become_user: "{{ user }}"
|
||||
register: shell_check
|
||||
|
||||
@@ -44,12 +44,23 @@
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Facts 02
|
||||
ansible.builtin.set_fact:
|
||||
ollama_runit_dir: "{{ runit_script_dir }}/{{ ollama }}"
|
||||
ollama_runit_log_dest: "{{ global_log }}/{{ ollama }}"
|
||||
zeroclaw_runit_dir: "{{ runit_script_dir }}/{{ zeroclaw }}"
|
||||
zeroclaw_runit_log_dest: "{{ global_log }}/{{ zeroclaw }}"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Facts 03
|
||||
ansible.builtin.set_fact:
|
||||
ollama_runit_start: "{{ ollama_runit_dir }}/{{ runit_service_script }}"
|
||||
zeroclaw_runit_start: "{{ zeroclaw_runit_dir }}{{ runit_service_script }}"
|
||||
ollama_runit_log_dir: "{{ ollama_runit_dir }}/{{ runit_log_dir }}"
|
||||
ollama_runit_log_config: "{{ ollama_runit_log_dest }}/{{ global_log_config }}"
|
||||
zeroclaw_runit_start: "{{ zeroclaw_runit_dir }}/{{ runit_service_script }}"
|
||||
zeroclaw_runit_log_dir: "{{ zeroclaw_runit_dir }}/{{ runit_log_dir }}"
|
||||
zeroclaw_runit_log_config: "{{ zeroclaw_runit_log_dest }}/{{ global_log_config }}"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Facts 04
|
||||
ansible.builtin.set_fact:
|
||||
ollama_runit_log_start: "{{ ollama_runit_log_dir }}/{{ runit_log_script }}"
|
||||
zeroclaw_runit_log_start: "{{ zeroclaw_runit_log_dir }}/{{ runit_log_script }}"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Install
|
||||
ansible.builtin.package:
|
||||
@@ -59,13 +70,14 @@
|
||||
- "{{ zerocode }}"
|
||||
state: present
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Script [runit]
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | runit | Script
|
||||
ansible.builtin.shell: "{{ item }}"
|
||||
loop:
|
||||
- "mkdir -p {{ ollama_runit_dir }}"
|
||||
- "echo '#!/bin/sh -e' > {{ ollama_runit_start }}"
|
||||
- "echo '# Allow pulling LLMs for use with ZeroClaw.'>> {{ ollama_runit_start }}"
|
||||
- "echo '# Allow pulling LLMs for use with ZeroClaw.' >> {{ ollama_runit_start }}"
|
||||
- "echo 'exec 2>&1' >> {{ ollama_runit_start }}"
|
||||
- "echo 'export HOME={{ user_user.home}}' >> {{ ollama_runit_start }}"
|
||||
- "echo 'export OLLAMA_MAX_LOADED_MODELS=1' >> {{ ollama_runit_start }}"
|
||||
- "echo 'exec chpst -u {{ user }} ollama serve' >> {{ ollama_runit_start }}"
|
||||
- "chmod +x {{ ollama_runit_start }}"
|
||||
@@ -73,13 +85,44 @@
|
||||
changed_when: shell_check.rc == 0
|
||||
when: ansible_service_mgr == "runit"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | runit | Log | Script
|
||||
ansible.builtin.shell: "{{ item }}"
|
||||
loop:
|
||||
- "mkdir -p {{ ollama_runit_log_dir }}"
|
||||
- "echo '#!/bin/sh -e' > {{ ollama_runit_log_start }}"
|
||||
- "echo 'exec svlogd -tt {{ ollama_runit_log_dest }}' >> {{ ollama_runit_log_start }}"
|
||||
- "chmod +x {{ ollama_runit_log_start }}"
|
||||
register: shell_check
|
||||
changed_when: shell_check.rc == 0
|
||||
when: ansible_service_mgr == "runit"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | runit | Log | Config
|
||||
ansible.builtin.shell: "{{ item }}"
|
||||
loop:
|
||||
- "mkdir -p {{ ollama_runit_log_dest }}"
|
||||
- "echo 's10000000 # rotate at 10 MB' > {{ ollama_runit_log_config }}"
|
||||
- "echo 'n5 # keep 5 old files' >> {{ ollama_runit_log_config }}"
|
||||
register: shell_check
|
||||
changed_when: shell_check.rc == 0
|
||||
when: ansible_service_mgr == "runit"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Enable
|
||||
ansible.builtin.service:
|
||||
name: "{{ ollama }}"
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Models | Install
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Wait
|
||||
ansible.builtin.uri:
|
||||
url: http://127.0.0.1:11434/api/version
|
||||
status_code: 200
|
||||
timeout: 5
|
||||
register: health
|
||||
until: health.status == 200
|
||||
retries: 12
|
||||
delay: 5
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Models | Install
|
||||
ansible.builtin.shell: |
|
||||
set -o pipefail
|
||||
item='{{ item }}'
|
||||
@@ -87,7 +130,7 @@
|
||||
echo "OKAY" &&
|
||||
return
|
||||
else
|
||||
ollama pull $item &&
|
||||
ollama pull $item 1>/dev/null &&
|
||||
echo "INSTALLED" &&
|
||||
return
|
||||
fi
|
||||
@@ -99,7 +142,7 @@
|
||||
become: true
|
||||
become_user: "{{ user }}"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Models | Remove
|
||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Models | Remove
|
||||
ansible.builtin.shell: |
|
||||
set -o pipefail
|
||||
item='{{ item }}'
|
||||
@@ -119,13 +162,14 @@
|
||||
become: true
|
||||
become_user: "{{ user }}"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Config
|
||||
ansible.builtin.debug:
|
||||
msg: TBD
|
||||
### ~/.zeroclaw/config.toml`
|
||||
### `default_provider = "ollama"` pointing at `http://127.0.0.1:11434`
|
||||
- name: Workstation | Linux | Software | ZeroClaw | zeroclaw | Config
|
||||
ansible.builtin.copy:
|
||||
src: files/settings/zeroclaw.config.toml
|
||||
dest: "{{ user_user.home }}/.zeroclaw/config.toml"
|
||||
owner: "{{ user }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: Workstation | Linux | Software | ZeroClaw | Test
|
||||
- name: Workstation | Linux | Software | ZeroClaw | zeroclaw | Test
|
||||
ansible.builtin.debug:
|
||||
msg: TBD
|
||||
### zeroclaw agent -m "Hello!" # quick test
|
||||
|
||||
Reference in new issue
Block a user