skill+config: agnes 2.0→2.5 清理 + 2B 44K×2 双槽同步

- config.yaml: llama-local context_length 90112→45056 (44K槽); 9处 agnes-2.0-flash→2.5
- 11 skill bump version: 现行引用(配置/路由/代码默认值)改 2.5; 历史审计记录保留
- SOUL: 路由表修正 (npc=网上免费deepseek·sensenova, dsh=本地llama-local)
- session-to-zhiyi.py: MAX_INPUT_CHARS 70000→32000 (44K槽适配)
- 注: skills/kanban-router|kanban-routing 被 .gitignore 'kanban*' 误伤未纳入追踪(既有问题)
This commit is contained in:
小唯 A06 2026-09-10 18:14:39 +08:00
parent 35ab722a7a
commit 4e03c1b106
17 changed files with 70 additions and 58 deletions

16
SOUL.md
View File

@ -108,6 +108,13 @@ skill 是我的法术
3. **搜不到** → 根据经验自建 skillskill_manage create含验收与 commit不许回到裸终端裸干模式 3. **搜不到** → 根据经验自建 skillskill_manage create含验收与 commit不许回到裸终端裸干模式
4. 与自动路由/看板并行不悖:路由定执行者,技能定怎么干 4. 与自动路由/看板并行不悖:路由定执行者,技能定怎么干
### 8. 本地 2B 自动下沉准则2026-09-10 牧尘定案)
**高频、结构化、可验证的活 → 默认下沉本地 2B云模型只留低频、高质敏、创意的活。**
- ✅ 代码/脚本/bug → opencode+2B`--auto --dir`);调研/分析/报告 → ao 角色串行(`ao-yaml-2b-runner.py`);复杂任务 → serial-4agent 流水线;蒸馏/喂织忆 → 本地 2Bkanban 代码 → 自动巡检。
- ❌ 2B 不做:闲聊/冷门知识、高难度翻译、大型工程重构、无人值守长链、面向客户质敏产出、SOUL/重要文档定稿。
- 铁律2B 禁止要求 JSON 输出(只写自评壳丢正文)→ 一律纯文本正文opencode 必须 `--auto --dir`验收硬检查代码化2B 会假 pass返修上限 2 次。
- 细节/触发词/费用账 → 加载 **`local-2b-task-triage`** skill。判断顺序先想能不能下沉 2B再想用哪个执行器最后才考虑云。
--- ---
## 🎯 任务执行铁律 ## 🎯 任务执行铁律
@ -116,10 +123,10 @@ skill 是我的法术
| 关键词 | 路由 | | 关键词 | 路由 |
|--------|------| |--------|------|
| 调研/分析/竞品/报告/选型/方案/设计 | research (agnes-2.0-flash) | | 调研/分析/竞品/报告/选型/方案/设计 | research (agnes-2.5-flash) |
| 代码/实现/写/改/bug/插件/部署/飞书 | default (MiniMax-M3) | | 代码/实现/写/改/bug/插件/部署/飞书 | default (deepseek-v4-flash) |
| npc/云端编码/CodeBuddy/cnb/替我上班 | npc (云端) | | npc/网上免费智能/替我上班 | npc (网上免费 deepseek · sensenova) |
| dsh/模型测试/本地模型/llama | dsh额度尽时 fallback default | | dsh/本地模型/模型测试/llama | dsh (本地 llama-local/minicpm5-2b) |
| 并行/并发/swarm/分身 | Swarm 模式 | | 并行/并发/swarm/分身 | Swarm 模式 |
**禁止**:默认自己干 / 默认 default profile / 问牧尘"用什么模式"。 **禁止**:默认自己干 / 默认 default profile / 问牧尘"用什么模式"。
@ -324,6 +331,7 @@ python3 ~/.hermes/scripts/kanban-route.py "目标" --swarm # 并行
--- ---
*v4.32026-09-06。核心原则新增第 7 条「组合技能铁律」(强制):任何任务必先查技能库并组合执行;技能库没有→优先搜索下载安装;搜不到→凭经验自建。牧尘直接指令,已同步 MEMORY + 织忆 distilled。* *v4.32026-09-06。核心原则新增第 7 条「组合技能铁律」(强制):任何任务必先查技能库并组合执行;技能库没有→优先搜索下载安装;搜不到→凭经验自建。牧尘直接指令,已同步 MEMORY + 织忆 distilled。*
*v4.42026-09-10。核心原则新增第 8 条「本地 2B 自动下沉准则」:高频/结构化/可验证的活默认下沉本地 2B云只留质敏/创意。配套新 skill `local-2b-task-triage`(决策表+铁律+费用账)。牧尘 09-10 直接指令。*
*v4.22026-09-03 深夜。记忆规范加写入分级铁律([已验证]/[推断]/[偏好];推断禁写 MEMORY/USER、禁覆盖已验证旧记录冲突不静默。配套织忆插件 commit 读 conflicts 返回 warning。* *v4.22026-09-03 深夜。记忆规范加写入分级铁律([已验证]/[推断]/[偏好];推断禁写 MEMORY/USER、禁覆盖已验证旧记录冲突不静默。配套织忆插件 commit 读 conflicts 返回 warning。*
*v4.12026-09-03。记忆规范加路由总纲指针 + §5 扩为记忆调用主动触发铁律memory_search/graph/write 硬触发词)。* *v4.12026-09-03。记忆规范加路由总纲指针 + §5 扩为记忆调用主动触发铁律memory_search/graph/write 硬触发词)。*
*v4.02026-09-03。SOUL.md 从 36966 字节 → ~19000 字节context 限制内)。自治能力章节抽出到 `~/.hermes/docs/SOUL-autonomy.md`,遵循索引/详情分离原则。* *v4.02026-09-03。SOUL.md 从 36966 字节 → ~19000 字节context 限制内)。自治能力章节抽出到 `~/.hermes/docs/SOUL-autonomy.md`,遵循索引/详情分离原则。*

