larksuite / larksuite/cli

feat: expose message read status when fetching IM messages

Open
#1,649 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

domain/core domain/im enhancement
Dominant language
Go
Stars
17.3k
Forks
1.4k
Avg merge
2d 4h
Merged PRs (30d)
105

Description

Feature request

Please expose the read status of IM messages when fetching or inspecting messages through lark-cli.

Motivation

Agent workflows often use lark-cli or related skills to pull Lark/Feishu messages for triage, summarization, or follow-up. Today there is no obvious way in the CLI output to tell whether a fetched message has already been read.

For automation, this matters because agents need to distinguish unread items from already-read context. Without read-state information, downstream workflows either over-process messages or have to rely on external UI/manual state.

Desired behavior

When fetching messages, include read-state metadata in the structured output where the underlying Lark API supports it. For example:

lark-cli im +messages --chat-id <chat_id> --include-read-status --as user
lark-cli im +message --message-id <message_id> --include-read-status --as user

The JSON output could include fields such as:

{
  "message_id": "...",
  "chat_id": "...",
  "read_status": "read",
  "is_read": true
}

Exact field names can follow existing lark-cli conventions and the Lark OpenAPI response shape.

Scope

This request is about reading/exposing message read status in CLI results. It is not asking for a command that marks messages or chats as read.

Why this matters

This would make message triage workflows much more reliable: fetch messages -> inspect read/unread state -> process only the relevant items or preserve that metadata for downstream automation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the lark-cli im +messages and im +message entry points and inspect the underlying Lark OpenAPI response shape for read-state fields. Determine how structured output and existing option conventions should expose that metadata, then verify both commands return it without adding mark-as-read behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.