mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-29 14:45:24 +00:00
chore: rework plugin readmes, json changelogs and standalone repo setup
This commit is contained in:
1 parent
a8f383d2b3
commit
29a946d02e
500 files changed
+6729
-1250
No files matched your search
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"extends": ["@commitlint/config-conventional"],
|
||||
"rules": {
|
||||
"type-enum": [
|
||||
2,
|
||||
"always",
|
||||
[
|
||||
"feat",
|
||||
"fix",
|
||||
"docs",
|
||||
"style",
|
||||
"refactor",
|
||||
"perf",
|
||||
"test",
|
||||
"chore",
|
||||
"revert"
|
||||
]
|
||||
],
|
||||
"subject-case": [0]
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
custom: https://donate.termix.site/
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
# Overview
|
||||
|
||||
_Short summary of what this PR does_
|
||||
|
||||
- [ ] Added: ...
|
||||
- [ ] Updated: ...
|
||||
- [ ] Removed: ...
|
||||
- [ ] Fixed: ...
|
||||
|
||||
# Changes Made
|
||||
|
||||
_Detailed explanation of changes (if needed)_
|
||||
|
||||
- ...
|
||||
|
||||
# Related Issues
|
||||
|
||||
_Link any issues this PR addresses_
|
||||
|
||||
- Closes #ISSUE_NUMBER
|
||||
- Related to #ISSUE_NUMBER
|
||||
|
||||
# Screenshots / Demos
|
||||
|
||||
_(Optional: add before/after screenshots, GIFs, or console output)_
|
||||
|
||||
# Checklist
|
||||
|
||||
- [ ] Code follows project style guidelines
|
||||
- [ ] Supports mobile and desktop UI/app (if applicable)
|
||||
- [ ] Added the change to `CHANGELOG.json`
|
||||
- [ ] `npm run test`, `npm run typecheck` and `npm run validate` pass
|
||||
- [ ] I have read `CONTRIBUTING.md`
|
||||
- [ ] This is not a translation request. See [docs](https://docs.termix.site/translations)
|
||||
@@ -0,0 +1,9 @@
|
||||
node_modules
|
||||
dist
|
||||
coverage
|
||||
*.log
|
||||
.env
|
||||
*.tmxplug
|
||||
*.tmxplug.sig
|
||||
termix-plugin-signing.key
|
||||
.termix-tables-*
|
||||
@@ -0,0 +1 @@
|
||||
npx --no -- commitlint --edit "$1"
|
||||
@@ -0,0 +1 @@
|
||||
npx lint-staged
|
||||
@@ -0,0 +1,4 @@
|
||||
dist
|
||||
coverage
|
||||
node_modules
|
||||
package-lock.json
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"semi": true,
|
||||
"singleQuote": false,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "all",
|
||||
"printWidth": 80,
|
||||
"arrowParens": "always",
|
||||
"endOfLine": "lf"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Termix-SSH/Termix/main/packages/plugin-sdk/schema/changelog.schema.json",
|
||||
"releases": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"changes": [
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Ask about your hosts, snippets, fleets, alerts, automations and more"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Proposes changes instead of making them, and nothing runs until you approve it"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Can run safe read-only commands like `df` and `uptime` if you allow it"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Ask about a host right from its terminal"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible endpoint"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "AI Agents: run Pi, OpenCode, Claude Code or Codex on an SSH host using one of your Termix providers, with tool approvals, queued messages, attachments, Git diffs and worktrees"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "One-click install of the selected agent and Node.js, and a button to set up SSH loopback forwarding"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
## 1.0.0
|
||||
|
||||
First release, bundled with Termix 2.9.0.
|
||||
|
||||
Adds an AI assistant that can read your hosts, snippets, fleets, alerts and automations and suggest changes for you to approve. Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible provider.
|
||||
@@ -0,0 +1,37 @@
|
||||
# Contributing to AI Assistant
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm run build # build into dist/
|
||||
npm run test # run this plugin's tests
|
||||
npm run typecheck # type-check this plugin
|
||||
npm run validate # check manifest.json
|
||||
npm run format # format the code with Prettier
|
||||
```
|
||||
|
||||
## Settings
|
||||
|
||||
### Admin
|
||||
|
||||
- **AI assistant:** let users turn the assistant on. While this is off it is hidden and blocked for everyone
|
||||
- **Allowed private AI hosts:** hosts on your private network a provider may point at, such as a self-hosted Ollama
|
||||
|
||||
### User
|
||||
|
||||
- **Enable the AI assistant:** turn the assistant on for yourself
|
||||
- **Allow read-only diagnostic commands:** let the assistant run safe commands without asking
|
||||
- **Providers:** your AI providers, models and API keys
|
||||
|
||||
### Host
|
||||
|
||||
- **Enable AI Assistant:** let the assistant help in this host's terminal. Off by default
|
||||
|
||||
## Permissions
|
||||
|
||||
- `ai.use`: use the assistant. Admins and users have it by default.
|
||||
- `ai.manage_providers`: add, edit and remove AI providers and their API keys. Admins and users have it by default.
|
||||
- `ai.apply_proposals`: let the assistant carry out the changes it suggests. Admins and users have it by default.
|
||||
- `ai.services.use`: let other features call the assistant for you. Admins and users have it by default.
|
||||
- `ai.secrets.share`: let other features use the stored API key without seeing it. Admins and users have it by default.
|
||||
- `ai.agents`: run coding agents on SSH hosts. Only admins have it by default.
|
||||
+37
-39
@@ -1,50 +1,48 @@
|
||||
# AI Assistant
|
||||
<div align="center">
|
||||
|
||||
An AI assistant that can read your hosts, snippets, fleets, alerts and automations, and suggest changes for you to approve.
|
||||
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
|
||||
|
||||
<h1>AI Assistant</h1>
|
||||
|
||||
<p>An optional AI assistant that knows your servers</p>
|
||||
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
## Overview
|
||||
|
||||
AI Assistant is a chat that can read your Termix setup and propose changes for you to approve. It can also run coding agents on your SSH hosts.
|
||||
|
||||
<br />
|
||||
|
||||
## Features
|
||||
|
||||
- Chat with an assistant that can read your hosts, snippets, fleets, alerts, automations, workspaces, network graph and homepage.
|
||||
- The assistant suggests changes, and nothing is applied until you approve it.
|
||||
- Can run read-only diagnostic commands on a host if you allow it.
|
||||
- Open the assistant from the terminal toolbar with the current session as context.
|
||||
- Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible provider.
|
||||
- Ask about your hosts, snippets, fleets, alerts, automations and more
|
||||
- Proposes changes instead of making them, and nothing runs until you approve it
|
||||
- Can run safe read-only commands like `df` and `uptime` if you allow it
|
||||
- Ask about a host right from its terminal
|
||||
- Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible endpoint
|
||||
- Run Pi, OpenCode, Claude Code or Codex as a coding agent on an SSH host, using your own provider
|
||||
|
||||
## Settings
|
||||
|
||||
### Admin
|
||||
|
||||
- AI assistant: let users turn the assistant on. While this is off it is hidden for everyone.
|
||||
- Allowed private AI hosts: hosts on your private network a provider may point at, such as a self-hosted Ollama.
|
||||
|
||||
### User
|
||||
|
||||
- Enable the AI assistant: turn the assistant on for yourself.
|
||||
- Allow read-only diagnostic commands: let the assistant run safe commands on your hosts.
|
||||
- Providers: the AI providers, models and API keys you use.
|
||||
|
||||
### Host
|
||||
|
||||
- Enable AI Assistant: allow the assistant to work with this host.
|
||||
|
||||
## Permissions
|
||||
|
||||
- `ai.use`: Open the assistant and ask it things. Admins and users have it by default.
|
||||
- `ai.manage_providers`: Add, edit and remove AI providers and their API keys. Admins and users have it by default.
|
||||
- `ai.apply_proposals`: Let the assistant carry out the changes it suggests. Admins and users have it by default.
|
||||
- `ai.services.use`: Let other features call the assistant for you. Admins and users have it by default.
|
||||
- `ai.secrets.share`: Let other features use the stored AI API key without seeing it. Admins and users have it by default.
|
||||
<br />
|
||||
|
||||
## Services
|
||||
|
||||
Uses from other plugins:
|
||||
Uses from other plugins, each one optional:
|
||||
|
||||
- `workspaces.saved`, `network-topology.graph`, `snippets.access`, `fleets.access`, `terminal.history`, `automations.access` and `homepage.items` to read your data. Each one is optional.
|
||||
- `workspaces.saved`, `network-topology.graph`, `snippets.access`, `fleets.access`, `terminal.history`, `automations.access` and `homepage.items` to read your data
|
||||
|
||||
## Development
|
||||
<br />
|
||||
|
||||
```bash
|
||||
npm run build # build into dist/
|
||||
npm run test # run this plugin's tests
|
||||
npm run typecheck # type-check this plugin
|
||||
```
|
||||
## Support
|
||||
|
||||
To report a bug or request a feature, open a [support ticket](https://github.com/Termix-SSH/Support/issues/new/choose). You need to be logged in to GitHub. Please be as detailed as possible, preferably in English.
|
||||
|
||||
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
|
||||
|
||||
<br />
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the Apache License Version 2.0. See [LICENSE](https://github.com/Termix-SSH/Termix/blob/main/LICENSE) for more information.
|
||||
@@ -2,16 +2,16 @@
|
||||
"id": "ai",
|
||||
"name": "AI Assistant",
|
||||
"version": "1.0.0",
|
||||
"description": "An AI assistant that can read your hosts, snippets, fleets, alerts and automations, and suggest changes for you to approve.",
|
||||
"description": "An optional AI assistant that reads your setup and proposes changes for you to approve.",
|
||||
"author": {
|
||||
"name": "Termix"
|
||||
},
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"repository": "https://github.com/Termix-SSH/Termix",
|
||||
"category": "Productivity",
|
||||
"icon": "Sparkles",
|
||||
"engine": {
|
||||
"termix": ">=2.9.0",
|
||||
"termix": ">=26.10.0",
|
||||
"api": "1"
|
||||
},
|
||||
"capabilities": [
|
||||
|
||||
+14
-1
@@ -7,7 +7,10 @@
|
||||
"build": "termix-plugin build",
|
||||
"test": "termix-plugin test",
|
||||
"typecheck": "tsc -p .",
|
||||
"validate": "termix-plugin validate"
|
||||
"validate": "termix-plugin validate",
|
||||
"format": "prettier --write .",
|
||||
"format:check": "prettier --check .",
|
||||
"prepare": "husky || true"
|
||||
},
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "^0.120.0",
|
||||
@@ -16,6 +19,8 @@
|
||||
"remark-gfm": "^4.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^21.2.2",
|
||||
"@commitlint/config-conventional": "^21.2.0",
|
||||
"@termix/plugin-sdk": "^1.0.0",
|
||||
"@testing-library/dom": "^10.4.2",
|
||||
"@testing-library/react": "^16.3.3",
|
||||
@@ -23,7 +28,10 @@
|
||||
"@types/react": "^19.2.18",
|
||||
"@types/react-dom": "^19.2.4",
|
||||
"better-sqlite3": "^13.0.3",
|
||||
"husky": "^9.1.7",
|
||||
"jsdom": "^30.0.1",
|
||||
"lint-staged": "^17.2.0",
|
||||
"prettier": "3.9.9",
|
||||
"vitest": "^4.1.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@@ -33,5 +41,10 @@
|
||||
"react": "^19.2.8",
|
||||
"sonner": "^2.0.8",
|
||||
"ssh2": "^1.17.0"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{ts,tsx,js,jsx,mjs,cjs,json,css,md}": [
|
||||
"prettier --write"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user