View File

@ -12,10 +12,9 @@ providers:
agnes: agnes:
base_url: https://apihub.agnes-ai.com/v1 base_url: https://apihub.agnes-ai.com/v1
cost_factor: 0.0 cost_factor: 0.0
default_model: agnes-2.0-flash default_model: agnes-2.5-flash
key_env: AGNES_API_KEY key_env: AGNES_API_KEY
models: models:
- agnes-2.0-flash
- agnes-2.5-flash - agnes-2.5-flash
rate_limit: 1000 rate_limit: 1000
timeout: 60 timeout: 60
@ -43,7 +42,7 @@ providers:
api_key: 0ExNiLblJvIWBDpkS50fwOBw4MmqLyKdHJK5iQtlw9dOMWBP api_key: 0ExNiLblJvIWBDpkS50fwOBw4MmqLyKdHJK5iQtlw9dOMWBP
base_url: http://127.0.0.1:3000/v1 base_url: http://127.0.0.1:3000/v1
cost_factor: 0.0 cost_factor: 0.0
default_model: agnes-2.5-flash default_model: nvidia/nemotron-3-super-120b-a12b
models: models:
- nvidia/nemotron-mini-4b-instruct - nvidia/nemotron-mini-4b-instruct
- openai/gpt-oss-120b - openai/gpt-oss-120b
@ -104,7 +103,7 @@ providers:
- minicpm5-2b - minicpm5-2b
rate_limit: 100 rate_limit: 100
timeout: 300 timeout: 300
context_length: 90112 context_length: 45056 # 2026-09-10 双槽 44K×2
gmi-cloud: gmi-cloud:
api_key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFlZGEwZTJmLTI1N2ItNGEwYi04NzBhLWUwZjI3MzQ0NWM2YSIsInNjb3BlIjoiaWVfbW9kZWwiLCJwcm9kdWN0IjoiSUUiLCJvd25lcklkIjoiOTYxZGY1MWUtMjAyMi00ZDZjLWI2YTgtNWMxN2M5NzA1NjEyIn0.7v6kPl4VcNHtOcU3hN2FAMGVEuDxvym1h9FwXZBaD7M api_key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFlZGEwZTJmLTI1N2ItNGEwYi04NzBhLWUwZjI3MzQ0NWM2YSIsInNjb3BlIjoiaWVfbW9kZWwiLCJwcm9kdWN0IjoiSUUiLCJvd25lcklkIjoiOTYxZGY1MWUtMjAyMi00ZDZjLWI2YTgtNWMxN2M5NzA1NjEyIn0.7v6kPl4VcNHtOcU3hN2FAMGVEuDxvym1h9FwXZBaD7M
base_url: https://api.gmi-serving.com/v1 base_url: https://api.gmi-serving.com/v1
@ -118,7 +117,7 @@ providers:
Gecko) Chrome/120.0 Safari/537.36 Gecko) Chrome/120.0 Safari/537.36
fallback_providers: fallback_providers:
- provider: agnes - provider: agnes
model: agnes-2.0-flash model: agnes-2.5-flash
- provider: zhipu - provider: zhipu
model: glm-4-flash model: glm-4-flash
- provider: sensenova - provider: sensenova
@ -259,7 +258,7 @@ auxiliary:
timeout: 90 timeout: 90
compression: compression:
provider: agnes provider: agnes
model: agnes-2.0-flash model: agnes-2.5-flash
context_length: 512000 context_length: 512000
fallback_chain: fallback_chain:
- provider: zhipu - provider: zhipu
@ -284,7 +283,7 @@ auxiliary:
timeout: 30 timeout: 30
mcp: mcp:
provider: agnes provider: agnes
model: agnes-2.0-flash model: agnes-2.5-flash
base_url: '' base_url: ''
api_key: '' api_key: ''
timeout: 30 timeout: 30
@ -302,7 +301,7 @@ auxiliary:
timeout: 120 timeout: 120
kanban_decomposer: kanban_decomposer:
provider: agnes provider: agnes
model: agnes-2.0-flash model: agnes-2.5-flash
base_url: '' base_url: ''
api_key: '' api_key: ''
timeout: 180 timeout: 180
@ -443,7 +442,7 @@ memory:
user_char_limit: 1375 user_char_limit: 1375
provider: zhiyi provider: zhiyi
delegation: delegation:
model: agnes-2.0-flash model: agnes-2.5-flash
provider: agnes provider: agnes
base_url: '' base_url: ''
api_key: '' api_key: ''
@ -473,7 +472,7 @@ moa:
reference_models: reference_models:
- model: deepseek-v4-flash - model: deepseek-v4-flash
provider: deepseek provider: deepseek
- model: agnes-2.0-flash - model: agnes-2.5-flash
provider: agnes provider: agnes
- model: glm-4-flash - model: glm-4-flash
provider: zhipu provider: zhipu
@ -593,7 +592,7 @@ cron:
provider: '' provider: ''
wrap_response: true wrap_response: true
default_deliver: origin,feishu:oc_81f6df701c872a1122f32080e366543f default_deliver: origin,feishu:oc_81f6df701c872a1122f32080e366543f
fallback_model: agnes-2.0-flash fallback_model: agnes-2.5-flash
fallback_provider: agnes fallback_provider: agnes
gateway_required: true gateway_required: true
kanban: kanban:

