mirror of
https://github.com/ArthurDanjou/artagents.git
synced 2026-01-14 12:14:40 +01:00
feat: add chat and file management APIs, implement chat loading and saving functionality
- Introduced new API endpoints for chat management including posting and retrieving chat messages. - Implemented file upload and deletion functionalities for chat and other files. - Added utility functions for streaming text and loading chat data. - Created TypeScript types for models and agents used in the application. - Configured TypeScript settings for server and project. - Added favicon and workspace configuration for pnpm.
This commit is contained in:
68
app/pages/index.vue
Normal file
68
app/pages/index.vue
Normal file
@@ -0,0 +1,68 @@
|
||||
<script setup lang="ts">
|
||||
import { AGENTS, MODELS } from '~~/types'
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main class="flex flex-col gap-16">
|
||||
<div class="flex flex-col gap-4">
|
||||
<h1 class="text-2xl font-bold">
|
||||
Choose an agent
|
||||
</h1>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<div
|
||||
v-for="agent in AGENTS"
|
||||
:key="agent.slug"
|
||||
>
|
||||
<NuxtLink
|
||||
:to="`/${agent.slug}`"
|
||||
class="flex items-start gap-2 hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-lg p-4 duration-300"
|
||||
>
|
||||
<div class="flex items-center justify-center bg-neutral-300 dark:bg-neutral-800 rounded-full p-2">
|
||||
<UIcon
|
||||
:name="agent.icon"
|
||||
size="24"
|
||||
/>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<h2 class="text-lg font-bold">
|
||||
{{ agent.name }}
|
||||
</h2>
|
||||
<p>
|
||||
{{ agent.description }}
|
||||
</p>
|
||||
<p>
|
||||
{{ agent.defaultModel }}
|
||||
</p>
|
||||
<p>
|
||||
{{ agent.prompt }}
|
||||
</p>
|
||||
</div>
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-4">
|
||||
<h1 class="text-2xl font-bold">
|
||||
Available models
|
||||
</h1>
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
|
||||
<div
|
||||
v-for="model in MODELS"
|
||||
:key="model.name"
|
||||
>
|
||||
<div class="flex gap-4 items-center">
|
||||
<div class="flex items-center justify-center bg-neutral-300 dark:bg-neutral-800 rounded-full p-2">
|
||||
<UIcon
|
||||
:name="model.icon"
|
||||
size="24"
|
||||
/>
|
||||
</div>
|
||||
<p>
|
||||
{{ model.name }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</template>
|
||||
Reference in New Issue
Block a user