TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Remember it. Think it through. Keep it moving.
A local-first AI second brain you own.
Forsion is a local-first AI second brain. Organize your own Markdown files in a Notion-style block editor, think with Agents that retain useful context, build a TEAM to move projects forward, and let Muse follow up within the boundaries you set.
Make each piece of thinking a starting point for the next. Sources, preferences, discussions, outputs, and follow-ups come together in one workspace.README 전문 보기 ↗Remember it. Think it through. Keep it moving. A local-first AI second brain you own.
English · 简体中文
Download · Quick start · Documentation (中文) · Website
Forsion is a local-first AI second brain. Organize your own Markdown files in a Notion-style block editor, think with Agents that retain useful context, build a TEAM to move projects forward, and let Muse follow up within the boundaries you set.
Make each piece of thinking a starting point for the next. Sources, preferences, discussions, outputs, and follow-ups come together in one workspace.
| Part of your second brain | How it works in Forsion |
|---|---|
| Capture and connect | Block editing on local .md files, linked to notes, PDFs, whiteboards, databases, and conversations. |
| Remember context | Inspectable, editable long-term memory that carries preferences and project background across conversations. |
| Think and act together | Agents with distinct personalities, persistent TEAMs, parallel work, and Team Desk. |
| Follow through | Muse wakes on heartbeats, schedules, and rules, bringing results and decisions to Inbox. |
| Extend your workflow | Plugins bring tools, Agents, skills, and dedicated workspaces into the same flow. |
The screenshots below come from the v2.11.0 desktop build and use one public research-project fixture. They show the real interface, not a live model run. Capture provenance and reproduction.
Notion-style block editing, built on local .md files. In the Amadeus knowledge base, headings, paragraphs, to-dos, code, and embedded content become blocks you can organize. Write with Markdown shortcuts, insert content with /, arrange sources in columns, and inspect block source. Your notes remain files on disk that you can open, back up, and ask an Agent to read or update.
[[wikilinks]], backlinks, and a graph to connect ideas. Embed notes, images, databases, and whiteboards; reference notes directly in chat.| A way to think or work | The tools to support it |
|---|---|
| Organize structured research and projects | Databases with table, board, calendar, and gallery views, plus filtering, sorting, and grouping. |
| Explore relationships and reasoning | Excalidraw-compatible whiteboards; PDF annotations saved into the PDF itself. |
| Build a project home | Dashboards combining notes, databases, whiteboards, images, and webpage cards. |
| Bring next steps into your day | Calendar aggregates database dates and to-dos, with external calendar subscriptions. |
Notes use local Markdown, with compatible formats for links, properties, and whiteboards. Rendering of extensions such as columns, databases, and plugin blocks depends on the application opening them.
Block editor (中文) · Knowledge base (中文) · Databases (中文) · Whiteboards (中文)
Your knowledge base holds the material. Memory carries useful context. Full articles, evidence, and outputs stay in the project. Preferences, facts, and lasting background you explicitly share can become Agent memory, giving the next conversation somewhere to begin.
Try: “When helping me research, lead with conclusions, then sources, and call out uncertainty separately.” Check that it was saved, then start another conversation about the project and inspect how it uses that preference. Automatic Dream maintenance is off by default; forgetting removes active memory while retaining revision history.
Memory (中文) · Configure Agents (中文)
A solo project can still have different perspectives and lasting roles. Aria attends to feeling and creative possibilities; Recita examines evidence, assumptions, and feasibility; Arioso weighs your aims and tradeoffs with independent judgment. Coding focuses on implementation, while Muse follows up proactively. Customize them or create your own Agents.
TEAM in v2.11 makes collaboration something you can build on:
TEAM.md for common goals and working agreements.@project in a private chat to dispatch work into a new conversation in that project. Agents Space manages Agents and teams; the Orbits sidebar brings private chats, teams, projects, and external engines together.You can also delegate independent subtasks from an ordinary conversation or connect installed Claude Code and Codex engines through ACP. Teams and these local execution features use local mode. Context is passed as needed; Agent memories and tool settings remain individually managed.
TEAM and Team Desk · Agents and personalities (中文) · External engines (中文)
Hand ongoing work to a proactive Agent. Once enabled, Muse wakes on heartbeats, schedules, and rules to review recent work, organize material, suggest next steps, or carry out tasks within configured permissions and budgets.
This version turns on Muse and Historian once for anyone who has not enabled them. You can turn either off at any time, and that choice survives restarts. Muse currently runs in local mode, with the device and relevant processes available. You set active hours, frequency, budgets, and approval behavior. For defined processes, Automation connects time, events, or database changes to Agent actions, notifications, and table operations.
Proactive Muse (中文) · Automation (中文) · Inbox (中文)
Your second brain can grow with your work. A plugin bundle can deliver an interface, engine tools, Agents, skills, and a Space together, connecting collection, processing, and output.
Plugins (中文) · Plugin development · Store (中文) · Skills (中文)
Try building up this workflow with a real project:
This is a configurable example, dependent on the model, source access, and tools you choose. When you return, the project files and confirmed context give you a starting point.
Workspace (中文) · Channels (中文) · Client capabilities (中文) · Data and privacy (中文)
Download the latest desktop installer from GitHub Releases.
| Platform | Release artifact | Notes |
|---|---|---|
| macOS | Forsion-*.dmg | Apple Silicon (arm64). |
| Windows | Forsion-*.exe | NSIS installer. |
| Linux | Forsion-*.AppImage | Add execute permission, then run. |
Every desktop release includes two distributions. Forsion-<version>-<arch> bundles Forsion Extend for account and cloud features. Forsion-NoExtend-<version>-<arch> includes the local app and Agent backend without bundling Extend; cloud account, sync, publishing and remote device features require Extend. Both use the same app identity and data folders. Windows/Linux updates stay within the chosen distribution; on macOS, download the same filename variant when updating.
For local builds, run FORSION_BUNDLE_EXTEND=0 npm run build, then FORSION_BUNDLE_EXTEND=0 npm run dist from desktop/. Omitting the variable produces the default distribution.
The quick start walks through this path and introduces multi-agent work and plugins.
Installer signing: macOS builds use ad-hoc signing and are not yet notarized; Windows builds may trigger SmartScreen. Download from this repository's Releases. If Gatekeeper blocks the first open on macOS, right-click the app and choose “Open”, or allow it in System Settings → Privacy & Security.
The official desktop build uses, by default:
| Path | Contents |
|---|---|
~/.forsion/ | Account, settings, Agent data, sessions, skills, plugins and local databases. |
~/Forsion/ | User-visible workspace, knowledge base and project files. |
The dev build uses separate ~/.forsion-dev/ and ~/Forsion-Dev/ so it won't pollute production data. Legacy ~/.tangu / ~/Tangu data is migrated by the desktop app, which keeps a compatibility entry point.
Back up these two directories regularly, just like ordinary documents. Before running high-privilege Agent tasks, confirm the approval tier and the current working directory.
Forsion Genesis is the source repository for the product family: the Tangu Agent runtime, the LCL Space / View / Plugin engine, Desktop, Web, Android, and product profiles such as Amadeus.
See web/README.md for Web deployment and mobile/README.md for Android builds. Expand below for all development commands and the architecture.
git clone https://github.com/Changan-Su/Forsion.git
cd Forsion
# Build the Agent backend embedded in the desktop app first
cd tangu-agent
npm ci
npm run build
# Then start the Electron desktop app
cd ../desktop
npm ci
npm run dev
The desktop postinstall automatically sets up the LCL dependency links. Keep the existing directory relationships from the repository root — do not copy desktop/ or lcl/ on their own.
Common commands:
| Directory | Command | Purpose |
|---|---|---|
tangu-agent/ | npm run build | Compile the Agent runtime. |
tangu-agent/ | npm run typecheck | Check types and plugin-API sync status. |
tangu-agent/ | npm test | Run the runtime tests. |
tangu-agent/ | npm run build && npm run smoke:tooldefs | Reproduce missing tool definitions and verify isolation before model requests. |
tangu-agent/ | TANGU_PLUGINS_DIR="$PWD/test/fixtures" npm run live:harness -- --only chat,tool | Verify chat and file tools with an invalid plugin loaded, using the dev model credentials. |
desktop/ | npm run dev | Start the desktop dev environment. |
desktop/ | npm run typecheck | Check desktop types. |
desktop/ | npm test | Run desktop unit tests. |
desktop/ | npm run build | Build the Electron main process, preload and renderer. |
desktop/ | npm run dist | Produce an installer for the current platform. |
desktop/ | node scripts/dmg-layout-preview.cjs | macOS only. Build a tiny DMG around an empty app shell to check the installer window (background, icon positions) in Finder without a full build. |
desktop/ | npm run e2e:editor | Run the Amadeus editor end-to-end tests. |
desktop/ | npm run check:toggle / npm run check:toggleenter:electron | Regress toggle ownership after two Enter presses; build first for the Electron check, which also verifies disk persistence and app restart. |
If an Electron harness hangs at launch with no output and no renderer process, run sample <electron-pid> 1. A main thread stuck in NSAlert runModal under promptToIgnorePersistentStateWithCrashHistory: is macOS asking to reopen windows after the shared dev Electron.app crashed. Playwright-launched instances skip that prompt: electron/main.ts registers ApplePersistenceIgnoreState in memory only. Harnesses spawned without Playwright must set TANGU_HARNESS_QUIET=1. npm run check:persistignore (add -- --control for the negative control) verifies that AppKit reads the key.
cd tangu-agent
npm ci
npm run build
# Optional: copy and edit local config
mkdir -p ~/.tangu
cp example.env ~/.tangu/.env
npm run tui # Terminal interface
npm run server # HTTP / SSE service, default 127.0.0.1:8787
example.env shows how to configure local models, OpenAI-compatible providers, Forsion Cloud, databases, the sandbox and the worker. Never commit real tokens or API keys to the repository.
The default profile is Forsion, with all six Spaces. The repository also provides an Amadeus profile that does not bundle the Agent backend or the store:
cd desktop
npm run dev:amadeus
npm run build:amadeus
npm run pack:amadeus
When adding a new product, define its product identity, default Spaces, feature set and backend capabilities in desktop/products/, and add profile tests.
Forsion Web reuses the desktop rendering layer and connects to a running Forsion Server. The default dev address is http://localhost:5273, with the backend proxy target at http://localhost:3001.
cd web
cp .env.example .env
npm ci
npm run dev
The Docker build context must be the repository root, because Web reads source from desktop/frontend, desktop/shared and lcl.
BACKEND_URL=http://host.docker.internal:3001 \
docker compose -f web/docker-compose.yml up -d --build
The site is published to host port 8090 by default. See web/README.md for full reverse-proxy, environment-variable, HTTPS and troubleshooting notes.
The mobile client is primarily Android / Capacitor, reusing the desktop rendering layer with a single-column interface. It is currently better suited for development and validating mobile workflows than as a full replacement for the desktop app. See mobile/README.md for build steps and deep-link login requirements.
flowchart LR
Agent["Tangu Agent Runtime"] --> TUI["Terminal TUI"]
Agent --> Service["Standalone HTTP / SSE"]
Agent --> Desktop["Forsion Desktop"]
LCL["LCL Space / View Engine"] --> Desktop
Renderer["Shared React Renderer"] --> Desktop
LCL --> Web["Forsion Web"]
Renderer --> Web
LCL --> Mobile["Android Client"]
Renderer --> Mobile
Web --> Gateway["Forsion Server"]
Mobile --> Gateway
Gateway --> Worker["Tangu Worker"]
The Tangu Agent isolates storage, models, billing and runtime environment through the host, brain, billing and profile seams; LCL splits interface capabilities into registrable Spaces and Views. Combined, the same business capability can be reused across the local desktop, self-hosted services and cloud-connected clients.
Forsion/
├── tangu-agent/ # Agent runtime, TUI, standalone, tools, skills & plugin API
├── lcl/ # Space / View / Plugin workspace engine
├── desktop/ # Electron main process, shared React renderer & product profiles
├── web/ # Vite + nginx browser client
├── mobile/ # Capacitor Android client
├── unit/ # Standalone Forsion Unit framework & local plugins
├── docs/ # User documentation
├── scripts/ # Open-source boundary check
├── .github/ # CI workflows
├── archived/ # Read-only historical implementations
└── Dockerfile.standalone # Worker image used by Tangu Manager
| Form | Role | Status |
|---|---|---|
| Desktop | The full Forsion workbench for everyday use | Primary release target |
| TUI / Standalone | Terminal use, scripting integration and local service | Available, maintained alongside the runtime |
| Web | A standalone web client connected to Forsion Server | Self-hostable, depends on the server |
| Mobile | Android cloud connection and mobile workflows | Under active development |
Before committing, at least run the type checks and tests relevant to your changes:
cd tangu-agent
npm run typecheck
npm test
cd ../desktop
npm run typecheck
npm test
The release workflow is triggered by v* tags: it first checks Tangu Agent types and tests, then builds installers on macOS, Windows and Linux runners respectively, and finally creates or updates the GitHub Release. You can also run the build manually from the Actions page and download the Artifacts.
User-visible desktop changes should be recorded in desktop/CHANGELOG.md.
Issues and Pull Requests are welcome. To make problems easier to reproduce and merge:
.env, tokens, local databases, workspace content or build artifacts;You can view or file issues from Issues, or open a Pull Request directly to help improve the project.
Forsion Genesis uses the Modified Apache License 2.0. It is based on Apache License 2.0 with additional conditions, mainly covering:
desktop/, web/ or mobile/ frontends, you may not remove or modify the logo, product name and copyright notices in the interface;Please read the full license text before using, distributing or offering services based on this project. This license includes restrictions beyond Apache-2.0, so it should not be understood as the standard Apache-2.0 license alone.