1C好友聊天、MCP服务器和OpenAI兼容的API网关,用于与1C通信:合作伙伴
机会
💬 Web聊天界面
- 现代,自适应的聊天界面
- 管理与独立上下文的通话历史记录(历史记录存储在浏览器本地)
- 流媒体实时响应
- 单独显示Tool Call/Tool Result/Follow Up块
- 自定义工作站说明
- 直接从聊天设置连接外部HTTP MCP服务器
- 生成过程中的Reasoning Delta映射
- 代码1C(BSL)和自动定义XML的语法突出显示
- 附加文件(.bsl、.xml、.txt)
- 在浏览器中查看附件文件的内容
- 搜索附件文件的内容
- 美人鱼图表可视化,可保存到PNG中
- 按消息历史记录搜索
- 将会话历史导出到JSON
- 显示令牌统计(入站/出站/总计)
- 将消息复制到剪贴板
- 热键代码格式上下文菜单
🔧 mcp服务器
- 可用工具:
- ask_1c_ai 平台1C和实际情景的一般问题 - explain_1c_syntax 对具体物体、方法或设计的解释1C - check_1c_code -语法检查或代码审查片段1C - modify_1c_code -根据用户的明确任务修改1C代码 - search_1c_documentation -搜索平台1C文档:企业 - search_its -搜索ITS知识库 - fetch_its -获取特定文档或ITC软件部分的内容 id - diff_1c_documentation_versions -两个版本之间平台文档的比较
🚀 OpenAI兼容的API
- OpenAI兼容格式
/v1/models和/v1/chat/completions - 支持服务器发送事件(SSE)的流式和非流式响应
- 使用Bearer令牌的标准身份验证
快速启动
- 获取代币code.1c.ai 从网站 代码1.c.ai
- 从Docker开始:
docker pull roctup/1c-buddy
docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 -e "ONEC_AI_TOKEN=" roctup/1c-buddy 如果还需要OpenAI API网关:
docker pull roctup/1c-buddy
docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 -e "ONEC_AI_TOKEN=" -e "OPENAI_COMPAT_API_KEY=" roctup/1c-buddy - 开始沟通:
- Web聊天界面:http://localhost:6002/chat
默认情况下隐藏高级聊天设置。要启用自定义说明和外部MCP服务器,请运行带有以下标志的容器:
docker run -d --name 1c-buddy --restart unless-stopped -p 6002:6002 \
-e "ONEC_AI_TOKEN=" \
-e "CHAT_CUSTOM_INSTRUCTIONS_ENABLED=true" \
-e "CHAT_CUSTOM_MCP_ENABLED=true" \
roctup/1c-buddy然后,设置按钮将出现在聊天室。它允许您指定工作空间指令并连接外部Streamable HTTP MCP服务器,例如 http://192.168.0.1:6003/mcp.
- 为IDE配置MCP:
{
"mcpServers": {
"onec-buddy-mcp": {
"url": "http://localhost:6002/mcp",
"connection_id": "1c_buddy_service_001",
"alwaysAllow": [],
"type": "streamable-http",
"timeout": 300,
"disabled": false
}
}
}- 通过OpenAI API发送请求:
使用任何OpenAI SDK或客户端库:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:6002/v1",
api_key="your_custom_api_key"
)
# Непотоковый режим
response = client.chat.completions.create(
model="1c-buddy",
messages=[{"role": "user", "content": "Как создать HTTPСоединение в 1С?"}]
)
print(response.choices[0].message.content)
# Потоковый режим
for chunk in client.chat.completions.stream(
model="1c-buddy",
messages=[{"role": "user", "content": "Объясни объект Запрос"}]
):
print(chunk.choices[0].delta.content, end="")文档
详细文档可在 README_FULL.md.
致谢
非常感谢1C MCP服务器原始项目的作者:合作伙伴: 阿泰斯克/1copilot_MCP
