Metadata-Version: 2.4
Name: ChatLark
Version: 0.1.0
Summary: ChatArch Feishu/Lark bot helpers extracted from ChatTool.
Author-email: ChatArch <noreply@chatarch.org>
License-Expression: MIT
Project-URL: Homepage, https://github.com/ChatArch/ChatLark
Project-URL: Repository, https://github.com/ChatArch/ChatLark
Keywords: chatlark,chatarch,cli
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0
Requires-Dist: chatstyle<0.2.0,>=0.1.0
Requires-Dist: chatenv<0.3.0,>=0.2.0
Requires-Dist: lark-oapi==1.5.3
Requires-Dist: flask>=2.0
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: llm
Requires-Dist: chattool<8.0.0,>=7.1.0; extra == "llm"
Dynamic: license-file

<div align="center">
    <a href="https://pypi.python.org/pypi/ChatLark">
        <img src="https://img.shields.io/pypi/v/ChatLark.svg" alt="PyPI version" />
    </a>
    <a href="https://github.com/ChatArch/ChatLark/actions/workflows/ci.yml">
        <img src="https://github.com/ChatArch/ChatLark/actions/workflows/ci.yml/badge.svg" alt="Tests" />
    </a>
</div>

<div align="center">

[English](README.en.md) | [简体中文](README.md)
</div>

# ChatLark

ChatArch 的 Feishu/Lark bot helper 包，承接从 ChatTool 拆出的轻量机器人、消息发送、事件服务和消息内容构造能力。更广泛的 Feishu/Lark OpenAPI 操作仍优先使用官方 `lark-cli`。

## 快速开始

```bash
pip install -e ".[dev]"
chatlark --help
chatlark --version
chatlark send --help
chatlark serve --help
python -m pytest -q
python -m build
```

## CLI

```bash
chatlark info
chatlark send USER_ID "Hello"
chatlark send "Hello"                  # 使用 FEISHU_DEFAULT_RECEIVER_ID
chatlark send -t chat_id "Hello team" # 使用 FEISHU_DEFAULT_CHAT_ID
chatlark serve echo
chatlark serve webhook
```

AI 对话命令保留为可选边界，避免 ChatLark 基础包依赖 ChatTool 形成循环：

```bash
pip install "chatlark[llm]"
chatlark chat
chatlark serve ai --system "你是工作助手"
```

## Python API

```python
from chatlark import LarkBot, ChatSession

bot = LarkBot()
session = ChatSession(system="你是助手")

@bot.on_message
def chat(ctx):
    ctx.reply(session.chat(ctx.sender_id, ctx.text))

bot.start()
```

## 配置

ChatLark 复用 ChatEnv 的 Feishu 配置字段：

- `FEISHU_APP_ID`
- `FEISHU_APP_SECRET`
- `FEISHU_API_BASE`
- `FEISHU_DEFAULT_RECEIVER_ID`
- `FEISHU_DEFAULT_CHAT_ID`

可通过环境变量直接提供，也可以通过 `-e/--env` 指定 ChatEnv Feishu profile 或 `.env` 文件。

## 边界

- ChatLark：bot helper、消息发送、事件服务、消息上下文、消息内容构造。
- lark-cli：广泛 Feishu/Lark OpenAPI 操作和用户授权流程。
- ChatTool：迁移完成后只应保留有意设计的兼容入口或依赖连接，不再重复持有 Lark business logic。

## 开发说明

扩展前先阅读 `DEVELOP.md` 和 `AGENTS.md`。发布走 PyPI Trusted Publisher/OIDC workflow，不使用本地 token 上传正式版本。