View File

@ -1,9 +1,10 @@
--- ---
name: chinese-platform-extraction name: chinese-platform-extraction
version: "1.0.0" version: "1.0.1"
date: 2026-09-10
description: "Use when extracting content from WeChat or Zhihu." description: "Use when extracting content from WeChat or Zhihu."
metadata: metadata:
version: "1.0.0" version: "1.0.1"
author: "小唯" author: "小唯"
category: "productivity" category: "productivity"
tags: ["web-scraping", "chinese-platforms", "wechat", "zhihiu", "content-extraction"] tags: ["web-scraping", "chinese-platforms", "wechat", "zhihiu", "content-extraction"]

View File

@ -28,7 +28,7 @@ Cron 系统将整个 `script` 字段视为文件路径,不解析空格分隔
cron: cron:
model: glm-4-flash model: glm-4-flash
model_provider: zhipu model_provider: zhipu
fallback_model: agnes-2.0-flash fallback_model: agnes-2.5-flash
fallback_provider: agnes fallback_provider: agnes
``` ```

View File

@ -1,7 +1,8 @@
--- ---
name: agnes-ai name: agnes-ai
description: "Agnes AI 全模态 API — 文本/图像/视频生成。Base URL: https://apihub.agnes-ai.com/v1OpenAI 兼容格式" description: "Agnes AI 全模态 API — 文本/图像/视频生成。Base URL: https://apihub.agnes-ai.com/v1OpenAI 兼容格式"
version: 1.4.0 version: 1.4.1
date: 2026-09-10
author: 小唯 author: 小唯
tags: [ai, image-generation, video-generation, text-generation, 免费] tags: [ai, image-generation, video-generation, text-generation, 免费]
homepage: https://platform.agnes-ai.com homepage: https://platform.agnes-ai.com
@ -27,7 +28,7 @@ homepage: https://platform.agnes-ai.com
| 模型 | 用途 | 备注 | | 模型 | 用途 | 备注 |
|------|------|------| |------|------|------|
| `agnes-1.5-flash` | 文本生成 | 旧版 | | `agnes-1.5-flash` | 文本生成 | 旧版 |
| `agnes-2.0-flash` | 文本生成 | ✅ 推荐 | | `agnes-2.5-flash` | 文本生成 | ✅ 推荐 |
| `agnes-2.5-flash` | 文本生成 | 新版,✅ 可用 | | `agnes-2.5-flash` | 文本生成 | 新版,✅ 可用 |
| `agnes-2.5-pro-alpha` | 文本生成 | ⚠️ 思考模型content: null不适合做主模型**Terminal-Bench v2.1 67%**2026-08-15 文章:能定位 Django 50万行代码里 asgi.py 异步 bug适合复杂工程分析 | | `agnes-2.5-pro-alpha` | 文本生成 | ⚠️ 思考模型content: null不适合做主模型**Terminal-Bench v2.1 67%**2026-08-15 文章:能定位 Django 50万行代码里 asgi.py 异步 bug适合复杂工程分析 |
| `agnes-image-2.0-flash` | 图像生成 | | | `agnes-image-2.0-flash` | 图像生成 | |
@ -45,7 +46,7 @@ KEY=$(grep AGNES_API_KEY ~/.hermes/.env | grep -v "^#" | head -1 | cut -d= -f2-)
curl -s -X POST "https://apihub.agnes-ai.com/v1/chat/completions" \ curl -s -X POST "https://apihub.agnes-ai.com/v1/chat/completions" \
-H "Authorization: Bearer *** \ -H "Authorization: Bearer *** \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"model":"agnes-2.0-flash","messages":[{"role":"user","content":"say hi in 3 words"}],"max_tokens":20}' -d '{"model":"agnes-2.5-flash","messages":[{"role":"user","content":"say hi in 3 words"}],"max_tokens":20}'
``` ```
### ✅ bash 脚本(视频生成推荐) ### ✅ bash 脚本(视频生成推荐)
@ -93,7 +94,7 @@ KEY=$(grep AGNES_API_KEY ~/.hermes/.env | grep -v "^#" | head -1 | cut -d= -f2-)
curl -s -X POST "https://apihub.agnes-ai.com/v1/chat/completions" \ curl -s -X POST "https://apihub.agnes-ai.com/v1/chat/completions" \
-H "Authorization: Bearer *** \ -H "Authorization: Bearer *** \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"model":"agnes-2.0-flash","messages":[{"role":"user","content":"say hello"}],"max_tokens":20}' -d '{"model":"agnes-2.5-flash","messages":[{"role":"user","content":"say hello"}],"max_tokens":20}'
``` ```
⚠️ **中文输入有 bug**`model=None`),用英文提问。 ⚠️ **中文输入有 bug**`model=None`),用英文提问。
@ -184,6 +185,6 @@ GCS_URL = https://storage.googleapis.com/agnes-aigc/aigc/videos/YYYY/MM/DD/{vide
```bash ```bash
model.provider=custom model.provider=custom
model.base_url=https://apihub.agnes-ai.com/v1 model.base_url=https://apihub.agnes-ai.com/v1
model.default=agnes-2.0-flash model.default=agnes-2.5-flash
model.api_key=sk-7k9...2ikW model.api_key=sk-7k9...2ikW
``` ```

