Compare commits

..
8 Commits
7 changed files with 190 additions and 18 deletions

No files matched your search

+1 -1
View File
@@ -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"
+4
View File
@@ -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:
+91
View File
@@ -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
+14 -4
View File
@@ -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
+23
View File
@@ -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"
+1 -1
View File
@@ -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
+56 -12
View File
@@ -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