← 返回 Skills 市场
wint71rus

1c Assistant

作者 wint71rus · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ pending
41
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install 1c-assistant
功能描述
Используй когда пользователь пишет /1c или /1c-help (команды справки по 1С), или задаёт вопросы про 1С ERP, 1С Бухгалтерию, ЗУП, BSL программирование, права...
使用说明 (SKILL.md)

Скилл: 1C AI Assistant

Отвечает на вопросы по 1С через локальный RAG (Qdrant + bge-m3 + qwen3:14b).

Триггеры

При /1c или /1c-help или "покажи состояние базы 1С" — НЕМЕДЛЕННО выполнить:

bash /home/alexandr/.openclaw/workspace/1c-assistant/1c-help.sh 1360549978

Это всё. Больше ничего не делать, не генерировать текст. Скрипт сам отправит справку в Telegram.

Активировать при ключевых словах:

  • 1С общее: "1с", "1с erp", "1с бухгалтерия", "конфигуратор", "1с предприятие", "1с zup", "1с зуп"
  • Разработка: "bsl", "встроенный язык", "запрос 1с", "схема данных", "регистр", "управляемые формы", "общий модуль"
  • Администрирование: "права 1с", "роли 1с", "пользователи 1с", "рабочие места", "ограничение доступа"
  • Документы/Справочники: "справочник", "документ 1с", "реквизит", "табличная часть"

Определение коллекции по теме

Тема Коллекция
BSL код, синтаксис, диагностики, оптимизация kb_1c_code
Права, роли, пользователи, администрирование kb_1c_admin
Бухгалтерия, налоги, отчётность, счета kb_1c_buh
ЗУП, кадры, зарплата, отпуска, больничные kb_1c_zup
Печатные формы, шаблоны, макеты kb_1c_forms
Всё остальное (ERP, НСИ, настройка) kb_1c_erp

Алгоритм выполнения

1. Определить коллекцию из таблицы выше

2. Вызвать RAG Query webhook

QUESTION="\x3Cвопрос пользователя>"
COLLECTION="\x3Cколлекция из таблицы>"

curl -s -X POST https://n8nwint.ru/webhook/1c-rag-query \
  -H "Content-Type: application/json" \
  -d "$(jq -n \
    --arg question "$QUESTION" \
    --arg chat_id "1360549978" \
    --arg collection "$COLLECTION" \
    --arg model "qwen3:14b" \
    '{question: $question, chat_id: $chat_id, collection: $collection, model: $model}'
  )"

Ответ придёт в Telegram (30-60 сек). Сообщить пользователю: "Запрос отправлен, ответ придёт в Telegram."

3. Если нужен синхронный ответ (не через Telegram)

# Прямой запрос через Qdrant + Ollama
QUESTION="\x3Cвопрос>"
COLLECTION="\x3Cколлекция>"
QDRANT="http://192.168.0.200:6333"
OLLAMA="http://192.168.0.200:11434"
QDRANT_KEY="zkpDII8FaBpzpRke8uWWcOEJDGXxKNsn"

# 1. Получить embedding вопроса
VECTOR=$(curl -s -X POST "$OLLAMA/api/embeddings" \
  -H "Content-Type: application/json" \
  -d "{\"model\": \"bge-m3\", \"prompt\": \"$QUESTION\"}" | jq '.embedding')

# 2. Поиск в Qdrant
CONTEXT=$(curl -s -X POST "$QDRANT/collections/$COLLECTION/points/search" \
  -H "Content-Type: application/json" \
  -H "api-key: $QDRANT_KEY" \
  -d "{\"vector\": $VECTOR, \"limit\": 5, \"with_payload\": true}" \
  | jq -r '.result[] | .payload.text' | head -c 3000)

# 3. Ответ через Ollama
curl -s -X POST "$OLLAMA/api/generate" \
  -H "Content-Type: application/json" \
  -d "$(jq -n \
    --arg model "qwen3:14b" \
    --arg prompt "Ты старший специалист по 1С с 10+ годами опыта. Отвечай структурированно, на русском языке.\
\
Контекст из базы знаний:\
$CONTEXT\
\
Вопрос: $QUESTION\
\
Ответ:" \
    '{model: $model, prompt: $prompt, stream: false}'
  )" | jq -r '.response'

Загрузка изображений и скриншотов

Когда пользователь просит добавить скриншот, фото, изображение:

# Изображение с сервера
bash /home/alexandr/.openclaw/workspace/1c-assistant/ingest_image.sh \
  "/path/to/screenshot.png" \
  "kb_devops" \
  "Название скриншота"

