VI.O is a lightweight IT support assistant prototype for internal help desk scenarios. It combines a FastAPI service, a static web UI, Markdown knowledge cards, optional BookStack synchronization, optional Dify workflow integration, and safety controls for high-risk operations.
This public version is a code skeleton and demo framework. It intentionally excludes private runtime data, real credentials, company knowledge packs, vector indexes, logs, Dify runtime volumes, and handoff notes.
- Knowledge-based IT question answering from local Markdown files.
- SOP-style troubleshooting responses.
- High-risk request detection with manual approval guidance.
- Ticket summary generation.
- User feedback and request audit helpers.
- Optional BookStack knowledge management integration.
- Optional Feishu/Lark bot bridge.
- Optional Dify workflow validation helpers.
- Optional read-only monitoring summary adapter.
- Never commit a real
.envfile. - Keep API keys, admin tokens, Feishu/Lark secrets, BookStack tokens, SMTP credentials, and Dify passwords out of source control.
- Do not expose raw monitoring APIs, shell execution, local files, secret stores, or admin APIs to end users.
- Treat account, permission, deletion, encryption, and production configuration requests as human-approval workflows.
pip install -r requirements.txt
copy .env.example .env
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Then open:
http://localhost:8000
If no LLM key is configured, the app can still run in a local template mode for basic flow testing.
Use .env.example for local development and .env.enterprise.example as a stricter production-style template.
Important settings:
LLM_API_KEY,LLM_BASE_URL,LLM_MODELADMIN_TOKEN- scoped service tokens such as
KNOWLEDGE_READ_TOKENandOPS_READ_TOKEN - optional BookStack, Feishu/Lark, Dify, and monitoring adapter configuration
app/ FastAPI application and domain logic
static/ Web UI
scripts/ Utility, validation, sync, and bot scripts
tests/ Regression tests
knowledge_base/ Local Markdown knowledge cards or public samples
ops/ Optional local service helpers
integrations/ Optional Dify/OpenAPI integration artifacts
The following are intentionally excluded from public commits:
.envand any credential files- runtime databases and queues under
data/ - logs under
logs/ - generated backups and reports under
outputs/ - Dify runtime checkout and volumes under
ops/dify/source/ - private ERP/OMS/company knowledge packs under
knowledge_base/systems/ - internal handoff/context files
python -m compileall app scripts tests
python -m pytestSome integration tests require local services or environment variables and should be run only in a controlled environment.