Files
2026-07-02 11:16:55 +08:00

115 lines
5.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- AI Agent 用户组 -->
<record id="group_ai_agent_user" model="res.groups">
<field name="name">AI Agent 用户</field>
<field name="category_id" ref="base.module_category_administration"/>
<field name="comment">使用 AI 对话功能</field>
<field name="users" eval="[(4, ref('base.user_admin'))]"/>
</record>
<!-- AI Agent 管理员组 -->
<record id="group_ai_agent_admin" model="res.groups">
<field name="name">AI Agent 管理员</field>
<field name="category_id" ref="base.module_category_administration"/>
<field name="comment">管理 AI 服务商配置</field>
<field name="implied_ids" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_user'))]"/>
<field name="users" eval="[(4, ref('base.user_admin'))]"/>
</record>
<!-- 记录规则:用户只能看自己的对话 -->
<record id="rule_ai_conversation_personal" model="ir.rule">
<field name="name">AI 对话:仅本人</field>
<field name="model_id" ref="model_ai_conversation"/>
<field name="domain_force">[('create_uid','=',user.id)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<!-- 记录规则:用户只能看自己的 AI 画像 -->
<record id="rule_ai_profile_personal" model="ir.rule">
<field name="name">AI 画像:仅本人</field>
<field name="model_id" ref="model_ai_user_profile"/>
<field name="domain_force">[('user_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<!-- 记录规则:用户只能看自己的 AI 记忆 -->
<record id="rule_ai_memory_personal" model="ir.rule">
<field name="name">AI 记忆:仅本人</field>
<field name="model_id" ref="model_ai_user_memory"/>
<field name="domain_force">[('profile_id.user_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<!-- 记录规则:用户只能看自己的 Token 用量 -->
<record id="rule_ai_token_usage_personal" model="ir.rule">
<field name="name">Token 用量:仅本人</field>
<field name="model_id" ref="model_ai_token_usage"/>
<field name="domain_force">[('user_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<!-- ============================================ -->
<!-- 管理员规则:可查看所有用户的数据 -->
<!-- ============================================ -->
<record id="rule_ai_conversation_admin" model="ir.rule">
<field name="name">AI 对话:管理员可见全部</field>
<field name="model_id" ref="model_ai_conversation"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_admin'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="rule_ai_profile_admin" model="ir.rule">
<field name="name">AI 画像:管理员可见全部</field>
<field name="model_id" ref="model_ai_user_profile"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_admin'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="rule_ai_memory_admin" model="ir.rule">
<field name="name">AI 记忆:管理员可见全部</field>
<field name="model_id" ref="model_ai_user_memory"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_admin'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="rule_ai_token_usage_admin" model="ir.rule">
<field name="name">Token 用量:管理员可见全部</field>
<field name="model_id" ref="model_ai_token_usage"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('yuthon_ai_agent.group_ai_agent_admin'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
</odoo>