100 lines
4.4 KiB
XML
100 lines
4.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<odoo>
|
||
<!-- tree 视图 -->
|
||
<record id="view_ai_conversation_tree" model="ir.ui.view">
|
||
<field name="name">ai.conversation.tree</field>
|
||
<field name="model">ai.conversation</field>
|
||
<field name="arch" type="xml">
|
||
<tree string="AI 对话" decoration-muted="message_count == 0">
|
||
<field name="name"/>
|
||
<field name="provider_id"/>
|
||
<field name="message_count"/>
|
||
<field name="create_uid" string="创建人"/>
|
||
<field name="create_date" string="创建时间"/>
|
||
<button name="open_chat" type="object" string="聊天" icon="fa-comments" class="btn-primary"/>
|
||
</tree>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- Form 视图(详细版) -->
|
||
<record id="view_ai_conversation_form" model="ir.ui.view">
|
||
<field name="name">ai.conversation.form</field>
|
||
<field name="model">ai.conversation</field>
|
||
<field name="arch" type="xml">
|
||
<form string="AI 对话">
|
||
<header>
|
||
<button name="open_chat" type="object" string="打开聊天"
|
||
class="btn-primary" icon="fa-comments"/>
|
||
<button name="action_clear" type="object" string="清空消息"
|
||
confirm="确定要清空本对话的所有消息吗?"/>
|
||
</header>
|
||
<sheet>
|
||
<div class="oe_title">
|
||
<h1><field name="name" placeholder="对话标题"/></h1>
|
||
</div>
|
||
<group>
|
||
<group string="助手配置">
|
||
<field name="provider_id" options="{'no_create': True}"/>
|
||
<field name="message_count"/>
|
||
</group>
|
||
<group string="当前服务商参数">
|
||
<field name="provider_model_name"/>
|
||
<field name="provider_timeout"/>
|
||
<field name="provider_enable_tools" widget="boolean_toggle"/>
|
||
<field name="provider_allow_write" widget="boolean_toggle"/>
|
||
</group>
|
||
</group>
|
||
<notebook>
|
||
<page string="消息历史" name="messages">
|
||
<field name="message_ids">
|
||
<tree>
|
||
<field name="create_date" string="时间"/>
|
||
<field name="role"/>
|
||
<field name="content"/>
|
||
<field name="create_uid" string="发送人"/>
|
||
</tree>
|
||
</field>
|
||
</page>
|
||
</notebook>
|
||
</sheet>
|
||
</form>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- 搜索视图 -->
|
||
<record id="view_ai_conversation_search" model="ir.ui.view">
|
||
<field name="name">ai.conversation.search</field>
|
||
<field name="model">ai.conversation</field>
|
||
<field name="arch" type="xml">
|
||
<search string="搜索对话">
|
||
<field name="name"/>
|
||
<filter name="my" string="我的对话"
|
||
domain="[('create_uid','=',uid)]"/>
|
||
</search>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- Client Action: 聊天界面 -->
|
||
<record id="action_ai_chat_client" model="ir.actions.client">
|
||
<field name="name">AI Chat</field>
|
||
<field name="tag">yuthon_ai_agent.chat</field>
|
||
</record>
|
||
|
||
<!-- 标准 Window Action(list/form) -->
|
||
<record id="action_ai_conversation" model="ir.actions.act_window">
|
||
<field name="name">AI 对话</field>
|
||
<field name="res_model">ai.conversation</field>
|
||
<field name="view_mode">tree,form</field>
|
||
<field name="context">{"search_default_my": 1}</field>
|
||
</record>
|
||
|
||
<!-- 旧菜单 xmlid 保留但隐藏(menu_ai_root 已在 ai_provider_views.xml 定义) -->
|
||
<menuitem id="menu_ai_chat" name="对话管理"
|
||
parent="menu_ai_root" action="action_ai_conversation" sequence="99"
|
||
groups="yuthon_ai_agent.group_ai_agent_admin" active="0"/>
|
||
|
||
<menuitem id="menu_ai_config" name="服务商配置"
|
||
parent="menu_ai_root" action="action_ai_provider" sequence="99"
|
||
groups="yuthon_ai_agent.group_ai_agent_admin" active="0"/>
|
||
</odoo>
|