Skip to content

Commit

Permalink
Update README with plugin description and usage instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
ae86jack committed Mar 17, 2024
1 parent c0a1ff3 commit 2843f3e
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 84 deletions.
104 changes: 20 additions & 84 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,96 +1,32 @@
# Obsidian ai zhipu
<h4 align="center">
<p>
<b>English</b> |
<a href="README_zh.md">中文</a>
<p>
</h4>

This is a sample plugin for Obsidian (https://obsidian.md).
# Introduction

This project uses Typescript to provide type checking and documentation.
The repo depends on the latest plugin API (obsidian.d.ts) in Typescript Definition format, which contains TSDoc comments describing what it does.

**Note:** The Obsidian API is still in early alpha and is subject to change at any time!

This sample plugin demonstrates some of the basic functionality the plugin API can do.
- Adds a ribbon icon, which shows a Notice when clicked.
- Adds a command "Open Sample Modal" which opens a Modal.
- Adds a plugin setting tab to the settings page.
- Registers a global click event and output 'click' to the console.
- Registers a global interval which logs 'setInterval' to the console.

## First time developing plugins?

Quick starting guide for new plugin devs:

- Check if [someone already developed a plugin for what you want](https://obsidian.md/plugins)! There might be an existing plugin similar enough that you can partner up with.
- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it).
- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder.
- Install NodeJS, then run `npm i` in the command line under your repo folder.
- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`.
- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`.
- Reload Obsidian to load the new version of your plugin.
- Enable plugin in settings window.
- For updates to the Obsidian API run `npm update` in the command line under your repo folder.

## Releasing new releases

- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release.
- Update your `versions.json` file with `"new-plugin-version": "minimum-obsidian-version"` so older versions of Obsidian can download an older version of your plugin that's compatible.
- Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix `v`. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases
- Upload the files `manifest.json`, `main.js`, `styles.css` as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release.
- Publish the release.

> You can simplify the version bump process by running `npm version patch`, `npm version minor` or `npm version major` after updating `minAppVersion` manually in `manifest.json`.
> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json`
## Adding your plugin to the community plugin list

- Check https://github.com/obsidianmd/obsidian-releases/blob/master/plugin-review.md
- Publish an initial version.
- Make sure you have a `README.md` file in the root of your repo.
- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin.
AI-zhipu is an Obsidian plugin that helps you utilize the Zhipu API to generate content, create images from text, answer questions based on knowledge databases, and more AI capabilities. You can customize prompt template to build your own exclusive knowledge management system based on Zhipu AI.

## How to use

- Clone this repo.
- Make sure your NodeJS is at least v16 (`node --version`).
- `npm i` or `yarn` to install dependencies.
- `npm run dev` to start compilation in watch mode.

## Manually installing the plugin

- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`.

## Improve code quality with eslint (optional)
- [ESLint](https://eslint.org/) is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code.
- To use eslint with this project, make sure to install eslint from terminal:
- `npm install -g eslint`
- To use eslint to analyze this project use this command:
- `eslint main.ts`
- eslint will then create a report with suggestions for code improvement by file and line number.
- If your source code is in a folder, such as `src`, you can use eslint with this command to analyze all files in that folder:
- `eslint .\src\`

## Funding URL
- Register an account on the ZhiPu website, obtain the API key, and enter it into the plugin settings.
- Enter edit mode
- Select the prompt, and activate the command "Generate from the selected text / line / block" , then select the prompt template.

You can include funding URLs where people who use your plugin can financially support it.
![image](docs/images/generate_content.gif)

The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file:
- Select the text of the block for easy copying to other places

```json
{
"fundingUrl": "https://buymeacoffee.com"
}
```
![image](docs/images/select_block.gif)

If you have multiple URLs, you can also do:
- View the details of the last chat in the chat details, including the prompt and token usage.

```json
{
"fundingUrl": {
"Buy Me a Coffee": "https://buymeacoffee.com",
"GitHub Sponsor": "https://github.com/sponsors",
"Patreon": "https://www.patreon.com/"
}
}
```
![image](docs/images/show_chat_details.png)

## API Documentation
## Install from Github

See https://github.com/obsidianmd/obsidian-api
1. From the release page, download `manifest.json` and `main.js` to `<vault>/.obsidian/plugins/ai-zhipu`
2. Refresh installed plugins
3. Enable AI Zhipu
32 changes: 32 additions & 0 deletions README_zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<h4 align="center">
<p>
<a href="README.md">English</a> |
<b>中文</b>
<p>
</h4>

# 简介

Ai-zhipu 是一个obsidian的插件,帮助你使用智谱API, 生成内容、文生图、基于知识库问答等等AI能力,你可以定制提示词模板,基于智谱AI来打造你的专属知识管理系统。

## 如何使用

-[智谱网站](https://open.bigmodel.cn)注册账号,获取API key,填入插件设置中
- 进入编辑模式
- 选中提示词,启动命令“生成内容(基于选中的文本、行、区块)”,选择提示词模板

![image](docs/images/zh/生成内容.gif)

- 选取区块的文本,方便复制到其他地方

![image](docs/images/zh/选取区块.gif)

- 在对话详情中查看上次对话的详情,详情包括提示词、tokens使用情况

![image](docs/images/zh/显示对话详情.png)

## 从Github安装

1. 从release页面下载`manifest.json``main.js``<vault>/.obsidian/plugins/ai-zhipu`
2. 刷新已安装的插件
3. 启用AI Zhipu
Binary file added docs/images/generate_content.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/select_block.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/show_chat_detail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/zh/显示对话详情.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/zh/生成内容.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/zh/选取区块.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2843f3e

Please sign in to comment.