feat(opencode): подключён плагин opencode-permission-reviewer для V2
- Зачем: каждый ask-запрос требовал ручного подтверждения; плагин пропускает безопасные действия через модель-ревьюер, остальное эскалирует. - Что: добавлена запись плагина в plugins (V2-формат) и доверенный конфиг permission-reviewer.jsonc (ревьюер deepseek/deepseek-flash, variant none). - Проверка: сквозной прогон opencode run — printf hello автоодобрен ревьюером (risk low, confidence 0.98), запись в audit jsonl появилась.
This commit is contained in:
1 parent
eaa81f4f8b
commit
2868ba07af
2 files changed
+30
-3
No files matched your search
@@ -1,5 +1,11 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://opencode.ai/config.json",
|
"$schema": "https://opencode.ai/config.json",
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"package": "opencode-permission-reviewer@^2.4.0",
|
||||||
|
"options": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
"default_agent": "safe-plan",
|
"default_agent": "safe-plan",
|
||||||
"permission": {
|
"permission": {
|
||||||
"write": "ask",
|
"write": "ask",
|
||||||
@@ -24,7 +30,11 @@
|
|||||||
},
|
},
|
||||||
"searxng": {
|
"searxng": {
|
||||||
"type": "local",
|
"type": "local",
|
||||||
"command": ["npx", "-y", "mcp-searxng"],
|
"command": [
|
||||||
|
"npx",
|
||||||
|
"-y",
|
||||||
|
"mcp-searxng"
|
||||||
|
],
|
||||||
"environment": {
|
"environment": {
|
||||||
"SEARXNG_URL": "http://localhost:26745"
|
"SEARXNG_URL": "http://localhost:26745"
|
||||||
},
|
},
|
||||||
@@ -32,12 +42,19 @@
|
|||||||
},
|
},
|
||||||
"playwright": {
|
"playwright": {
|
||||||
"type": "local",
|
"type": "local",
|
||||||
"command": ["npx", "-y", "@playwright/mcp@latest"],
|
"command": [
|
||||||
|
"npx",
|
||||||
|
"-y",
|
||||||
|
"@playwright/mcp@latest"
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
},
|
},
|
||||||
"duckduckgo": {
|
"duckduckgo": {
|
||||||
"type": "local",
|
"type": "local",
|
||||||
"command": ["uvx", "duckduckgo-mcp-server"],
|
"command": [
|
||||||
|
"uvx",
|
||||||
|
"duckduckgo-mcp-server"
|
||||||
|
],
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
// Модель-ревьюер разрешений. Провайдеры: deepseek, opencode-go.
|
||||||
|
// Если модель не поддерживает structured output (например opencode-go/deepseek-v4-flash),
|
||||||
|
// переключить outputFormat на "text".
|
||||||
|
"model": "deepseek/deepseek-flash",
|
||||||
|
"outputFormat": "json_schema",
|
||||||
|
"variant": "none",
|
||||||
|
// Ниже порога уверенности решение уходит человеку
|
||||||
|
"confidenceThreshold": 0.7
|
||||||
|
}
|
||||||
Reference in new issue
Block a user