athens
Athens is no longer maintainted. Athens was an open-source, collaborative knowledge graph, backed by YC W21
Top Related Projects
A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
The personal knowledge management (PKM) tool that grows as you do!
A personal knowledge management and sharing system for VSCode
A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.
Quick Overview
Athens is an open-source, self-hosted knowledge management tool designed for networked thought. It provides a platform for note-taking, research, and idea organization with a focus on interconnected information and collaborative knowledge building. Athens aims to be a privacy-focused alternative to commercial tools like Roam Research.
Pros
- Open-source and self-hosted, ensuring data privacy and control
- Supports networked thought with bidirectional linking and graph visualization
- Offers a clean, minimalist interface for distraction-free writing
- Provides real-time collaboration features for team knowledge management
Cons
- Steeper learning curve compared to traditional note-taking apps
- Limited mobile support (primarily desktop-focused)
- Fewer integrations and extensions compared to some commercial alternatives
- Requires self-hosting, which may be challenging for non-technical users
Getting Started
To get started with Athens:
- Visit the Athens GitHub repository
- Follow the installation instructions for your operating system
- Clone the repository:
git clone https://github.com/athensresearch/athens.git
- Navigate to the project directory:
cd athens
- Install dependencies and start the development server:
npm install npm run dev
- Open your browser and visit
http://localhost:3000
to start using Athens
Note: Athens is primarily a desktop application, so the getting started instructions focus on setting up the development environment. For regular users, it's recommended to download the latest release from the GitHub repository and follow the provided installation instructions.
Competitor Comparisons
A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
Pros of Logseq
- More mature and stable project with a larger user base
- Offers both local-first and cloud sync options
- Supports multiple export formats (Markdown, EDN, JSON)
Cons of Logseq
- Less focus on real-time collaboration features
- UI can be less intuitive for new users
- Slower development of advanced graph visualization features
Code Comparison
Logseq (ClojureScript):
(defn parse-property [line]
(when-let [[_ k v] (re-find #"^([^:]+)::(.+)$" (string/trim line))]
[(string/trim k) (string/trim v)]))
Athens (ClojureScript):
(defn parse-block [s]
(let [trimmed (string/trim s)]
(if-let [[_ indent content] (re-matches #"(\s*)(.+)" trimmed)]
{:indent (count indent) :content content}
{:indent 0 :content trimmed})))
Both projects use ClojureScript and share similar parsing approaches for their note-taking functionalities. However, Logseq's codebase is more extensive and mature, reflecting its longer development history and broader feature set. Athens focuses more on graph-based knowledge management and real-time collaboration, which is evident in its codebase structure and core functions.
The personal knowledge management (PKM) tool that grows as you do!
Pros of Dendron
- More mature project with a larger community and ecosystem
- Hierarchical note structure for better organization
- Extensive documentation and tutorials available
Cons of Dendron
- Steeper learning curve due to more complex features
- Requires VS Code as the primary editor
- Less focus on real-time collaboration
Code Comparison
Dendron (TypeScript):
export function createNoteLink(note: Note, alias?: string): string {
const fname = note.fname;
return alias ? `[[${fname}|${alias}]]` : `[[${fname}]]`;
}
Athens (ClojureScript):
(defn create-block-link
[block-uid & {:keys [alias]}]
(let [link (str "[[" block-uid "]]")]
(if alias
(str link "[" alias "]")
link)))
Both projects use different languages but implement similar functionality for creating note/block links. Dendron's approach is more TypeScript-oriented, while Athens uses a functional ClojureScript style.
Athens focuses on a graph-based structure and real-time collaboration, making it more suitable for networked thought and team workflows. Dendron excels in personal knowledge management with its hierarchical structure and powerful search capabilities.
Choose Athens for a more visual, collaborative experience, or Dendron for a structured, individual note-taking approach integrated with VS Code.
A personal knowledge management and sharing system for VSCode
Pros of Foam
- Lightweight and flexible, integrating seamlessly with VS Code
- Extensive customization options through VS Code extensions
- Active community with frequent updates and contributions
Cons of Foam
- Steeper learning curve for users unfamiliar with VS Code
- Less polished user interface compared to Athens
- Limited built-in features, relying heavily on external extensions
Code Comparison
Athens (ClojureScript):
(defn create-page [title]
(let [uid (gen-block-uid)]
{:block/uid uid
:node/title title
:block/children []}))
Foam (TypeScript):
export function createNote(title: string): Note {
return {
id: generateId(),
title,
content: '',
links: [],
};
}
Both projects aim to provide networked thought tools, but they differ in their approach. Athens offers a more integrated, standalone solution with a focus on graph visualization and real-time collaboration. Foam, on the other hand, leverages the power of VS Code to provide a flexible, extensible platform for personal knowledge management. The choice between the two depends on individual preferences for user interface, extensibility, and integration with existing workflows.
A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.
Pros of SiYuan
- More active development with frequent updates and releases
- Built-in features for task management and kanban boards
- Supports multiple languages and has a larger international user base
Cons of SiYuan
- Less focus on networked thought and graph visualization
- Closed-source backend, limiting community contributions and customization
- Steeper learning curve due to more complex features and interface
Code Comparison
SiYuan (Go):
func (box *Box) Index(ctx context.Context) (err error) {
box.indexLock.Lock()
defer box.indexLock.Unlock()
if !box.Exist() {
return errors.New("box not exist")
}
return box.index(ctx)
}
Athens (Clojure):
(defn parse-block
[block]
(let [content (:block/string block)
children (:block/_parent block)]
(merge
(parse-content content)
{:block/children (mapv parse-block children)})))
Both projects use different programming languages, reflecting their architectural choices. SiYuan's Go code focuses on indexing and file management, while Athens' Clojure code emphasizes parsing and structuring block content. This difference highlights SiYuan's emphasis on file organization and Athens' focus on networked thought.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
UPDATE: Athens is no longer being actively maintained
Some links are provided below for posterity.
Migration
Migration: If you've been using Athens, you can try to export your data using https://github.com/bshepherdson/athens-export, which converts your pages to markdown and a logseq-compatible directory. This seems to have worked for my personal graph, but it is not an officially supported project, so your mileage may vary.
Athens helps teams capture and synthesize knowledge together. Built on a graph database, Athens helps map and communicate complex knowledge in complex domains.
You can demo Athens in your browser (no changes are saved)
You can download the free and OSS desktop app
Documentation (not guaranteed to be up to date)
Thank You
Thank you to the Sponsors and Contributors who supported us along the way. Thank you.
Top Related Projects
A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
The personal knowledge management (PKM) tool that grows as you do!
A personal knowledge management and sharing system for VSCode
A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot