jan/website/src/content/docs/jan/data-folder.mdx
Ramon Perez 8511e35df8 feat(docs): Migrate to dual Nextra/Astro deployment & recreate products section
This commit introduces a significant restructuring of the documentation deployment and content strategy to support a gradual migration from Nextra to Astro.

- **New Astro Workflow (`jan-astro-docs.yml`)**: Implemented a new, separate GitHub Actions workflow to build and deploy the Astro site from the `/website` directory to a new subdomain (`v2.jan.ai`). This isolates the new site from the existing one, allowing for independent development and testing.
- **Removed Combined Workflow**: Deleted the previous, more complex combined workflow (`jan-combined-docs.yml`) and its associated test scripts to simplify the deployment process and eliminate routing conflicts.
- **Astro Config Update**: Simplified the Astro configuration (`astro.config.mjs`) by removing the conditional `base` path. The Astro site is now configured to deploy to the root of its own subdomain.

- **Mirrored Content**: Recreated the entire `/products` section from the Astro site within the Nextra site at `/docs/src/pages/products`. This provides content parity and a consistent user experience on both platforms during the transition period.
- **File Structure**: Established a clear, organized structure for platforms, models, and tools within the Nextra `products` directory.
- **Nextra Sidebar Fix**: Implemented the correct `_meta.json` structure for the new products section. Created nested meta files to build a collapsible sidebar, fixing the UI bug that caused duplicated navigation items.

- **"Coming Soon" Pages**: Added clear, concise "Coming Soon" and "In Development" banners and content for upcoming products like Jan V1, Mobile, Server, and native Tools, ensuring consistent messaging across both sites.
- **.gitignore**: Updated the root `.gitignore` to properly exclude build artifacts, caches, and environment files for both the Nextra (`/docs`) and Astro (`/website`) projects.
- **Repository Cleanup**: Removed temporary and unused files related to the previous combined deployment attempt.

This new architecture provides a stable, predictable, and low-risk path for migrating our documentation to Astro while ensuring the current production site remains unaffected.
2025-07-31 18:52:00 +10:00

