Skip to content

Commit aebc6c7

Browse files
authored
docs(site): add bilingual Docusaurus website for GitHub Pages (#81)
* docs(site): add bilingual Docusaurus website for GitHub Pages Adds a Docusaurus site under docs/ (en + zh-Hans) with introduction, installation, features, and FAQ pages, plus a GitHub Actions workflow that builds and deploys it to GitHub Pages on changes to docs/. * fix(deps): bump ip-address override to 10.7.2 Clears the two moderate advisories (GHSA-rpw4-54j3-4h4q, GHSA-2vr4-cq9g-pvrc) that fail `npm run audit:prod` in CI.
1 parent 9bed80d commit aebc6c7

20 files changed

Lines changed: 18962 additions & 6 deletions

File tree

‎.github/workflows/pages.yml‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Deploy Website
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- "docs/**"
8+
- "assets/**"
9+
- ".github/workflows/pages.yml"
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: pages
19+
cancel-in-progress: false
20+
21+
jobs:
22+
build:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: actions/setup-node@v4
27+
with:
28+
node-version: 24
29+
cache: npm
30+
cache-dependency-path: docs/package-lock.json
31+
- name: Install website dependencies
32+
run: npm ci
33+
working-directory: docs
34+
- name: Build website
35+
run: npm run build
36+
working-directory: docs
37+
- uses: actions/configure-pages@v6
38+
- uses: actions/upload-pages-artifact@v5
39+
with:
40+
path: docs/build
41+
42+
deploy:
43+
needs: build
44+
runs-on: ubuntu-latest
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
steps:
49+
- id: deployment
50+
uses: actions/deploy-pages@v5

‎docs/.gitignore‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Synced by scripts/sync-assets.mjs, not committed
2+
/static/img/preview.png
3+
4+
# Docusaurus build output (also covered by root .gitignore, kept for local runs)
5+
/build/

‎docs/docs/faq.md‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
# FAQ
6+
7+
### Does Qoderian work on mobile?
8+
9+
No. Qoderian is desktop-only (macOS, Linux, Windows) because it runs the local Qoder CLI, which needs full file system and shell access.
10+
11+
### Does Qoderian need an API key?
12+
13+
No. Sign-in is managed entirely by your local Qoder CLI (`qodercli login`); the plugin never asks for an API key.
14+
15+
### What are the requirements?
16+
17+
Obsidian v1.7.2+ and a signed-in Qoder CLI on the same machine. Windows on arm64 is not supported.
18+
19+
### Where does the agent work?
20+
21+
In your vault. Your vault is the agent's working directory, so file read/write, search, bash, and multi-step workflows work out of the box.
22+
23+
### How do I report a bug or request a feature?
24+
25+
Open an issue on [GitHub](https://github.com/QoderAI/qoderian/issues).

‎docs/docs/features.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
sidebar_position: 3
3+
---
4+
5+
# Features
6+
7+
- **Agentic chat** — qodercli streams responses into the sidebar and reads, writes, edits, and searches files in your vault.
8+
- **`@` mentions** — Bring vault notes, the current selection, or external directories into context as removable chips.
9+
- **Inline Edit** — Rewrite selected note text in place, with a diff preview before you accept.
10+
- **Slash Commands & Skills** — `/` opens built-in and project-level commands; skills, agents, and hooks come from the same Qoder CLI project files as the terminal.
11+
- **Permission Modes** — Ask approval, Auto approval, or Full access from the chat toolbar.
12+
- **`#` Instruction Mode** — Write a custom instruction on an empty input; it is refined before being applied.
13+
- **`!` Bash Mode** — Run a shell command in the vault directory; opt-in under Settings → Experimental.
14+
- **Models & Effort** — Model picker with per-model reasoning effort and context usage reported by the Qoder Agent SDK.
15+
- **MCP Servers** — Connect external tools over the Model Context Protocol (stdio, SSE, HTTP), configured in-app.
16+
- **Tabs & History** — Multiple chat tabs with their own histories, plus resume, fork, and rewind.
17+
- **Subagents** — Nested agent runs grouped and rendered inline.
18+
- **Turn summaries** — Finished turns fold their working steps into an expandable "Execution steps" line, and edited files collapse into a card that opens a read-only per-file diff modal.

‎docs/docs/installation.md‎

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
sidebar_position: 2
3+
---
4+
5+
# Installation
6+
7+
Qoderian is desktop-only (macOS, Linux, Windows) and needs Obsidian v1.7.2+ plus a signed-in [Qoder CLI](https://qoder.com).
8+
9+
## 1. Install and sign in to Qoder CLI
10+
11+
Install with the official script (recommended):
12+
13+
**macOS / Linux**
14+
15+
```bash
16+
curl -fsSL https://qoder.com/install | bash
17+
```
18+
19+
**Windows — PowerShell** (Windows Terminal recommended)
20+
21+
```powershell
22+
irm https://qoder.com/install.ps1 | iex
23+
```
24+
25+
Or through npm (requires Node.js ≥ 20):
26+
27+
```bash
28+
npm install -g @qoder-ai/qodercli
29+
```
30+
31+
The installer puts `qodercli` on your PATH; Windows on arm64 is not supported. Then sign in from a terminal:
32+
33+
```bash
34+
qodercli login
35+
```
36+
37+
Sign-in is managed entirely by your local CLI; Qoderian never asks for an API key.
38+
39+
## 2. Install the plugin
40+
41+
### From Obsidian Community Plugins (recommended)
42+
43+
1. Open Obsidian → Settings → Community plugins → Browse
44+
2. Search for "Qoderian" and click Install
45+
3. Enable the plugin
46+
47+
### From GitHub Release
48+
49+
1. Download `main.js`, `manifest.json`, and `styles.css` from the [latest release](https://github.com/QoderAI/qoderian/releases/latest)
50+
2. Create a folder called `qoderian` in your vault's plugins folder:
51+
```
52+
/path/to/vault/.obsidian/plugins/qoderian/
53+
```
54+
3. Copy the downloaded files into that folder
55+
4. Enable the plugin in Obsidian: Settings → Community plugins → turn off Restricted mode → enable "Qoderian"
56+
57+
### From source
58+
59+
1. Clone the repository into your vault's plugins folder:
60+
```bash
61+
cd /path/to/vault/.obsidian/plugins
62+
git clone https://github.com/QoderAI/qoderian.git qoderian
63+
cd qoderian
64+
```
65+
2. Install dependencies and build:
66+
```bash
67+
npm ci
68+
npm run build
69+
```
70+
This writes `main.js` and `styles.css` next to `manifest.json`, which is where Obsidian loads them from.
71+
3. Enable the plugin in Obsidian
72+
73+
## 3. Start using
74+
75+
Open the chat sidebar from the ribbon icon or the command palette (`Open Qoderian`). Type a message and press **Enter**; qodercli streams its response back into the panel and works on your vault files just like the terminal CLI.

‎docs/docs/introduction.md‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
sidebar_position: 1
3+
slug: /introduction
4+
---
5+
6+
# Introduction
7+
8+
Qoderian is an Obsidian plugin that embeds [Qoder CLI](https://qoder.com) (`qodercli`) in your vault. Your vault becomes the agent's working directory — file read/write, search, bash, and multi-step workflows all work out of the box.
9+
10+
![Qoderian in an agentic Obsidian workspace](pathname:///qoderian/img/preview.png)
11+
12+
## Highlights
13+
14+
- **Agentic chat** — qodercli streams responses into the sidebar and reads, writes, edits, and searches files in your vault.
15+
- **`@` mentions** — Bring vault notes, the current selection, or external directories into context as removable chips.
16+
- **Inline Edit** — Rewrite selected note text in place, with a diff preview before you accept.
17+
- **Slash Commands & Skills** — `/` opens built-in and project-level commands; skills, agents, and hooks come from the same Qoder CLI project files as the terminal.
18+
- **Tabs & History** — Multiple chat tabs with their own histories, plus resume, fork, and rewind.
19+
20+
See [Features](./features.md) for the full list, or jump straight to [Installation](./installation.md).
21+
22+
## Requirements
23+
24+
- Obsidian **v1.7.2+** on desktop (macOS, Linux, or Windows — mobile is not supported)
25+
- A signed-in [Qoder CLI](https://qoder.com) on the same machine

‎docs/docusaurus.config.js‎

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// @ts-check
2+
// Docusaurus config for the Qoderian website (GitHub Pages).
3+
// The site lives inside docs/: curated pages under docs/docs/, while the
4+
// repository markdown at the root (README, CHANGELOG, ...) stays canonical.
5+
6+
/** @type {import('@docusaurus/types').Config} */
7+
const config = {
8+
title: "Qoderian",
9+
tagline: "Qoder CLI embedded in your Obsidian vault.",
10+
url: "https://qoderai.github.io",
11+
baseUrl: "/qoderian/",
12+
organizationName: "QoderAI",
13+
projectName: "qoderian",
14+
trailingSlash: false,
15+
16+
onBrokenLinks: "throw",
17+
18+
i18n: {
19+
defaultLocale: "en",
20+
locales: ["en", "zh-Hans"],
21+
localeConfigs: {
22+
en: { label: "English" },
23+
"zh-Hans": { label: "简体中文" },
24+
},
25+
},
26+
27+
presets: [
28+
[
29+
"classic",
30+
/** @type {import('@docusaurus/preset-classic').Options} */
31+
({
32+
docs: {
33+
sidebarPath: "./sidebars.js",
34+
editUrl: "https://github.com/QoderAI/qoderian/edit/main/docs/",
35+
},
36+
blog: false,
37+
theme: {
38+
customCss: "./src/css/custom.css",
39+
},
40+
}),
41+
],
42+
],
43+
44+
themeConfig:
45+
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
46+
({
47+
navbar: {
48+
title: "Qoderian",
49+
items: [
50+
{
51+
type: "localeDropdown",
52+
position: "right",
53+
},
54+
{
55+
href: "https://github.com/QoderAI/qoderian",
56+
label: "GitHub",
57+
position: "right",
58+
},
59+
],
60+
},
61+
footer: {
62+
style: "dark",
63+
copyright: `Copyright © ${new Date().getFullYear()} Qoder. Built with Docusaurus.`,
64+
},
65+
}),
66+
};
67+
68+
export default config;

‎docs/i18n/zh-Hans/code.json‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"tagline": {
3+
"message": "嵌入 Obsidian 仓库的 Qoder CLI。",
4+
"description": "The tagline shown in the footer and meta description"
5+
}
6+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
# 常见问题
6+
7+
### Qoderian 支持移动端吗?
8+
9+
不支持。Qoderian 仅支持桌面端(macOS、Linux、Windows),因为它要运行本地 Qoder CLI,需要完整的文件系统和 shell 权限。
10+
11+
### Qoderian 需要 API key 吗?
12+
13+
不需要。登录完全由本地 Qoder CLI(`qodercli login`)管理;插件不会索要 API key。
14+
15+
### 环境要求是什么?
16+
17+
Obsidian v1.7.2+,以及同一台机器上已登录的 Qoder CLI。暂不支持 Windows arm64。
18+
19+
### 智能体在哪里工作?
20+
21+
在你的仓库(vault)里。仓库就是智能体的工作目录,文件读写、检索、bash 和多步工作流都开箱即用。
22+
23+
### 如何报告问题或提功能建议?
24+
25+
请在 [GitHub](https://github.com/QoderAI/qoderian/issues) 上提 issue。
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
sidebar_position: 3
3+
---
4+
5+
# 功能
6+
7+
- **智能体聊天** — qodercli 以流式方式把回复送回侧栏,并读取、写入、编辑、搜索仓库中的文件。
8+
- **`@` 引用** — 把仓库笔记、当前选区或外部目录加入上下文,显示为可移除标签。
9+
- **Inline Edit** — 就地改写选中的笔记文字,接受前先给出 diff 预览。
10+
- **Slash Commands & Skills** — `/` 打开内置与项目级命令;skills、agents、hooks 与终端共用同一套 Qoder CLI 项目文件。
11+
- **Permission Modes** — 在聊天工具栏选择询问审批、自动审批或完全访问。
12+
- **`#` 指令模式** — 空输入框中编写自定义指令,先润色再应用。
13+
- **`!` Bash 模式** — 在仓库目录运行 shell 命令;需在设置 → 实验性功能中启用。
14+
- **模型与强度** — 模型选择器按模型调节推理强度,并显示 Qoder Agent SDK 上报的上下文用量。
15+
- **MCP Servers** — 通过 Model Context Protocol(stdio、SSE、HTTP)连接外部工具,应用内配置。
16+
- **标签与历史** — 多个聊天标签各自保有历史,支持续接、分叉、回退。
17+
- **Subagents** — 嵌套的智能体运行分组内联渲染。
18+
- **回合摘要** — 完成的回合把执行过程折叠成可展开的「执行步骤」行;编辑过的文件折叠成卡片,点击打开只读的逐文件 diff 弹窗。

0 commit comments

Comments
 (0)