View File

@ -40,7 +40,7 @@ def generate_video(prompt, duration=5, poll_interval=5, max_wait=300):
time.sleep(poll_interval) time.sleep(poll_interval)
return "" return ""
def generate_text(prompt, model="agnes-2.0-flash", max_tokens=200): def generate_text(prompt, model="agnes-2.5-flash", max_tokens=200):
r = post("/chat/completions", {"model": model, "messages": [{"role": "user", "content": prompt}], "max_tokens": max_tokens}) r = post("/chat/completions", {"model": model, "messages": [{"role": "user", "content": prompt}], "max_tokens": max_tokens})
return r.json().get("choices", [{}])[0].get("message", {}).get("content", "") return r.json().get("choices", [{}])[0].get("message", {}).get("content", "")

View File

@ -43,7 +43,7 @@ def generate_image(prompt, size='1024x1024', model='agnes-image-2.0-flash'):
}) })
return d.get('data', [{}])[0].get('url', '') return d.get('data', [{}])[0].get('url', '')
def generate_text(prompt, model='agnes-2.0-flash', max_tokens=200): def generate_text(prompt, model='agnes-2.5-flash', max_tokens=200):
d = curl_post('/chat/completions', { d = curl_post('/chat/completions', {
'model': model, 'model': model,
'messages': [{'role': 'user', 'content': prompt}], 'messages': [{'role': 'user', 'content': prompt}],

View File

@ -1,9 +1,10 @@
--- ---
name: cron-ops name: cron-ops
version: "1.0.0" version: "1.0.1"
date: 2026-09-10
description: "Use when managing cron jobs or configuring fallback chains." description: "Use when managing cron jobs or configuring fallback chains."
metadata: metadata:
version: "1.0.0" version: "1.0.1"
author: "小唯" author: "小唯"
category: "devops" category: "devops"
tags: ["cron", "fallback", "retry", "scheduled-tasks", "运维"] tags: ["cron", "fallback", "retry", "scheduled-tasks", "运维"]
@ -21,7 +22,7 @@ Hermes 定时任务的配置、fallback、重试和故障排查。
cron: cron:
model: glm-4-flash # 主模型 model: glm-4-flash # 主模型
model_provider: zhipu # 主 provider model_provider: zhipu # 主 provider
fallback_model: agnes-2.0-flash # fallback 模型 fallback_model: agnes-2.5-flash # fallback 模型
fallback_provider: agnes # fallback provider fallback_provider: agnes # fallback provider
provider: auto # auto = 按 model_provider 走 provider: auto # auto = 按 model_provider 走
gateway_required: true # gateway 在才 fire gateway_required: true # gateway 在才 fire

View File

@ -2,8 +2,8 @@
tags: [devops] tags: [devops]
name: hermes-debug name: hermes-debug
description: Hermes 故障排查工具 — 常见问题诊断命令、模型配置、Gateway 状态检查、多Profile排查、NewAPI DEGRADED错误。牧尘专用。 description: Hermes 故障排查工具 — 常见问题诊断命令、模型配置、Gateway 状态检查、多Profile排查、NewAPI DEGRADED错误。牧尘专用。
version: 1.14.0 version: 1.14.1
date: 2026-08-01 date: 2026-09-10agnes 2.0→2.5 字样清理)
--- ---
# Hermes 故障排查工具 # Hermes 故障排查工具
@ -215,7 +215,7 @@ fallback_providers: '["mimo", "deepseek", "opencode-free"]'
# ✅ 正确YAML 列表,每项是 {provider, model} 字典base_url/key 从 providers 段解析) # ✅ 正确YAML 列表,每项是 {provider, model} 字典base_url/key 从 providers 段解析)
fallback_providers: fallback_providers:
- provider: agnes - provider: agnes
model: agnes-2.0-flash model: agnes-2.5-flash
- provider: zhipu - provider: zhipu
model: glm-4-flash model: glm-4-flash
- provider: sensenova - provider: sensenova

View File

@ -1,6 +1,7 @@
--- ---
name: llm-gateway-ops name: llm-gateway-ops
version: "1.0.0" version: "1.0.1"
date: 2026-09-10
description: LLM 网关运维 — OmniRoute/NewAPI 类 AI 网关的评估、部署、API 调用、观测体系、cron 切换。含网关选型方法论、npm 安装坑、urllib 不兼容、SSE 读取模式、systemd 常驻、看门狗接入。 description: LLM 网关运维 — OmniRoute/NewAPI 类 AI 网关的评估、部署、API 调用、观测体系、cron 切换。含网关选型方法论、npm 安装坑、urllib 不兼容、SSE 读取模式、systemd 常驻、看门狗接入。
--- ---
@ -275,9 +276,9 @@ agnes_block = """ agnes:
key_env: AGNES_API_KEY key_env: AGNES_API_KEY
base_url: https://apihub.agnes-ai.com/v1 base_url: https://apihub.agnes-ai.com/v1
cost_factor: 0.0 cost_factor: 0.0
default_model: agnes-2.0-flash default_model: agnes-2.5-flash
models: models:
- agnes-2.0-flash - agnes-2.5-flash
- agnes-2.5-flash - agnes-2.5-flash
rate_limit: 1000 rate_limit: 1000
timeout: 60 timeout: 60
@ -299,7 +300,7 @@ d = json.load(open('~/.hermes/cron/jobs.json')) # 先 cp 备份
jobs = d if isinstance(d, list) else d.get('jobs', []) jobs = d if isinstance(d, list) else d.get('jobs', [])
for j in jobs: for j in jobs:
if 'newapi' in (j.get('provider') or '') or 'gpt-oss' in (j.get('model') or ''): if 'newapi' in (j.get('provider') or '') or 'gpt-oss' in (j.get('model') or ''):
j['provider'] = 'agnes'; j['model'] = 'agnes-2.0-flash' j['provider'] = 'agnes'; j['model'] = 'agnes-2.5-flash'
json.dump(d, open('~/.hermes/cron/jobs.json','w'), ensure_ascii=False, indent=2) json.dump(d, open('~/.hermes/cron/jobs.json','w'), ensure_ascii=False, indent=2)
``` ```
改完 `cronjob list` 确认生效model/provider 字段变化),再 `cronjob run <id>` 实测一个任务(投研简报实测通过)。 改完 `cronjob list` 确认生效model/provider 字段变化),再 `cronjob run <id>` 实测一个任务(投研简报实测通过)。
@ -308,7 +309,7 @@ json.dump(d, open('~/.hermes/cron/jobs.json','w'), ensure_ascii=False, indent=2)
```ini ```ini
Environment=LLM_ENDPOINT=https://apihub.agnes-ai.com/v1/chat/completions Environment=LLM_ENDPOINT=https://apihub.agnes-ai.com/v1/chat/completions
Environment=LLM_MODEL=agnes-2.0-flash Environment=LLM_MODEL=agnes-2.5-flash
Environment=LLM_API_KEY=<AGNES 完整 key> Environment=LLM_API_KEY=<AGNES 完整 key>
``` ```
⚠️ 只改 MODEL 会 401endpoint 还指着 NewAPI。改后 `systemctl --user daemon-reload && systemctl --user restart zhiyid`,验证 `/api/v1/health` + `cat /proc/$(pgrep -f zhiyid-new)/environ | tr '\0' '\n' | grep LLM_` ⚠️ 只改 MODEL 会 401endpoint 还指着 NewAPI。改后 `systemctl --user daemon-reload && systemctl --user restart zhiyid`,验证 `/api/v1/health` + `cat /proc/$(pgrep -f zhiyid-new)/environ | tr '\0' '\n' | grep LLM_`
@ -334,7 +335,7 @@ Environment=LLM_API_KEY=<AGNES 完整 key>
| 条件 | 示例 | 做法 | | 条件 | 示例 | 做法 |
|------|------|------| |------|------|------|
| provider 有免费额度且 API 稳定 | Agnesagnes-2.0-flash | 直接用 `AGNES_API_KEY``apihub.agnes-ai.com` | | provider 有免费额度且 API 稳定 | Agnesagnes-2.5-flash | 直接用 `AGNES_API_KEY``apihub.agnes-ai.com` |
| provider 的 API 格式与 OpenAI 不完全兼容 | 某些国内模型 | 直调避免兼容层损失 | | provider 的 API 格式与 OpenAI 不完全兼容 | 某些国内模型 | 直调避免兼容层损失 |
| 网关路由可能选错模型/超时 | 自动路由 cron 504 问题 | 钉死到 provider 原生端点 | | 网关路由可能选错模型/超时 | 自动路由 cron 504 问题 | 钉死到 provider 原生端点 |
| 需要推理模型的 reasoning_content 字段 | gpt-oss 系列 | 网关可能吞掉该字段 | | 需要推理模型的 reasoning_content 字段 | gpt-oss 系列 | 网关可能吞掉该字段 |

View File

@ -1,7 +1,8 @@
--- ---
name: provider-tiering name: provider-tiering
description: Provider 分层策略 — 免费模型做常规工作,付费模型用于战略决策。含 NewAPI 免费 NVIDIA 模型库、模型健康巡检系统、cron job 模型 override、delegate_task 模型路由、MOA 配置规范。牧尘专用。 description: Provider 分层策略 — 免费模型做常规工作,付费模型用于战略决策。含 NewAPI 免费 NVIDIA 模型库、模型健康巡检系统、cron job 模型 override、delegate_task 模型路由、MOA 配置规范。牧尘专用。
version: 3.7.0 version: 3.7.1
date: 2026-09-10agnes 2.0→2.5 字样清理)
tags: [model-cost, provider-strategy, newapi, deepseek, tiering, health-check, auto-heal] tags: [model-cost, provider-strategy, newapi, deepseek, tiering, health-check, auto-heal]
category: devops category: devops
trigger: 任何涉及模型选型、 provider 配置、 cron job 创建、 delegate_task 派发、新工作流搭建的场景 trigger: 任何涉及模型选型、 provider 配置、 cron job 创建、 delegate_task 派发、新工作流搭建的场景
@ -251,7 +252,7 @@ print(f'稳定: {d[\"stable\"]}, 不稳定: {d[\"unstable\"]}, 死: {d[\"dead\"]
**API Key**`AGNES_API_KEY`~/.hermes/.env51 字符完整 keyobsidian key.md 备份) **API Key**`AGNES_API_KEY`~/.hermes/.env51 字符完整 keyobsidian key.md 备份)
**成本因子**`cost_factor: 0.0`(免费) **成本因子**`cost_factor: 0.0`(免费)
**日额限制**:文本 50万 token/天,图像 500张/天,视频 150条/天 **日额限制**:文本 50万 token/天,图像 500张/天,视频 150条/天
**模型**`agnes-2.0-flash`(文本,**推荐主力**,稳定)、`agnes-2.5-flash`(文本,质量略高)、`agnes-image-2.0/2.1-flash`(图像)、`agnes-video-v2.0`(视频) **模型**`agnes-2.5-flash`(文本,**推荐主力**)、`agnes-image-2.0/2.1-flash`(图像)、`agnes-video-v2.0`(视频)
#### 为什么接入2026-08-17 实测,牧尘指示) #### 为什么接入2026-08-17 实测,牧尘指示)
@ -264,9 +265,9 @@ NewAPI 免费模型不稳定:`openai/gpt-oss-120b` 3 次调用 1 次空响应
key_env: AGNES_API_KEY key_env: AGNES_API_KEY
base_url: https://apihub.agnes-ai.com/v1 base_url: https://apihub.agnes-ai.com/v1
cost_factor: 0.0 cost_factor: 0.0
default_model: agnes-2.0-flash default_model: agnes-2.5-flash
models: models:
- agnes-2.0-flash - agnes-2.5-flash
- agnes-2.5-flash - agnes-2.5-flash
rate_limit: 1000 rate_limit: 1000
timeout: 60 timeout: 60
@ -462,7 +463,7 @@ agent-default-model:
"api": "openai-completions", "api": "openai-completions",
"timeoutSeconds": 120, "timeoutSeconds": 120,
"models": [ "models": [
{"id": "agnes-2.0-flash", "name": "Agnes 2.0 Flash", "reasoning": true, {"id": "agnes-2.5-flash", "name": "Agnes 2.5 Flash", "reasoning": true,
"input": ["text"], "contextWindow": 1048576, "maxTokens": 131072, "input": ["text"], "contextWindow": 1048576, "maxTokens": 131072,
"cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}} "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}}
] ]

View File

@ -13,7 +13,7 @@
| # | 分体 | 本质 | 主模型 | 备用模型 | | # | 分体 | 本质 | 主模型 | 备用模型 |
|:-|:-----|:-----|:------|:--------| |:-|:-----|:-----|:------|:--------|
| 1 | **cron 任务** | 定时自动化 | agnes-2.0-flash (11个) / deepseek-v4-flash (2个) | — | | 1 | **cron 任务** | 定时自动化 | agnes-2.5-flash (11个) / deepseek-v4-flash (2个) | — |
| 2 | **delegate_task** | 并行任务分身 | 继承父 session | — | | 2 | **delegate_task** | 并行任务分身 | 继承父 session | — |
| 3 | **OpenClaw** | 独立网关代理 | deepseek-v4-flash (sensenova) | glm-5.2 (sensenova) | | 3 | **OpenClaw** | 独立网关代理 | deepseek-v4-flash (sensenova) | glm-5.2 (sensenova) |
| 4 | **opencode** | 编码代理 | deepseek-v4-flash (sensenova) | glm-5.2 | | 4 | **opencode** | 编码代理 | deepseek-v4-flash (sensenova) | glm-5.2 |
@ -64,7 +64,7 @@
**distill-model-watchdog.py CANDIDATE_POOL** **distill-model-watchdog.py CANDIDATE_POOL**
```python ```python
CANDIDATE_POOL = [ CANDIDATE_POOL = [
"agnes-2.0-flash", # ⭐ Agnes 优先 "agnes-2.5-flash", # ⭐ Agnes 优先
"deepseek-v4-flash", # 商汤免费1M ctx "deepseek-v4-flash", # 商汤免费1M ctx
"glm-5.2", # 商汤免费1M ctx "glm-5.2", # 商汤免费1M ctx
"sensenova-6.8-flash-lite", # 商汤免费,轻量多模态 "sensenova-6.8-flash-lite", # 商汤免费,轻量多模态
@ -76,7 +76,7 @@ CANDIDATE_POOL = [
CONFIG_DECLARED_MODELS = [ CONFIG_DECLARED_MODELS = [
"deepseek-v4-flash", # 商汤免费 1M ctx ⭐ "deepseek-v4-flash", # 商汤免费 1M ctx ⭐
"glm-5.2", # 商汤免费 1M ctx "glm-5.2", # 商汤免费 1M ctx
"agnes-2.0-flash", # Agnes 免费 128K ctx "agnes-2.5-flash", # Agnes 免费 128K ctx
"sensenova-6.8-flash-lite", # 商汤免费 262K ctx "sensenova-6.8-flash-lite", # 商汤免费 262K ctx
] ]
``` ```

View File

@ -4,10 +4,10 @@ description: 免费 AI 图片/视频生成平台汇总 — Pollinations、Huggin
trigger: 生成图片 / 画图 / text2image / AI画图 / 免费出图 / 视频生成 / Agnes trigger: 生成图片 / 画图 / text2image / AI画图 / 免费出图 / 视频生成 / Agnes
trigger_fallback: true trigger_fallback: true
author: 小唯 author: 小唯
version: 2.0.0 version: 2.0.1
tags: [image-generation, video-generation, free-api, pollinations, huggingface, agnes-ai] tags: [image-generation, video-generation, free-api, pollinations, huggingface, agnes-ai]
created: 2026-05-08 created: 2026-05-08
updated: 2026-06-03 updated: 2026-09-10agnes 2.0→2.5 字样清理)
--- ---
# 免费 AI 图片/视频生成平台汇总 # 免费 AI 图片/视频生成平台汇总

View File

@ -16,7 +16,7 @@
| 模型 | 用途 | | 模型 | 用途 |
|------|------| |------|------|
| `agnes-1.5-flash` | 文本生成(旧版) | | `agnes-1.5-flash` | 文本生成(旧版) |
| `agnes-2.0-flash` | 文本生成(新版 | | `agnes-2.5-flash` | 文本生成新版2.0 已升级 |
| `agnes-image-2.0-flash` | 图像生成 | | `agnes-image-2.0-flash` | 图像生成 |
| `agnes-image-2.1-flash` | 图像生成(新版) | | `agnes-image-2.1-flash` | 图像生成(新版) |
| `agnes-video-v2.0` | 视频生成(异步) | | `agnes-video-v2.0` | 视频生成(异步) |
@ -48,7 +48,7 @@ def get(path):
### 文本 ### 文本
```python ```python
r = post("/chat/completions", { r = post("/chat/completions", {
"model": "agnes-2.0-flash", "model": "agnes-2.5-flash",
"messages": [{"role": "user", "content": "say hello in 5 words"}], "messages": [{"role": "user", "content": "say hello in 5 words"}],
"max_tokens": 50 "max_tokens": 50
}) })

View File

@ -17,7 +17,7 @@ import requests
# 1. 文本 # 1. 文本
print("=== 文本测试 ===") print("=== 文本测试 ===")
r = requests.post(f"{BASE}/chat/completions", r = requests.post(f"{BASE}/chat/completions",
json={"model":"agnes-2.0-flash","messages":[{"role":"user","content":"say hello in 3 words"}],"max_tokens":20}, json={"model":"agnes-2.5-flash","messages":[{"role":"user","content":"say hello in 3 words"}],"max_tokens":20},
headers=h, timeout=20) headers=h, timeout=20)
print(" 状态:", r.status_code, r.json().get("choices", [{}])[0].get("message", {}).get("content", r.text[:80])) print(" 状态:", r.status_code, r.json().get("choices", [{}])[0].get("message", {}).get("content", r.text[:80]))

View File

@ -2,9 +2,9 @@
tags: [openclaw, mcp, hermes-integration] tags: [openclaw, mcp, hermes-integration]
name: openclaw name: openclaw
description: "OpenClaw 日常维护与 Hermes MCP 集成 — skill 管理、配置修复、飞书频道、诊断命令、MCP Server 接入" description: "OpenClaw 日常维护与 Hermes MCP 集成 — skill 管理、配置修复、飞书频道、诊断命令、MCP Server 接入"
version: 1.5.0 version: 1.5.1
author: 小唯 author: 小唯
date: 2026-07-12 date: 2026-09-10agnes 2.0→2.5 字样清理)
--- ---
readiness_status: available readiness_status: available
@ -439,13 +439,13 @@ cfg = json.load(open(p))
# 1. 改 defaults # 1. 改 defaults
cfg['agents']['defaults']['model'] = { cfg['agents']['defaults']['model'] = {
'primary': 'mimo/mimo-v2.5-pro', 'primary': 'mimo/mimo-v2.5-pro',
'fallbacks': ['sensenova/deepseek-v4-flash', 'agnes/agnes-2.0-flash'] 'fallbacks': ['sensenova/deepseek-v4-flash', 'agnes/agnes-2.5-flash']
} }
# 2. 改每个 agent # 2. 改每个 agent
for a in cfg['agents']['list']: for a in cfg['agents']['list']:
a['model'] = { a['model'] = {
'primary': 'mimo/mimo-v2.5-pro', 'primary': 'mimo/mimo-v2.5-pro',
'fallbacks': ['sensenova/deepseek-v4-flash', 'agnes/agnes-2.0-flash'] 'fallbacks': ['sensenova/deepseek-v4-flash', 'agnes/agnes-2.5-flash']
} }
json.dump(cfg, open(p, 'w'), indent=2, ensure_ascii=False) json.dump(cfg, open(p, 'w'), indent=2, ensure_ascii=False)
``` ```

View File

@ -2,8 +2,8 @@
tags: [zhiyi] tags: [zhiyi]
name: zhiyi name: zhiyi
description: "织忆 (MemoryWeave) 聚合技能 — API 客户端 + 开发工作流 + 运维规范。含 commit/recall API、数据架构、部署验证、Go 方法论。" description: "织忆 (MemoryWeave) 聚合技能 — API 客户端 + 开发工作流 + 运维规范。含 commit/recall API、数据架构、部署验证、Go 方法论。"
version: 11.44 version: 11.45
updated: 2026-09-09蒸馏输入粒度→88K 窗口利用率追查;正本路径 src/memoryweave24-38K 大请求真凶仍未定位 updated: 2026-09-10agnes 2.0→2.5 字样清理
--- ---
@ -1181,7 +1181,7 @@ python3 -c "from plugins.memory.zhiyi import HermesZhiYiMemoryProvider; \
| 维度 | 事实 | | 维度 | 事实 |
|------|------| |------|------|
| 当前实际蒸馏模型 | `agnes-2.0-flash`(付费,~2.6s/调用reasoning_tokens 占大头) | | 蒸馏模型**2026-09-05 审计时** | `agnes-2.0-flash`(付费,~2.6s/调用)→ **2026-09-10 已切 `local/minicpm5-2b`本地2B免费** |
| 看门狗健康判 | ✅ agnes 探针 OK最近 30min 都 silent | | 看门狗健康判 | ✅ agnes 探针 OK最近 30min 都 silent |
| local/qwen7b 当前状态 | **健康**llama-server pid 5784428080 OK24 t/s1.1s 出 JSON—— watchdog 没用而已 | | local/qwen7b 当前状态 | **健康**llama-server pid 5784428080 OK24 t/s1.1s 出 JSON—— watchdog 没用而已 |
| 成本 | agnes 是付费local 0 成本;当前 agnes 1 调用 ~$0.0003 量级(小但有) | | 成本 | agnes 是付费local 0 成本;当前 agnes 1 调用 ~$0.0003 量级(小但有) |
@ -1204,7 +1204,7 @@ python3 -c "from plugins.memory.zhiyi import HermesZhiYiMemoryProvider; \
3. **手动测试 local → 切回 agnes 的路径**:改 `LLM_MODEL=local/qwen7b` + `LLM_ENDPOINT=http://127.0.0.1:8080/v1/chat/completions` + `LLM_API_KEY=local-key``systemctl --user daemon-reload && restart zhiyid` → journal 验证 `flush START: model=local/qwen7b` + `LLM entities: N` 3. **手动测试 local → 切回 agnes 的路径**:改 `LLM_MODEL=local/qwen7b` + `LLM_ENDPOINT=http://127.0.0.1:8080/v1/chat/completions` + `LLM_API_KEY=local-key``systemctl --user daemon-reload && restart zhiyid` → journal 验证 `flush START: model=local/qwen7b` + `LLM entities: N`
4. **审计蒸馏链路的标准 6 步**(避免再"凭印象答"):① systemd unit Environment 真值 → ② /proc/<pid>/environ 真值(防 unit 没 reload→ ③ cron 看门狗 output 最近非空条目 → ④ cron 巡检 _heal_distill_models 配置 → ⑤ llama-server /health + 当前 CPU/GPU → ⑥ zhiyid sidecar 日志最近一次 `flush START: model=...` → 三方一致才算"健康"。 4. **审计蒸馏链路的标准 6 步**(避免再"凭印象答"):① systemd unit Environment 真值 → ② /proc/<pid>/environ 真值(防 unit 没 reload→ ③ cron 看门狗 output 最近非空条目 → ④ cron 巡检 _heal_distill_models 配置 → ⑤ llama-server /health + 当前 CPU/GPU → ⑥ zhiyid sidecar 日志最近一次 `flush START: model=...` → 三方一致才算"健康"。
**修正点**之前版本v11.37)写的"zhiyid.service 蒸馏已切本地 llama-server`local/qwen7b`(0成本)" **2026-09-05 06:40 后失效**,当前实际是 agnes-2.0-flash。本段是事实真相 **修正点**之前版本v11.37)写的"zhiyid.service 蒸馏已切本地 llama-server`local/qwen7b`(0成本)" **2026-09-05 06:40 后失效**,当时实际是 agnes-2.0-flash。⚠ **2026-09-10 最新状态zhiyid 已切 `local/minicpm5-2b`本地2BLLM_ENDPOINT=127.0.0.1:8080**。本段保留为历史审计记录
--- ---