Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
1e8d5c6
tryout
visnkmr May 18, 2025
b4bc869
update versions of libs
visnkmr May 27, 2025
7496e1c
fixing tauri config
visnkmr May 27, 2025
8338e0a
add batu files to filedime to make chatui
Jun 16, 2025
cb206d7
minor ui tweaks, dep updates upstreamed
Jun 20, 2025
65dea1d
add local rag native implementation init
Jun 22, 2025
ef0de1f
filedimegpt now works without downloading filedimegpt python package.
Jun 23, 2025
e20f7da
filegpt completely works locally
Jun 24, 2025
23414a1
filegpt and ollama rust code can now be completely removed
Jun 24, 2025
c6f4d55
Fixed certain UI quirks
Jun 25, 2025
d01390d
ui tweaks and chat with llms directly no file context
Jun 26, 2025
b34a3aa
get ollama url from settings
Jun 26, 2025
3c9734b
settings now allows changing value of ollamaurl
visnkmr Jun 26, 2025
1e98edb
fix filedime settings ui, define format for shortcut commands
Jun 27, 2025
8be123b
zoom now works like in browser
Jun 27, 2025
c4c0987
now all gets installed apps list for use in a launcher
Jun 28, 2025
41dec5f
applist now works for the most part
Jun 28, 2025
e967956
Installed apps list retrieval functions updated
Jun 29, 2025
fae31d5
fix launching of uwp apps
Jun 29, 2025
6ec764d
works on linux as well
visnkmr Jun 29, 2025
a038324
allow changing embedding model from settings
visnkmr Jun 29, 2025
2526985
update ubuntu version for workflows
visnkmr Jun 30, 2025
a4ffde5
add bun to workflow
visnkmr Jun 30, 2025
9d2417c
Update release.yml
visnkmr Jun 30, 2025
a5af4fc
fixing for successfull linux and macos build
visnkmr Jun 30, 2025
9acd978
Update release.yml
visnkmr Jun 30, 2025
0e66754
fix onig_sys related issue and workflow build
visnkmr Jun 30, 2025
7ef4011
drivelist fix for macos and workflow dep fix
visnkmr Jun 30, 2025
fad1f20
fix for macos and try fix github workflow
visnkmr Jun 30, 2025
ec4a2c3
update drivelist for windows and fix workflow
visnkmr Jun 30, 2025
c0ef43e
yarn to bun
visnkmr Jun 30, 2025
235cc10
fix drivelist and tryfix workflow
Jul 1, 2025
c74abd7
Update test.yml
Jul 1, 2025
edf554a
Update test.yml
Jul 1, 2025
0e83009
Update tauri.conf.json
Jul 1, 2025
e1b43ff
Update test.yml
Jul 1, 2025
4b93442
Update test.yml
Jul 1, 2025
265ee19
fixed workflows
Jul 1, 2025
2f1dba8
fix for macos
visnkmr Jul 1, 2025
652f41f
move to tauri v2
visnkmr Jul 1, 2025
5b23e70
Update test.yml
visnkmr Jul 1, 2025
a30d9e3
Update test.yml
visnkmr Jul 1, 2025
b2fb095
tauri v2 init
Jul 1, 2025
ee39430
change window to webviewwindow
Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ on:
push:
branches:
# - 'main'
- '*'
- 'nextrelease'
# - 'v*'

jobs:
create-release:
permissions:
contents: write
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
outputs:
release_id: ${{ steps.create-release.outputs.result }}