217 lines
7.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Jan Data Folder
description: A guide to Jan's data structure.
sidebar_position: 2
keywords:
[
Jan,
Customizable Intelligence, LLM,
local AI,
privacy focus,
free and open source,
private and offline,
conversational AI,
no-subscription fee,
large language models,
quickstart,
getting started,
using AI model,
]
---
import { Aside } from '@astrojs/starlight/components';
Jan stores your data locally in JSON format. Your data is yours alone.
## Open Jan Data Folder
Via Jan:
1. **Settings** > **General**
2. Click on the **Change Location** button.
![Open Jan Data Folder](../../../assets/settings-11.png)
Via Terminal:
```bash
# Windows
cd %APPDATA%/Jan/data
# Mac
cd ~/Library/Application\ Support/Jan/data
# Linux
cd $XDG_CONFIG_HOME/Jan/data # Custom install
cd ~/.config/Jan/data # Default install
```
## Directory Structure
<Aside type="note">
Root directory: `~/jan`
</Aside>
```
/assistants/
/jan/
assistant.json
/engines/
/llama.cpp/
/extensions/
extensions.json
/@janhq/
/assistant-extension/
/conversational-extension/
/download-extension/
/engine-management-extension/
/hardware-management-extension/
/inference-cortex-extension/
/model-extension/
/files/
/logs/
app.log
/models/
/huggingface.co/
/Model_Provider_A/
/Model_A
model_A.gguf
model_A.yaml
/threads/
/thread_A/
messages.jsonl
thread.json
```
### `assistants/`
Where AI personalities live. The default one (`/assistants/jan/`):
```json
{
"avatar": "👋",
"id": "jan",
"object": "assistant",
"created_at": 1750945742.536,
"name": "Jan",
"description": "Jan is a helpful AI assistant that can use tools and help complete tasks for its users.",
"model": "*",
"instructions": "You have access to a set of tools to help you answer the users question. You can use only one tool per message, and youll receive the result of that tool in the users next response. To complete a task, use tools step by step—each step should be guided by the outcome of the previous one.\nTool Usage Rules:\n1. Always provide the correct values as arguments when using tools. Do not pass variable names—use actual values instead.\n2. You may perform multiple tool steps to complete a task.\n3. Avoid repeating a tool call with exactly the same parameters to prevent infinite loops.",
"tools": [
{
"type": "retrieval",
"enabled": false,
"useTimeWeightedRetriever": false,
"settings": {
"top_k": 2,
"chunk_size": 1024,
"chunk_overlap": 64,
"retrieval_template": "Use the following pieces of context to answer the question at the end.\n----------------\nCONTEXT: {CONTEXT}\n----------------\nQUESTION: {QUESTION}\n----------------\nHelpful Answer:"
}
}
],
"file_ids": []
}
```
Parameters:
| Parameter | Description | Type | Default |
|------------------------|--------------------------------------------------------------|---------|---------|
| id | Assistant identifier | string | jan |
| avatar | Assistant image | string | None |
| object | OpenAI API compatibility marker | string | None |
| created_at | Creation timestamp | string | None |
| name | Display name | string | Jan |
| description | Role description | string | Default |
| model | Allowed models (* = all) | string | * |
| instructions | Default thread instructions | string | None |
| file_ids | OpenAI compatibility field | string | None |
| tools | Available tools (retrieval only currently) | array | retrieval|
| type | Tool type | string | retrieval|
| enabled | Tool status | boolean | true |
| useTimeWeightedRetriever| Time-weighted retrieval toggle | boolean | false |
| settings | Tool configuration | object | None |
| top_k | Max retrieval results | number | 2 |
| chunk_size | Text chunk size | number | 1024 |
| chunk_overlap | Chunk overlap amount | number | 64 |
| retrieval_template | Response format template | string | None |
### `extensions/`
Add-on central. Organization extensions live in `@janhq/`, solo ones in root.
### `logs/`
Debugging headquarters (`/logs/app.txt`):
- **[APP]**: Core logs
- **[SERVER]**: API drama
- **[SPECS]**: Hardware confessions
### `models/`
The silicon brain collection. Each model has its own `model.json`.
<Aside type="note">
Full parameters: [here](/docs/model-parameters)
</Aside>
### `threads/`
Chat archive. Each thread (`/threads/jan_unixstamp/`) contains:
- `messages.jsonl`:
```json
{
"completed_at": 0,
"content": [
{
"text": {
"annotations": [],
"value": "Hello! I can help you with various tasks. I can search for information on the internet, including news, videos, images, shopping, and more. I can also scrape webpages to extract specific information. Let me know what you need!"
},
"type": "text"
}
],
"created_at": 1751012639307,
"id": "01JYR7S0JB5ZBGMJV52KWMW5VW",
"metadata": {
"assistant": {
"avatar": "👋",
"id": "jan",
"instructions": "You have access to a set of tools to help you answer the user's question. You can use only one tool per message, and you'll receive the result of that tool in the user's next response. To complete a task, use tools step by step—each step should be guided by the outcome of the previous one.\nTool Usage Rules:\n1. Always provide the correct values as arguments when using tools. Do not pass variable names—use actual values instead.\n2. You may perform multiple tool steps to complete a task.\n3. Avoid repeating a tool call with exactly the same parameters to prevent infinite loops.",
"name": "Jan",
"parameters": ""
},
"tokenSpeed": {
"lastTimestamp": 1751012637097,
"message": "01JYR7S0GW5M9PSHMRE7T8VQJM",
"tokenCount": 49,
"tokenSpeed": 22.653721682847895
}
},
"object": "thread.message",
"role": "assistant",
"status": "ready",
"thread_id": "8f2c9922-db49-4d1e-8620-279c05baf2d0",
"type": "text"
}
```
- `thread.json`:
| Parameter | Description |
|------------|------------------------------------------------|
| assistants | Assistant configuration clone |
| created | Creation timestamp |
| id | Thread identifier |
| metadata | Additional thread data |
| model | Active model settings |
| object | OpenAI compatibility marker |
| title | Thread name |
| updated | Updated timestamp |
## Delete Jan Data
Uninstall guides: [Mac](./installation/mac#step-2-clean-up-data-optional),
[Windows](./installation/windows#step-2-handle-jan-data), or [Linux](./installation/linux#uninstall-jan).