autoreg-skills-max: initial public release (restored, redacted, hardened)

This commit is contained in:
baradok60915d52e8425
2026-10-20 02:16:32 +03:00
commit f58eafeb48
565 changed files with 60064 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
# Hermes Config — Правильный формат моделей
## КРИТИЧЕСКИ: DICT, не LIST
Hermes читает модели в `custom_providers` только в DICT-формате. List-формат (с `- name:`) молча игнорируется — провайдер показывает 0 моделей.
## ✅ Правильный формат (DICT)
```yaml
custom_providers:
- name: lobehub-proxy
api_key: local
provider: openai
base_url: http://localhost:20140/v1
discover_models: false
models:
claude-opus-4.8:
cost:
input: 0
output: 0
ctx: 200000
deepseek-v4-pro:
cost:
input: 0
output: 0
ctx: 131072
```
## ❌ Неправильный формат (LIST — 0 моделей в Hermes)
```yaml
models:
- name: claude-opus-4.8
context: 200000
- name: deepseek-v4-pro
context: 131072
```
## Проверка
```python
import yaml
with open(r'C:\Users\User\AppData\Local\hermes\config.yaml') as f:
c = yaml.safe_load(f)
for p in c.get('custom_providers', []):
models = p.get('models', {})
t = type(models).__name__
n = len(models)
print(f"{p.get('name')}: {t} with {n} models")
# Должно быть: dict with N models
# Если list — Hermes покажет 0
```
## Конвертация list → dict (ruamel.yaml)
```python
from ruamel.yaml import YAML
yaml = YAML()
yaml.preserve_quotes = True
with open('config.yaml') as f:
c = yaml.load(f)
for p in c['custom_providers']:
if isinstance(p.get('models'), list):
old = p['models']
new = {}
for m in old:
name = m['name']
ctx = m.get('context', 131072)
new[name] = {'cost': {'input': 0, 'output': 0}, 'ctx': ctx}
p['models'] = new
with open('config.yaml', 'w') as f:
yaml.dump(c, f)
```