Expand Down Expand Up @@ -62,10 +62,10 @@ jobs:
- host: windows-latest
target: x86_64-pc-windows-msvc
arch: amd64
# - host: windows-latest
# target: aarch64-pc-windows-msvc
# arch: arm64
- host: ubuntu-latest
- host: windows-latest
target: aarch64-pc-windows-msvc
arch: arm64
- host: ubuntu-22.04
target: x86_64-unknown-linux-gnu
os: linux
arch: amd64
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
if: contains(matrix.settings.host, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libsoup2.4-dev javascriptcoregtk-4.0 webkit2gtk-4.0
- name: install frontend dependencies
run: yarn install # change this to npm or pnpm depending on which one you use
- uses: tauri-apps/tauri-action@dev
Expand Down Expand Up @@ -196,7 +196,7 @@ jobs:
publish-release:
permissions:
contents: write
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
needs: [create-release, build-tauri]

steps:
Expand Down
222 changes: 222 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
name: Release
on:
push:
branches:
# - 'main'
# - '*'
- 'nextrelease'
# - 'v*'

jobs:
# create-release:
# permissions:
# contents: write
# runs-on: ubuntu-latest
# outputs:
# release_id: ${{ steps.create-release.outputs.result }}

# steps:
# - uses: actions/checkout@v4
# - name: setup node
# uses: actions/setup-node@v4
# with:
# node-version: 20
# - name: get version
# run: echo "PACKAGE_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV
# - name: create release
# id: create-release
# uses: actions/github-script@v7
# with:
# script: |
# const currentDate = new Date();
# let isoDate = currentDate.toISOString(); // "2023-08-27T12:34:56.789Z"
# let tagDate = isoDate.substring(0, 10); // "2023-08-27"
# let tagTime = isoDate.substring(11, 19).replace(/:/g, ''); // "123456"
# let githubTag = `${tagDate}-${tagTime}`;
# const { data } = await github.rest.repos.createRelease({
# owner: context.repo.owner,
# repo: context.repo.repo,
# tag_name: githubTag,
# name: `Filedime v${process.env.PACKAGE_VERSION}`,
# body: 'Checkout commit for detailed changelog on what has changed.',
# draft: false,
# prerelease: false
# })
# return data.id

build-tauri:
# needs: create-release
permissions:
contents: write
strategy:
fail-fast: false
matrix:
settings:
- host: macos-latest
target: x86_64-apple-darwin
os: darwin
arch: amd64
- host: macos-latest
target: aarch64-apple-darwin
os: darwin
arch: arm64
- host: windows-latest
target: x86_64-pc-windows-msvc
arch: amd64
- host: windows-latest
target: aarch64-pc-windows-msvc
arch: arm64
- host: ubuntu-22.04
target: x86_64-unknown-linux-gnu
os: linux
arch: amd64
# - host: ubuntu-22.04
# target: aarch64-unknown-linux-gnu
# os: linux
# arch: arm64
# - host: ubuntu-latest
# target: x86_64-unknown-linux-musl
# os: linux
# arch: x86_64
# - host: ubuntu-latest
# target: aarch64-unknown-linux-musl
# os: linux
# arch: arm64

# - host: ubuntu-latest
# target: aarch64-unknown-linux-gnu
# os: linux
# arch: arm64

name: ${{ matrix.settings.target }}
runs-on: ${{ matrix.settings.host }}

steps:
- uses: actions/checkout@v4
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.settings.target }}

# - name: Rust cache
# uses: swatinem/rust-cache@v2
# with:
# workspaces: "./desktop/src-tauri -> target"
- name: setup node
uses: actions/setup-node@v4
with:
node-version: 20
# - name: Uninstall Homebrew
# run: |
# NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

