A lightweight code & document formatting display service
Project description
PeekView
A lightweight code & document formatting display service.
Agent(AI)产出 → Peek 格式化 → 人类友好查看
快速开始
安装
pip install peekview
启动服务
# 本地开发
peekview serve
# 生产部署(指定端口和主机)
peekview serve --host 0.0.0.0 --port 8080
服务启动后,访问 http://localhost:8080 即可使用 Web 界面。
命令行用法
创建条目
# 从文件创建
peekview create file.txt -s "My document"
# 从多文件创建
peekview create src/*.py -s "Python project" -t python -t cli
# 从标准输入创建
echo "print('hello')" | peekview create -s "From stdin" --from-stdin
# 指定自定义 slug
peekview create README.md -s "Documentation" --slug docs
查看条目
# 查看条目详情
peekview get my-entry
# 列出入库(支持分页)
peekview list
peekview list --page 2 --per-page 50
# 搜索条目(FTS5 全文搜索)
peekview list -q "python function"
# 按标签过滤
peekview list -t python -t cli
删除条目
# 删除条目(会要求确认)
peekview delete my-entry
# 强制删除(无需确认)
peekview delete my-entry --force
配置
通过环境变量配置:
| 变量 | 默认值 | 说明 |
|---|---|---|
PEEKVIEW_DATA_DIR |
~/.peekview/data |
文件存储目录 |
PEEKVIEW_DB_PATH |
~/.peekview/peek.db |
SQLite 数据库路径 |
PEEKVIEW_ALLOWED_PATHS |
[] |
允许读取的本地路径列表 |
PEEKVIEW_HOST |
127.0.0.1 |
服务绑定地址 |
PEEKVIEW_PORT |
8080 |
服务端口 |
PEEKVIEW_API_KEY |
`` | API 认证密钥(可选) |
PEEKVIEW_CORS_ORIGINS |
http://localhost:5173 |
CORS 允许来源 |
配置文件
也可以将配置写入 .env 文件:
PEEKVIEW_DATA_DIR=/var/peekview/data
PEEKVIEW_DB_PATH=/var/peekview/peekview.db
PEEKVIEW_HOST=0.0.0.0
PEEKVIEW_PORT=8080
PEEKVIEW_API_KEY=your-secret-key
特性
- 🎨 代码高亮 - 基于 Shiki 的语法高亮,支持 100+ 语言
- 📝 Markdown 渲染 - 支持 GitHub 风格 Markdown
- 🔍 全文搜索 - 基于 SQLite FTS5 的高性能搜索
- 📂 多文件支持 - 单条目支持多文件,树形展示
- 🌓 主题切换 - 深色/浅色模式,自动跟随系统
- 📱 移动端适配 - 响应式设计,底部工具栏
- 🔗 URL 友好 - 支持 slug 和文件路径参数
- 🔒 安全防护 - 路径遍历防护、API 认证、XSS 过滤
技术栈
- 后端: FastAPI + SQLModel + SQLite (FTS5)
- 前端: Vue 3 + Vite + Shiki + TypeScript
- CLI: Click + Rich
开发
# 克隆仓库
git clone https://github.com/randomgitsrc/peekview.git
cd peekview/backend
# 安装开发依赖
pip install -e ".[test,dev]"
# 运行测试
make test
# 格式化代码
make format
# 启动开发服务器
make dev
许可证
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
peekview-0.1.13.tar.gz
(3.3 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file peekview-0.1.13.tar.gz.
File metadata
- Download URL: peekview-0.1.13.tar.gz
- Upload date:
- Size: 3.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
499cae6e28b885e400bd74bdddcf0846036c5e6866e1ee6af52a7331085df22c
|
|
| MD5 |
86a588db2db6158d3826346a0fc0be81
|
|
| BLAKE2b-256 |
4ff6dfde1a04a9835adb3483595ca4f9de320fa02abc7091519d859fb4239983
|
File details
Details for the file peekview-0.1.13-py3-none-any.whl.
File metadata
- Download URL: peekview-0.1.13-py3-none-any.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72bb0db7aa2d127b5b3fbed276122bdce76c2d64d90403f4a36ea10ab15478ed
|
|
| MD5 |
f77eba4c5f6775ace6793fc0ef082aa1
|
|
| BLAKE2b-256 |
546126ecdca7dd5277a345e6159da0ce43e4be3eed329c7f1568cb44ad1be08d
|