# Изображение по URL
bash /home/alexandr/.openclaw/workspace/1c-assistant/ingest_image.sh \
  "https://example.com/screenshot.png" \
  "kb_python" \
  "Название"

Что делает скрипт:

  1. OCR через tesseract (rus+eng) — извлекает текст
  2. Копирует в /tmp/mcp-serve/ — картинка становится доступна по URL
  3. Отправляет в wf21 с image_url в payload
  4. При RAG поиске — Telegram получит текстовый ответ + само фото

Коллекции для изображений: те же что для текста (kb_python, kb_devops, kb_1c_code и т.д.)

Загрузка PDF документов

Когда пользователь просит загрузить PDF — спросить:

  1. Путь к файлу на сервере ИЛИ URL к PDF
  2. Коллекцию (из таблицы выше)
  3. Название документа

Использовать универсальный скрипт (автоматически определяет скан и запускает OCR):

# PDF по пути на сервере
bash /tmp/1c-assistant/scripts/ingest_pdf.sh \
  "/home/alexandr/docs/guide.pdf" \
  "kb_1c_buh" \
  "Название документа"

# PDF по URL
bash /tmp/1c-assistant/scripts/ingest_pdf.sh \
  "https://example.com/doc.pdf" \
  "kb_1c_zup" \
  "Название документа"

Скрипт: текстовый PDF → pdftotext; скан → tesseract OCR (rus+eng). Уведомление придёт в Telegram.

Загрузка новых документов (text/url)

# Добавить URL в базу знаний
curl -s -X POST https://n8nwint.ru/webhook/1c-ingest \
  -H "Content-Type: application/json" \
  -d "$(jq -n \
    --arg type "url" \
    --arg collection "\x3Cколлекция>" \
    --arg title "\x3Cназвание>" \
    --arg url "\x3Curl>" \
    --arg chat_id "1360549978" \
    --arg version_1c "8.3" \
    '{type: $type, collection: $collection, title: $title, url: $url, chat_id: $chat_id, version_1c: $version_1c}'
  )"

# Добавить текст напрямую
curl -s -X POST https://n8nwint.ru/webhook/1c-ingest \
  -H "Content-Type: application/json" \
  -d "$(jq -n \
    --arg type "text" \
    --arg collection "\x3Cколлекция>" \
    --arg title "\x3Cназвание>" \
    --arg text "\x3Cтекст документа>" \
    --arg chat_id "1360549978" \
    --arg version_1c "8.3" \
    '{type: $type, collection: $collection, title: $title, text: $text, chat_id: $chat_id, version_1c: $version_1c}'
  )"

Проверка состояния коллекций

QDRANT="http://192.168.0.200:6333"
QDRANT_KEY="zkpDII8FaBpzpRke8uWWcOEJDGXxKNsn"

for coll in kb_1c_erp kb_1c_buh kb_1c_zup kb_1c_code kb_1c_admin kb_1c_forms; do
  count=$(curl -s "$QDRANT/collections/$coll" \
    -H "api-key: $QDRANT_KEY" | jq '.result.points_count')
  echo "$coll: $count points"
done

Эскалация

Ситуация Действие
score \x3C 0.7 (нет контекста) Попробовать kb_1c_erp как fallback
Все коллекции пустые Ответить из знаний модели с пометкой "из общих знаний"
Вопрос про разработку конфигурации Передать Codex скилл
Нужно добавить документацию Использовать ingest webhook выше
能力标签
requires-sensitive-credentials
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install 1c-assistant
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /1c-assistant 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of 1c-assistant skill for answering 1C platform questions with RAG and scripting integration. - Отвечает на вопросы по 1С ERP, Бухгалтерии, ЗУП, BSL программированию, правам, ролям и администрированию. - Интеграция с локальным RAG (Qdrant + bge-m3 + qwen3:14b). - Триггеры для /1c, /1c-help и ключевых слов по 1С. - Автоматическая маршрутизация по тематическим коллекциям знаний. - Поддержка загрузки и поиска по изображениям, PDF и внешним текстовым источникам. - Результаты запросов и загрузки отправляются напрямую в Telegram.
元数据
Slug 1c-assistant
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

1c Assistant 是什么?

Используй когда пользователь пишет /1c или /1c-help (команды справки по 1С), или задаёт вопросы про 1С ERP, 1С Бухгалтерию, ЗУП, BSL программирование, права... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 41 次。

如何安装 1c Assistant?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install 1c-assistant」即可一键安装,无需额外配置。

1c Assistant 是免费的吗?

是的,1c Assistant 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

1c Assistant 支持哪些平台?

1c Assistant 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 1c Assistant?

由 wint71rus(@wint71rus)开发并维护,当前版本 v1.0.0。

💬 留言讨论