- name: install dependencies (ubuntu only)
if: contains(matrix.settings.host, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libsoup2.4-dev javascriptcoregtk-4.0 webkit2gtk-4.0

# - name: Setup Bun
# uses: oven-sh/setup-bun@v1
- name: install frontend dependencies
run: yarn install # change this to npm or pnpm depending on which one you use
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: "--target ${{ matrix.settings.target }}"
# tagName: ${{ env.TAG }}
# the action automatically replaces \_\_VERSION\_\_ with the app version
releaseName: 'App v__VERSION__'
# releaseBody: 'See the assets to download this version and install.'
releaseDraft: true
# prerelease: false
# releaseId: ${{ needs.create-release.outputs.release_id }}
# release-arm:
# needs: create-release
# runs-on: ubuntu-latest
# permissions:
# contents: write
# steps:
# - uses: actions/checkout@v3
# - uses: pguyot/[email protected]
# with:
# base_image: raspios_lite:latest
# cpu: cortex-a7
# bind_mount_repository: true
# image_additional_mb: 10240
# optimize_image: false
# commands: |
# # Rust complains (rightly) that $HOME doesn't match eid home
# export HOME=/root
# # Workaround to CI worker being stuck on Updating crates.io index
# export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
# # Install setup prerequisites
# apt update -y --allow-releaseinfo-change
# apt upgrade -y
# apt autoremove -y
# apt install -y curl file
# curl https://sh.rustup.rs -sSf | sh -s -- -y
# . "$HOME/.cargo/env"
# curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash
# # Install framework specific packages
# apt-get install -y nodejs
# npm install --global yarn
# yarn add next@latest react@latest react-dom@latest eslint-config-next@latest
# # Install build tools and tauri-cli requirements
# apt install -y libwebkit2gtk-4.0-dev build-essential wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev

# cargo install tauri-cli
# # Install frontend dependencies
# yarn
# # Build the application
# cargo tauri build --verbose
# - uses: AButler/[email protected]
# with:
# files: "${{ github.workspace }}/src-tauri/target/release/bundle/deb/*.deb;${{ github.workspace }}/src-tauri/target/release/bundle/appimage/*.AppImage"
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# release-id: ${{ needs.create-release.outputs.release_id }}
# # - name: Upload Release Asset
# # id: upload-release-asset
# # uses: actions/upload-release-asset@v1
# # env:
# # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# # with:
# # upload_url: ${{ needs.steps.create-release.outputs.upload_url }}
# # asset_path: ${{ github.workspace }}/src-tauri/target/release/bundle/deb/*.deb
# # asset_name: your-artifact-name
# # asset_content_type: application/octet-stream
# - name: Upload deb bundle
# uses: actions/upload-artifact@v3
# with:
# name: Debian Bundle
# path: ${{ github.workspace }}/src-tauri/target/release/bundle/deb/*.deb
# - name: Upload appimage bundle
# uses: actions/upload-artifact@v3
# with:
# name: Appimage Bundle
# path: ${{ github.workspace }}/src-tauri/target/release/bundle/appimage/*.AppImage

# publish-release:
# permissions:
# contents: write
# runs-on: ubuntu-latest
# needs: [create-release, build-tauri]

# steps:
# - name: publish release
# id: publish-release
# uses: actions/github-script@v7
# env:
# release_id: ${{ needs.create-release.outputs.release_id }}
# with:
# script: |
# github.rest.repos.updateRelease({
# owner: context.repo.owner,
# repo: context.repo.repo,
# release_id: process.env.release_id,
# draft: false,
# prerelease: false
# })


16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,16 @@ when building on nixos use the shell.nix file provided if necessary
currently the code may contains lots of comments in rust it will be cleared up in the future.

## Server guide for the complete stack for reference
Ollama- http://localhost:11434/
FiledimeGPT (Python)- http://localhost:8694/
FiledimeGPT LAN url - http://<pclanipaddress>:8477
Ollama should be installed and running and ip address should be configured in settings, if ollama is running on a remote machine.
Filechat UI LAN url can be found in settings.

## Chat self reference
Chatting normally should query ollama endpoint from ts, if contextless or if FiledimeGPT server is not running, else if FiledimeGPT server is running, to specifically run query on ollama endpoint include "o2c" (abbrevation for outside of current context) at the begging of the chat.You can also start with generally to run on ollama endpoint via FiledimeGPT server.
From LAN FiledimeGPT you can use ollama only if ollama is set to accept requests from 0.0.0.0/ if FiledimeGPT Python server is running
The filechat is accessible via its own repo as well @ https://github.com/visnkmr/batu, however filequerying will not work there.
For LAN access from a remote machine you can use ollama only if ollama is set to accept requests from 0.0.0.0

Thanks to all the maintainers of the libraries listed in the frontenddepslist.txt and depslist.txt files in the repo.
Thanks to all the maintainers of the libraries listed in the frontenddepslist.txt and depslist.txt files in the repo.

<!-- ,
// "updater:allow-check",
// "updater:allow-download",
// "updater:allow-install" -->
2 changes: 1 addition & 1 deletion next-env.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
/// <reference types="next/navigation-types/compat/navigation" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
10 changes: 7 additions & 3 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,17 @@ const nextConfig =
// withPWA(
// withBundleAnalyzer(
{

reactStrictMode: false,

// withPWA,
// withOptimizedImages,
experimental: {
// reactCompiler:true,
// appDir: true,
// optimizeCss: true,
esmExternals: true,
forceSwcTransforms: true,
// forceSwcTransforms: true,
scrollRestoration: true,
legacyBrowsers: false,
},
Expand Down Expand Up @@ -72,6 +75,7 @@ const nextConfig =

config.resolve.fallback = {
fs: false,
ssr:false,
net: false,
tls: false
};
Expand All @@ -94,8 +98,8 @@ const nextConfig =
wrap_iife: true,
},
compress: {
drop_console: true,
drop_debugger: true,
// drop_console: true,
// drop_debugger: true,
hoist_funs: true,
hoist_props: true,
hoist_vars: true,
Expand Down
Loading